Ticket #774:
- Added build config for GNU autoconf & make. - Fixed some G.722.1 codes for linux & mingw32 targets, e.g: types defs, collision function name 'round'. git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2601 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
parent
3ec27ba23c
commit
56e380affa
10633
aconfigure
10633
aconfigure
File diff suppressed because it is too large
Load Diff
|
@ -533,6 +533,18 @@ AC_ARG_ENABLE(g722-codec,
|
|||
fi],
|
||||
AC_MSG_RESULT([Checking if G.722 codec is disabled...no]))
|
||||
|
||||
dnl # Include G722.1 codec
|
||||
AC_SUBST(ac_no_g7221_codec)
|
||||
AC_ARG_ENABLE(g7221-codec,
|
||||
AC_HELP_STRING([--disable-g7221-codec],
|
||||
[Exclude G.7221 codec in the build]),
|
||||
[if test "$enable_g7221_codec" = "no"; then
|
||||
[ac_no_g7221_codec=1]
|
||||
AC_DEFINE(PJMEDIA_HAS_G7221_CODEC,0)
|
||||
AC_MSG_RESULT([Checking if G.722.1 codec is disabled...yes])
|
||||
fi],
|
||||
AC_MSG_RESULT([Checking if G.722.1 codec is disabled...no]))
|
||||
|
||||
dnl # Include Speex codec
|
||||
AC_SUBST(ac_no_speex_codec)
|
||||
AC_ARG_ENABLE(speex-codec,
|
||||
|
|
|
@ -28,6 +28,11 @@ APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
|
|||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_g7221_codec@,1)
|
||||
APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq ($(findstring pa,@ac_pjmedia_snd@),)
|
||||
APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
|
||||
|
|
|
@ -96,7 +96,7 @@ export PJMEDIA_CODEC_OBJS += \
|
|||
$(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
|
||||
ipp_codecs.o $(CODEC_OBJS)
|
||||
export PJMEDIA_CODEC_CFLAGS += $(_CFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \
|
||||
$(ILBC_CFLAGS) $(IPP_CFLAGS)
|
||||
$(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS)
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
|
|
@ -28,6 +28,7 @@ AC_NO_GSM_CODEC=@ac_no_gsm_codec@
|
|||
AC_NO_SPEEX_CODEC=@ac_no_speex_codec@
|
||||
AC_NO_ILBC_CODEC=@ac_no_ilbc_codec@
|
||||
AC_NO_G722_CODEC=@ac_no_g722_codec@
|
||||
AC_NO_G7221_CODEC=@ac_no_g7221_codec@
|
||||
|
||||
export CODEC_OBJS=
|
||||
|
||||
|
@ -73,6 +74,13 @@ else
|
|||
export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
|
||||
endif
|
||||
|
||||
ifeq ($(AC_NO_G7221_CODEC),1)
|
||||
export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
|
||||
else
|
||||
export CODEC_OBJS += g7221.o
|
||||
export G7221_CFLAGS += -I$(THIRD_PARTY)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# PortAudio
|
||||
|
|
|
@ -24,6 +24,7 @@ AC_NO_GSM_CODEC=0
|
|||
AC_NO_SPEEX_CODEC=0
|
||||
AC_NO_ILBC_CODEC=0
|
||||
AC_NO_G722_CODEC=0
|
||||
AC_NO_G7221_CODEC=0
|
||||
|
||||
export CODEC_OBJS=
|
||||
|
||||
|
@ -70,6 +71,13 @@ else
|
|||
export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
|
||||
endif
|
||||
|
||||
ifeq ($(AC_NO_G7221_CODEC),1)
|
||||
export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
|
||||
else
|
||||
export CODEC_OBJS += g7221.o
|
||||
export G7221_CFLAGS += -I$(THIRD_PARTY)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# PortAudio
|
||||
|
|
|
@ -19,6 +19,7 @@ AC_NO_GSM_CODEC=0
|
|||
AC_NO_SPEEX_CODEC=0
|
||||
AC_NO_ILBC_CODEC=0
|
||||
AC_NO_G722_CODEC=0
|
||||
AC_NO_G7221_CODEC=0
|
||||
|
||||
export CODEC_OBJS=
|
||||
|
||||
|
@ -64,6 +65,13 @@ else
|
|||
export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
|
||||
endif
|
||||
|
||||
ifeq ($(AC_NO_G7221_CODEC),1)
|
||||
export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
|
||||
else
|
||||
export CODEC_OBJS += g7221.o
|
||||
export G7221_CFLAGS += -I$(THIRD_PARTY)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# PortAudio
|
||||
|
|
|
@ -20,6 +20,7 @@ AC_NO_GSM_CODEC=0
|
|||
AC_NO_SPEEX_CODEC=0
|
||||
AC_NO_ILBC_CODEC=0
|
||||
AC_NO_G722_CODEC=0
|
||||
AC_NO_G7221_CODEC=0
|
||||
|
||||
export CODEC_OBJS=
|
||||
|
||||
|
@ -66,6 +67,13 @@ else
|
|||
export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
|
||||
endif
|
||||
|
||||
ifeq ($(AC_NO_G7221_CODEC),1)
|
||||
export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
|
||||
else
|
||||
export CODEC_OBJS += g7221.o
|
||||
export G7221_CFLAGS += -I$(THIRD_PARTY)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# PortAudio
|
||||
|
|
|
@ -60,6 +60,11 @@
|
|||
#undef PJMEDIA_HAS_G722_CODEC
|
||||
#endif
|
||||
|
||||
/* G7221 codec */
|
||||
#ifndef PJMEDIA_HAS_G7221_CODEC
|
||||
#undef PJMEDIA_HAS_G7221_CODEC
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
*/
|
||||
#if defined(PJMEDIA_HAS_G7221_CODEC) && PJMEDIA_HAS_G7221_CODEC!=0
|
||||
|
||||
#include "../../third_party/g7221/common/defs.h"
|
||||
#include "../../../third_party/g7221/common/defs.h"
|
||||
|
||||
#define THIS_FILE "g7221.c"
|
||||
|
||||
|
|
|
@ -32,9 +32,10 @@ PORTAUDIO_LIB = ..\..\third_party\lib\libportaudio-$(TARGET)$(LIBEXT)
|
|||
RESAMPLE_LIB = ..\..\third_party\lib\libresample-$(TARGET)$(LIBEXT)
|
||||
SPEEX_LIB = ..\..\third_party\lib\libspeex-$(TARGET)$(LIBEXT)
|
||||
SRTP_LIB = ..\..\third_party\lib\libsrtp-$(TARGET)$(LIBEXT)
|
||||
G7221_LIB = ..\..\third_party\lib\libg7221codec-$(TARGET)$(LIBEXT)
|
||||
|
||||
THIRD_PARTY_LIBS = $(GSM_LIB) $(ILBC_LIB) $(PORTAUDIO_LIB) $(RESAMPLE_LIB) \
|
||||
$(SPEEX_LIB) $(SRTP_LIB)
|
||||
$(SPEEX_LIB) $(SRTP_LIB) $(G7221_LIB)
|
||||
|
||||
LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \
|
||||
$(PJSIP_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_AUDIODEV_LIB) \
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
include ../../../build.mak
|
||||
include ../../../build/common.mak
|
||||
|
||||
export LIBDIR := ../../lib
|
||||
|
||||
RULES_MAK := $(PJDIR)/build/rules.mak
|
||||
|
||||
export G7221_CODEC_LIB := ../../lib/libg7221codec-$(TARGET_NAME)$(LIBEXT)
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
|
||||
$(CFLAGS) $(CC_INC)../.. $(CC_INC)../../g7221/common \
|
||||
$(CC_INC)../../g7221/common/stl-files \
|
||||
$(CC_INC)../../../pjlib/include
|
||||
export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
|
||||
$(HOST_CXXFLAGS) $(CXXFLAGS)
|
||||
export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
|
||||
$(LDFLAGS)
|
||||
|
||||
export G7221_CODEC_SRCDIR = ../../g7221
|
||||
export G7221_CODEC_OBJS = common/common.o common/huff_tab.o common/tables.o \
|
||||
common/stl-files/basop32.o common/stl-files/count.o \
|
||||
decode/coef2sam.o decode/dct4_s.o decode/decoder.o \
|
||||
encode/dct4_a.o encode/sam2coef.o encode/encoder.o
|
||||
|
||||
export G7221_CODEC_CFLAGS = $(_CFLAGS)
|
||||
|
||||
|
||||
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
|
||||
###############################################################################
|
||||
# Main entry
|
||||
#
|
||||
# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
|
||||
#
|
||||
TARGETS := libg7221codec
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
doc:
|
||||
cd .. && doxygen docs/doxygen.cfg
|
||||
|
||||
dep: depend
|
||||
distclean: realclean
|
||||
|
||||
.PHONY: dep depend libg7221codec clean realclean distclean
|
||||
|
||||
libg7221codec:
|
||||
$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $(G7221_CODEC_LIB)
|
||||
|
||||
clean print_lib:
|
||||
$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
|
||||
|
||||
realclean:
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),.ilbc-$(TARGET_NAME).depend),$(HOST_RMR))
|
||||
|
||||
$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
|
||||
|
||||
depend:
|
||||
$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
|
||||
|
||||
|
|
@ -11,6 +11,11 @@ ifneq (@ac_no_speex_codec@,1)
|
|||
DIRS += speex
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_g7221_codec@,1)
|
||||
DIRS += g7221
|
||||
endif
|
||||
|
||||
ifneq ($(findstring pa,@ac_pjmedia_snd@),)
|
||||
DIRS += portaudio
|
||||
endif
|
||||
|
||||
|
|
|
@ -2,5 +2,6 @@ DIRS += gsm
|
|||
DIRS += ilbc
|
||||
DIRS += speex
|
||||
DIRS += portaudio
|
||||
DIRS += g7221
|
||||
|
||||
|
||||
|
|
|
@ -2,5 +2,6 @@ DIRS += gsm
|
|||
DIRS += ilbc
|
||||
DIRS += speex
|
||||
DIRS += portaudio
|
||||
DIRS += g7221
|
||||
|
||||
|
||||
|
|
|
@ -2,5 +2,6 @@ DIRS += gsm
|
|||
DIRS += ilbc
|
||||
DIRS += speex
|
||||
DIRS += portaudio
|
||||
DIRS += g7221
|
||||
|
||||
|
||||
|
|
|
@ -711,7 +711,7 @@ Word16 extract_l (Word32 L_var1)
|
|||
| range : 0xffff 8000 <= var_out <= 0x0000 7fff. |
|
||||
|___________________________________________________________________________|
|
||||
*/
|
||||
Word16 round (Word32 L_var1)
|
||||
Word16 itu_round (Word32 L_var1)
|
||||
{
|
||||
Word16 var_out;
|
||||
Word32 L_rounded;
|
||||
|
|
|
@ -54,7 +54,7 @@ Word32 L_mult (Word16 var1, Word16 var2); /* Long mult, 1 */
|
|||
Word16 negate (Word16 var1); /* Short negate, 1 */
|
||||
Word16 extract_h (Word32 L_var1); /* Extract high, 1 */
|
||||
Word16 extract_l (Word32 L_var1); /* Extract low, 1 */
|
||||
Word16 round (Word32 L_var1); /* Round, 1 */
|
||||
Word16 itu_round (Word32 L_var1); /* Round, 1 */
|
||||
Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2); /* Mac, 1 */
|
||||
Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2); /* Msu, 1 */
|
||||
Word32 L_macNs (Word32 L_var3, Word16 var1, Word16 var2); /* Mac without
|
||||
|
|
|
@ -16,6 +16,22 @@
|
|||
#ifndef TYPEDEF_H
|
||||
#define TYPEDEF_H "$Id $"
|
||||
|
||||
#if 1
|
||||
|
||||
/* Use PJLIB types definitions (for PJLIB sync'd platforms compatibility?
|
||||
* e.g: mingw32 was not supported by the original version).
|
||||
*/
|
||||
#include <pj/types.h>
|
||||
|
||||
typedef pj_int8_t Word8;
|
||||
typedef pj_int16_t Word16;
|
||||
typedef pj_int32_t Word32;
|
||||
typedef pj_uint16_t UWord16;
|
||||
typedef pj_uint32_t UWord32;
|
||||
typedef int Flag;
|
||||
|
||||
#else
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(_MSC_VER) || defined(__ZTC__) || defined(__CYGWIN__)
|
||||
|
@ -52,4 +68,7 @@ typedef unsigned int UWord32;
|
|||
typedef unsigned long UWord32;
|
||||
#endif
|
||||
|
||||
#endif /* if 0 */
|
||||
|
||||
#endif /* TYPEDEF_H */
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ void rmlt_coefs_to_samples(Word16 *coefs,
|
|||
move32();
|
||||
sum = L_mac(sum,*win_new++, *--new_ptr);
|
||||
sum = L_mac(sum,*--win_old, *old_ptr++);
|
||||
*out_ptr++ = round(L_shl(sum,2));
|
||||
*out_ptr++ = itu_round(L_shl(sum,2));
|
||||
move16();
|
||||
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ void rmlt_coefs_to_samples(Word16 *coefs,
|
|||
move32();
|
||||
sum = L_mac(sum,*win_new++, *new_ptr++);
|
||||
sum = L_mac(sum,negate(*--win_old), *--old_ptr);
|
||||
*out_ptr++ = round(L_shl(sum,2));
|
||||
*out_ptr++ = itu_round(L_shl(sum,2));
|
||||
move16();
|
||||
}
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ void dct_type_iv_s (Word16 *input,Word16 *output,Word16 dct_length)
|
|||
{
|
||||
sum = L_mac(sum, pair_ptr[i],dct_core_s[i][k]);
|
||||
}
|
||||
buffer_swap[k] = round(sum);
|
||||
buffer_swap[k] = itu_round(sum);
|
||||
}
|
||||
|
||||
pair_ptr += CORE_SIZE;
|
||||
|
@ -401,25 +401,25 @@ void dct_type_iv_s (Word16 *input,Word16 *output,Word16 dct_length)
|
|||
|
||||
sum = L_mac(sum,cos_even,in_low_even);
|
||||
sum = L_mac(sum,negate(msin_even),in_high_even);
|
||||
out_low_even = round(L_shl(sum,1));
|
||||
out_low_even = itu_round(L_shl(sum,1));
|
||||
|
||||
sum = 0L;
|
||||
move32();
|
||||
sum = L_mac(sum,msin_even,in_low_even);
|
||||
sum = L_mac(sum,cos_even,in_high_even);
|
||||
out_high_even = round(L_shl(sum,1));
|
||||
out_high_even = itu_round(L_shl(sum,1));
|
||||
|
||||
sum = 0L;
|
||||
move32();
|
||||
sum = L_mac(sum,cos_odd,in_low_odd);
|
||||
sum = L_mac(sum,msin_odd,in_high_odd);
|
||||
out_low_odd = round(L_shl(sum,1));
|
||||
out_low_odd = itu_round(L_shl(sum,1));
|
||||
|
||||
sum = 0L;
|
||||
move32();
|
||||
sum = L_mac(sum,msin_odd,in_low_odd);
|
||||
sum = L_mac(sum,negate(cos_odd),in_high_odd);
|
||||
out_high_odd = round(L_shl(sum,1));
|
||||
out_high_odd = itu_round(L_shl(sum,1));
|
||||
|
||||
*out_ptr_low++ = out_low_even;
|
||||
move16();
|
||||
|
|
|
@ -225,7 +225,7 @@ void dct_type_iv_a (Word16 *input,Word16 *output,Word16 dct_length)
|
|||
{
|
||||
sum = L_mac(sum, pair_ptr[i],dct_core_a[i][k]);
|
||||
}
|
||||
buffer_swap[k] = round(sum);
|
||||
buffer_swap[k] = itu_round(sum);
|
||||
}
|
||||
/* address arithmetic */
|
||||
pair_ptr += CORE_SIZE;
|
||||
|
@ -312,23 +312,23 @@ void dct_type_iv_a (Word16 *input,Word16 *output,Word16 dct_length)
|
|||
sum=L_mac(sum,cos_even,in_low_even);
|
||||
neg_msin_even = negate(msin_even);
|
||||
sum=L_mac(sum,neg_msin_even,in_high_even);
|
||||
out_low_even = round(sum);
|
||||
out_low_even = itu_round(sum);
|
||||
|
||||
sum = 0L;
|
||||
sum=L_mac(sum,msin_even,in_low_even);
|
||||
sum=L_mac(sum,cos_even,in_high_even);
|
||||
out_high_even= round(sum);
|
||||
out_high_even= itu_round(sum);
|
||||
|
||||
sum = 0L;
|
||||
sum=L_mac(sum,cos_odd,in_low_odd);
|
||||
sum=L_mac(sum,msin_odd,in_high_odd);
|
||||
out_low_odd= round(sum);
|
||||
out_low_odd= itu_round(sum);
|
||||
|
||||
sum = 0L;
|
||||
sum=L_mac(sum,msin_odd,in_low_odd);
|
||||
neg_cos_odd = negate(cos_odd);
|
||||
sum=L_mac(sum,neg_cos_odd,in_high_odd);
|
||||
out_high_odd= round(sum);
|
||||
out_high_odd= itu_round(sum);
|
||||
|
||||
*out_ptr_low++ = out_low_even;
|
||||
*--out_ptr_high = out_high_even;
|
||||
|
|
|
@ -120,7 +120,7 @@ Word16 samples_to_rmlt_coefs(Word16 *new_samples,Word16 *old_samples,Word16 *coe
|
|||
|
||||
acca = L_mac(acca,*--win_low, *--sam_low);
|
||||
acca = L_mac(acca,*win_high++, *sam_high++);
|
||||
temp = round(acca);
|
||||
temp = itu_round(acca);
|
||||
|
||||
*dst_ptr++ = temp;
|
||||
move16();
|
||||
|
@ -145,7 +145,7 @@ Word16 samples_to_rmlt_coefs(Word16 *new_samples,Word16 *old_samples,Word16 *coe
|
|||
neg_win_low = negate(*win_low++);
|
||||
samp_high = *--sam_high;
|
||||
acca = L_mac(acca, neg_win_low, samp_high);
|
||||
temp = round(acca);
|
||||
temp = itu_round(acca);
|
||||
|
||||
*dst_ptr++=temp;
|
||||
move16();
|
||||
|
|
Loading…
Reference in New Issue