From 8c501041321d5c52cc34fe648f5d03736e2253a2 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 20 Dec 2005 18:27:58 +0000 Subject: [PATCH] gsm isn't done yet... don't use it yet. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@177 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/codec/gsm/Makefile | 340 ++++-------------------- src/mod/mod_codec_g729/mod_codec_g729.c | 2 +- w32/vsnet/Freeswitch.sln | 15 +- 3 files changed, 62 insertions(+), 295 deletions(-) diff --git a/libs/codec/gsm/Makefile b/libs/codec/gsm/Makefile index 46284640aa..1f15079509 100644 --- a/libs/codec/gsm/Makefile +++ b/libs/codec/gsm/Makefile @@ -30,39 +30,6 @@ WAV49 = -DWAV49 ######### define this, and read about the GSM_OPT_WAV49 option in the ######### manual page on gsm_option(3). -#K6OPT = -DK6OPT -#K6OPT = -######### Define to enable MMXTM optimizations for x86 architecture CPU's -######### which support MMX instructions. This should be newer pentiums, -######### ppro's, etc, as well as the AMD K6 and K7. The compile will -######### probably require gcc. - -ifneq (${OSARCH},Darwin) -ifneq (${OSARCH},SunOS) -ifneq (${PROC},x86_64) -ifneq (${PROC},ultrasparc) -ifneq ($(shell uname -m),ppc) -ifneq ($(shell uname -m),ppc64) -ifneq ($(shell uname -m),alpha) -ifneq ($(shell uname -m),armv4l) -ifneq (${PROC},sparc64) -ifneq (${PROC},arm) -ifneq (${PROC},ppc) -ifneq (${PROC},ppc64) -OPTIMIZE+=-march=$(PROC) -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif - #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only. #This works for even old (2.96) versions of gcc and provides a small boost either way. #A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it. @@ -133,16 +100,6 @@ GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3 - -# Where do you want to install the toast binaries and their manpage? -# -# Leave TOAST_INSTALL_ROOT empty to not install the toast binaries outside -# of this directory. - -TOAST_INSTALL_ROOT = $(INSTALL_ROOT) -TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin -TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 - # Other tools SHELL = /bin/sh @@ -165,8 +122,6 @@ RANLIB = ranlib # Local Directories ROOT = . -ADDTST = $(ROOT)/add-test -TST = $(ROOT)/tst MAN = $(ROOT)/man BIN = $(ROOT)/bin SRC = $(ROOT)/src @@ -180,7 +135,7 @@ DEBUG = -DNDEBUG ######### Remove -DNDEBUG to enable assertions. CFLAGS += $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) \ - $(LTP_CUT) $(WAV49) $(K6OPT) $(CCINC) -I$(INC) + $(LTP_CUT) $(WAV49) $(CCINC) -I$(INC) ######### It's $(CC) $(CFLAGS) LFLAGS = $(PG) $(LDFLAGS) $(LDINC) @@ -192,168 +147,79 @@ LFLAGS = $(PG) $(LDFLAGS) $(LDINC) LIBGSM = $(LIB)/libgsm.a LIBGSMSO= $(LIB)/libgsm.so -TOAST = $(BIN)/toast -UNTOAST = $(BIN)/untoast -TCAT = $(BIN)/tcat - # Headers GSM_HEADERS = $(INC)/gsm.h HEADERS = $(INC)/proto.h \ - $(INC)/unproto.h \ + $(INC)/unproto.h \ $(INC)/config.h \ - $(INC)/private.h \ - $(INC)/gsm.h \ - $(INC)/toast.h \ + $(INC)/private.h \ + $(INC)/gsm.h \ + $(INC)/toast.h \ $(TLS)/taste.h # Sources -GSM_SOURCES = $(SRC)/add.c \ - $(SRC)/code.c \ - $(SRC)/debug.c \ - $(SRC)/decode.c \ - $(SRC)/long_term.c \ - $(SRC)/lpc.c \ - $(SRC)/preprocess.c \ - $(SRC)/rpe.c \ +SOURCES = $(SRC)/add.c \ + $(SRC)/gsm_create.c \ $(SRC)/gsm_destroy.c \ - $(SRC)/gsm_decode.c \ - $(SRC)/gsm_encode.c \ - $(SRC)/gsm_explode.c \ - $(SRC)/gsm_implode.c \ - $(SRC)/gsm_create.c \ - $(SRC)/gsm_print.c \ - $(SRC)/gsm_option.c \ - $(SRC)/short_term.c \ + $(SRC)/gsm_decode.c \ + $(SRC)/gsm_encode.c \ + $(SRC)/gsm_option.c \ + $(SRC)/code.c \ + $(SRC)/decode.c \ + $(SRC)/gsm_lpc.c \ + $(SRC)/rpe.c \ + $(SRC)/preprocess.c \ + $(SRC)/long_term.c \ + $(SRC)/short_term.c \ $(SRC)/table.c -ifeq (${OSARCH},Linux) -ifneq ($(shell uname -m),x86_64) -ifneq ($(shell uname -m),ppc) -ifneq ($(shell uname -m),ppc64) -ifneq ($(shell uname -m),alpha) -ifneq ($(shell uname -m),armv4l) -ifneq ($(shell uname -m),sparc64) -ifneq (${PROC},arm) -GSM_SOURCES+= $(SRC)/k6opt.s -endif -endif -endif -endif -endif -endif -endif -endif - -TOAST_SOURCES = $(SRC)/toast.c \ - $(SRC)/toast_lin.c \ - $(SRC)/toast_ulaw.c \ - $(SRC)/toast_alaw.c \ - $(SRC)/toast_audio.c - -SOURCES = $(GSM_SOURCES) \ - $(TOAST_SOURCES) \ - $(ADDTST)/add_test.c \ - $(TLS)/sour.c \ - $(TLS)/ginger.c \ - $(TLS)/sour1.dta \ - $(TLS)/sour2.dta \ - $(TLS)/bitter.c \ - $(TLS)/bitter.dta \ - $(TLS)/taste.c \ - $(TLS)/sweet.c \ - $(TST)/cod2lin.c \ - $(TST)/cod2txt.c \ - $(TST)/gsm2cod.c \ - $(TST)/lin2cod.c \ - $(TST)/lin2txt.c # Object files -GSM_OBJECTS = $(SRC)/add.o \ - $(SRC)/code.o \ - $(SRC)/debug.o \ - $(SRC)/decode.o \ - $(SRC)/long_term.o \ - $(SRC)/lpc.o \ - $(SRC)/preprocess.o \ - $(SRC)/rpe.o \ +OBJECTS = $(SRC)/add.o \ + $(SRC)/gsm_create.o \ $(SRC)/gsm_destroy.o \ - $(SRC)/gsm_decode.o \ - $(SRC)/gsm_encode.o \ - $(SRC)/gsm_explode.o \ - $(SRC)/gsm_implode.o \ - $(SRC)/gsm_create.o \ - $(SRC)/gsm_print.o \ - $(SRC)/gsm_option.o \ - $(SRC)/short_term.o \ + $(SRC)/gsm_decode.o \ + $(SRC)/gsm_encode.o \ + $(SRC)/gsm_option.o \ + $(SRC)/code.o \ + $(SRC)/decode.o \ + $(SRC)/gsm_lpc.o \ + $(SRC)/rpe.o \ + $(SRC)/preprocess.o \ + $(SRC)/long_term.o \ + $(SRC)/short_term.o \ $(SRC)/table.o -ifeq (${OSARCH},Linux) -ifneq ($(shell uname -m), x86_64) -ifneq ($(shell uname -m), ppc) -ifneq ($(shell uname -m), ppc64) -ifneq ($(shell uname -m), alpha) -ifneq ($(shell uname -m), sparc64) -ifneq ($(shell uname -m), armv4l) -GSM_OBJECTS+= $(SRC)/k6opt.o -endif -endif -endif -endif -endif -endif -endif - -TOAST_OBJECTS = $(SRC)/toast.o \ - $(SRC)/toast_lin.o \ - $(SRC)/toast_ulaw.o \ - $(SRC)/toast_alaw.o \ - $(SRC)/toast_audio.o - -OBJECTS = $(GSM_OBJECTS) $(TOAST_OBJECTS) - # Manuals -GSM_MANUALS = $(MAN)/gsm.3 \ +MANUALS = $(MAN)/gsm.3 \ $(MAN)/gsm_explode.3 \ - $(MAN)/gsm_option.3 \ + $(MAN)/gsm_option.3 \ $(MAN)/gsm_print.3 -TOAST_MANUALS = $(MAN)/toast.1 - -MANUALS = $(GSM_MANUALS) $(TOAST_MANUALS) $(MAN)/bitter.1 - # Other stuff in the distribution STUFF = ChangeLog \ INSTALL \ - MACHINES \ - MANIFEST \ - Makefile \ - README \ - $(ADDTST)/add_test.dta \ - $(TLS)/bitter.dta \ - $(TST)/run + MACHINES \ + MANIFEST \ + Makefile \ + README # Install targets -GSM_INSTALL_TARGETS = \ +GSM_INSTALL_TARGETS = \ $(GSM_INSTALL_LIB)/libgsm.a \ - $(GSM_INSTALL_INC)/gsm.h \ - $(GSM_INSTALL_MAN)/gsm.3 \ + $(GSM_INSTALL_INC)/gsm.h \ + $(GSM_INSTALL_MAN)/gsm.3 \ $(GSM_INSTALL_MAN)/gsm_explode.3 \ - $(GSM_INSTALL_MAN)/gsm_option.3 \ + $(GSM_INSTALL_MAN)/gsm_option.3 \ $(GSM_INSTALL_MAN)/gsm_print.3 -TOAST_INSTALL_TARGETS = \ - $(TOAST_INSTALL_BIN)/toast \ - $(TOAST_INSTALL_BIN)/tcat \ - $(TOAST_INSTALL_BIN)/untoast \ - $(TOAST_INSTALL_MAN)/toast.1 - # Default rules @@ -363,51 +229,27 @@ TOAST_INSTALL_TARGETS = \ # Target rules -all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) +all: $(LIBGSM) $(LIBGSMSO) @-echo $(ROOT): Done. -tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result - @-echo tst: Done. -addtst: $(ADDTST)/add $(ADDTST)/add_test.dta - $(ADDTST)/add < $(ADDTST)/add_test.dta > /dev/null - @-echo addtst: Done. - -misc: $(TLS)/sweet $(TLS)/bitter $(TLS)/sour $(TLS)/ginger \ - $(TST)/lin2txt $(TST)/cod2txt $(TST)/gsm2cod - @-echo misc: Done. - -install: toastinstall gsminstall +install: gsminstall @-echo install: Done. # The basic API: libgsm -$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) - $(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc +$(LIBGSMSO): $(LIB) $(OBJECTS) + $(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(OBJECTS) -lc ln -fs libgsm.so.1.0.10 lib/libgsm.so.1 ln -fs libgsm.so.1.0.10 lib/libgsm.so -$(LIBGSM): $(LIB) $(GSM_OBJECTS) +$(LIBGSM): $(LIB) $(OBJECTS) -rm $(RMFLAGS) $(LIBGSM) - $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) + $(AR) $(ARFLAGS) $(LIBGSM) $(OBJECTS) $(RANLIB) $(LIBGSM) -# Toast, Untoast and Tcat -- the compress-like frontends to gsm. - -$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) - $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB) - -$(UNTOAST): $(BIN) $(TOAST) - -rm $(RMFLAGS) $(UNTOAST) - $(LN) toast $(UNTOAST) - -$(TCAT): $(BIN) $(TOAST) - -rm $(RMFLAGS) $(TCAT) - $(LN) toast $(TCAT) - - # The local bin and lib directories $(BIN): @@ -424,39 +266,11 @@ gsminstall: $(MAKE) $(GSM_INSTALL_TARGETS) ; \ fi -toastinstall: - -if [ x"$(TOAST_INSTALL_ROOT)" != x ]; then \ - $(MAKE) $(TOAST_INSTALL_TARGETS); \ - fi - gsmuninstall: -if [ x"$(GSM_INSTALL_ROOT)" != x ] ; then \ rm $(RMFLAGS) $(GSM_INSTALL_TARGETS) ; \ fi -toastuninstall: - -if [ x"$(TOAST_INSTALL_ROOT)" != x ] ; then \ - rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \ - fi - -$(TOAST_INSTALL_BIN)/toast: $(TOAST) - -rm $@ - cp $(TOAST) $@ - chmod 755 $@ - -$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast - -rm $@ - ln $? $@ - -$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast - -rm $@ - ln $? $@ - -$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 - -rm $@ - cp $? $@ - chmod 444 $@ - $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3 -rm $@ cp $? $@ @@ -501,7 +315,7 @@ gsm-1.0.tar.Z: $(STUFF) $(SOURCES) $(HEADERS) $(MANUALS) # Clean -uninstall: toastuninstall gsmuninstall +uninstall: gsmuninstall @-echo uninstall: Done. semi-clean: @@ -514,70 +328,10 @@ semi-clean: -print | xargs rm $(RMFLAGS) clean: semi-clean - -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ - $(TOAST) $(TCAT) $(UNTOAST) \ + -rm $(RMFLAGS) $(LIBGSM) \ $(ROOT)/gsm-1.0.tar.Z rm -rf lib -# Two tools that helped me generate gsm_encode.c and gsm_decode.c, -# but aren't generally needed to port this. - -$(TLS)/sweet: $(TLS)/sweet.o $(TLS)/taste.o - $(LD) $(LFLAGS) -o $(TLS)/sweet \ - $(TLS)/sweet.o $(TLS)/taste.o $(LDLIB) - -$(TLS)/bitter: $(TLS)/bitter.o $(TLS)/taste.o - $(LD) $(LFLAGS) -o $(TLS)/bitter \ - $(TLS)/bitter.o $(TLS)/taste.o $(LDLIB) - -# A version of the same family that Jeff Chilton used to implement -# the WAV #49 GSM format. - -$(TLS)/ginger: $(TLS)/ginger.o $(TLS)/taste.o - $(LD) $(LFLAGS) -o $(TLS)/ginger \ - $(TLS)/ginger.o $(TLS)/taste.o $(LDLIB) - -$(TLS)/sour: $(TLS)/sour.o $(TLS)/taste.o - $(LD) $(LFLAGS) -o $(TLS)/sour \ - $(TLS)/sour.o $(TLS)/taste.o $(LDLIB) - -# Run $(ADDTST)/add < $(ADDTST)/add_test.dta to make sure the -# basic arithmetic functions work as intended. - -$(ADDTST)/add: $(ADDTST)/add_test.o - $(LD) $(LFLAGS) -o $(ADDTST)/add $(ADDTST)/add_test.o $(LDLIB) -# Various conversion programs between linear, text, .gsm and the code -# format used by the tests we ran (.cod). We paid for the test data, -# so I guess we can't just provide them with this package. Still, -# if you happen to have them lying around, here's the code. -# -# You can use gsm2cod | cod2txt independently to look at what's -# coded inside the compressed frames, although this shouldn't be -# hard to roll on your own using the gsm_print() function from -# the API. - -$(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run - ( cd $(TST); ./run ) - -$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM) - $(LD) $(LFLAGS) -o $(TST)/lin2txt \ - $(TST)/lin2txt.o $(LIBGSM) $(LDLIB) - -$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM) - $(LD) $(LFLAGS) -o $(TST)/lin2cod \ - $(TST)/lin2cod.o $(LIBGSM) $(LDLIB) - -$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM) - $(LD) $(LFLAGS) -o $(TST)/gsm2cod \ - $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB) - -$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM) - $(LD) $(LFLAGS) -o $(TST)/cod2txt \ - $(TST)/cod2txt.o $(LIBGSM) $(LDLIB) - -$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM) - $(LD) $(LFLAGS) -o $(TST)/cod2lin \ - $(TST)/cod2lin.o $(LIBGSM) $(LDLIB) diff --git a/src/mod/mod_codec_g729/mod_codec_g729.c b/src/mod/mod_codec_g729/mod_codec_g729.c index aa598f0673..490e76e498 100644 --- a/src/mod/mod_codec_g729/mod_codec_g729.c +++ b/src/mod/mod_codec_g729/mod_codec_g729.c @@ -24,7 +24,7 @@ * Contributor(s): * * Anthony Minessale II - * + * Michael Jerris * * mod_codec_g729.c -- G729 Codec Module * diff --git a/w32/vsnet/Freeswitch.sln b/w32/vsnet/Freeswitch.sln index 778012d715..c3b42b372f 100644 --- a/w32/vsnet/Freeswitch.sln +++ b/w32/vsnet/Freeswitch.sln @@ -1,6 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 +# Visual C++ Express 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchConsole", "FreeSwitchConsole.vcproj", "{1AF3A893-F7BE-43DD-B697-8AB2397C0D67}" ProjectSection(ProjectDependencies) = postProject {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} @@ -73,6 +73,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_test", "mod_event {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_codec_gsm", "..\..\src\mod\codec\mod_codec_gsm\mod_codec_gsm.vcproj", "{4926323F-4EA8-4B7D-A3D3-65488725988F}" + ProjectSection(ProjectDependencies) = postProject + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug DLL|Win32 = Debug DLL|Win32 @@ -201,6 +206,14 @@ Global {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Release DLL|Win32.Build.0 = Release|Win32 {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Release|Win32.ActiveCfg = Release|Win32 {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Release|Win32.Build.0 = Release|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Debug DLL|Win32.Build.0 = Debug|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Debug|Win32.ActiveCfg = Debug|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Debug|Win32.Build.0 = Debug|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Release DLL|Win32.ActiveCfg = Release|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Release DLL|Win32.Build.0 = Release|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Release|Win32.ActiveCfg = Release|Win32 + {4926323F-4EA8-4B7D-A3D3-65488725988F}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE