Changeset 3816


Ignore:
Timestamp:
Oct 14, 2011 4:15:15 AM (13 years ago)
Author:
bennylp
Message:

Committing re #1388: Support for OpenCORE AMR-NB codec (thank you Dan Arrhenius for the contribution!)

Location:
pjproject/branches/1.x
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/1.x/aconfigure

    r3599 r3816  
    597597ac_linux_poll 
    598598ac_cross_compile 
     599opencore_amrnb_present 
     600opencore_amrnb_h_present 
     601ac_no_opencore_amrnb 
    599602libcrypto_present 
    600603libssl_present 
     
    722725with_ipp_arch 
    723726enable_ssl 
     727enable_opencore_amrnb 
    724728' 
    725729      ac_precious_vars='build_alias 
     
    13741378                          --with-ipp-samples options 
    13751379  --disable-ssl           Exclude SSL support the build (default: autodetect) 
     1380 
     1381  --disable-opencore-amrnb 
     1382                          Exclude OpenCORE AMR-NB support from the build 
     1383                          (default: autodetect) 
    13761384 
    13771385 
     
    62606268 
    62616269 
     6270# Check whether --enable-opencore_amrnb was given. 
     6271if test "${enable_opencore_amrnb+set}" = set; then : 
     6272  enableval=$enable_opencore_amrnb; 
     6273                if test "$enable_opencore_amrnb" = "no"; then 
     6274                 ac_no_opencore_amrnb=1 
     6275                 $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0" >>confdefs.h 
     6276 
     6277                 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenCORE AMR-NB support is disabled... yes" >&5 
     6278$as_echo "Checking if OpenCORE AMR-NB support is disabled... yes" >&6; } 
     6279                fi 
     6280 
     6281else 
     6282 
     6283                { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for OpenCORE AMR-NB installations.." >&5 
     6284$as_echo "checking for OpenCORE AMR-NB installations.." >&6; } 
     6285 
     6286 
     6287                ac_fn_c_check_header_mongrel "$LINENO" "opencore-amrnb/interf_enc.h" "ac_cv_header_opencore_amrnb_interf_enc_h" "$ac_includes_default" 
     6288if test "x$ac_cv_header_opencore_amrnb_interf_enc_h" = x""yes; then : 
     6289  opencore_amrnb_h_present=1 
     6290fi 
     6291 
     6292 
     6293                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Encoder_Interface_init in -lopencore-amrnb" >&5 
     6294$as_echo_n "checking for Encoder_Interface_init in -lopencore-amrnb... " >&6; } 
     6295if test "${ac_cv_lib_opencore_amrnb_Encoder_Interface_init+set}" = set; then : 
     6296  $as_echo_n "(cached) " >&6 
     6297else 
     6298  ac_check_lib_save_LIBS=$LIBS 
     6299LIBS="-lopencore-amrnb  $LIBS" 
     6300cat confdefs.h - <<_ACEOF >conftest.$ac_ext 
     6301/* end confdefs.h.  */ 
     6302 
     6303/* Override any GCC internal prototype to avoid an error. 
     6304   Use char because int might match the return type of a GCC 
     6305   builtin and then its argument prototype would still apply.  */ 
     6306#ifdef __cplusplus 
     6307extern "C" 
     6308#endif 
     6309char Encoder_Interface_init (); 
     6310int 
     6311main () 
     6312{ 
     6313return Encoder_Interface_init (); 
     6314  ; 
     6315  return 0; 
     6316} 
     6317_ACEOF 
     6318if ac_fn_c_try_link "$LINENO"; then : 
     6319  ac_cv_lib_opencore_amrnb_Encoder_Interface_init=yes 
     6320else 
     6321  ac_cv_lib_opencore_amrnb_Encoder_Interface_init=no 
     6322fi 
     6323rm -f core conftest.err conftest.$ac_objext \ 
     6324    conftest$ac_exeext conftest.$ac_ext 
     6325LIBS=$ac_check_lib_save_LIBS 
     6326fi 
     6327{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_opencore_amrnb_Encoder_Interface_init" >&5 
     6328$as_echo "$ac_cv_lib_opencore_amrnb_Encoder_Interface_init" >&6; } 
     6329if test "x$ac_cv_lib_opencore_amrnb_Encoder_Interface_init" = x""yes; then : 
     6330  opencore_amrnb_present=1 && LIBS="$LIBS -lopencore-amrnb" 
     6331fi 
     6332 
     6333                if test "x$opencore_amrnb_h_present" = "x1" -a "x$opencore_amrnb_present" = "x1"; then 
     6334                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenCORE AMR-NB library found, AMR-NB support enabled" >&5 
     6335$as_echo "OpenCORE AMR-NB library found, AMR-NB support enabled" >&6; } 
     6336                        $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 1" >>confdefs.h 
     6337 
     6338                else 
     6339                        ac_no_opencore_amrnb=1 
     6340                        $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0" >>confdefs.h 
     6341 
     6342                fi 
     6343 
     6344fi 
     6345 
     6346 
     6347 
    62626348 
    62636349 
  • pjproject/branches/1.x/aconfigure.ac

    r3599 r3816  
    998998              ]) 
    999999 
     1000dnl # Include opencore-amrnb support 
     1001AC_SUBST(ac_no_opencore_amrnb) 
     1002AC_ARG_ENABLE(opencore_amrnb, 
     1003              AC_HELP_STRING([--disable-opencore-amrnb], 
     1004                             [Exclude OpenCORE AMR-NB support from the build (default: autodetect)]) 
     1005              , 
     1006              [ 
     1007                if test "$enable_opencore_amrnb" = "no"; then 
     1008                 [ac_no_opencore_amrnb=1] 
     1009                 AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,0) 
     1010                 AC_MSG_RESULT([Checking if OpenCORE AMR-NB support is disabled... yes]) 
     1011                fi 
     1012              ], 
     1013              [ 
     1014                AC_MSG_RESULT([checking for OpenCORE AMR-NB installations..]) 
     1015                AC_SUBST(opencore_amrnb_h_present) 
     1016                AC_SUBST(opencore_amrnb_present) 
     1017                AC_CHECK_HEADER(opencore-amrnb/interf_enc.h,[opencore_amrnb_h_present=1]) 
     1018                AC_CHECK_LIB(opencore-amrnb,Encoder_Interface_init,[opencore_amrnb_present=1 && LIBS="$LIBS -lopencore-amrnb"]) 
     1019                if test "x$opencore_amrnb_h_present" = "x1" -a "x$opencore_amrnb_present" = "x1"; then 
     1020                        AC_MSG_RESULT([OpenCORE AMR-NB library found, AMR-NB support enabled]) 
     1021                        AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,1) 
     1022                else 
     1023                        [ac_no_opencore_amrnb=1] 
     1024                        AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,0) 
     1025                fi 
     1026              ]) 
     1027 
    10001028 
    10011029dnl ########################################## 
  • pjproject/branches/1.x/pjmedia/build/os-auto.mak.in

    r3295 r3816  
    3030AC_NO_G722_CODEC=@ac_no_g722_codec@ 
    3131AC_NO_G7221_CODEC=@ac_no_g7221_codec@ 
     32AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@ 
    3233 
    3334export CODEC_OBJS= 
     
    8283endif 
    8384 
     85ifeq ($(AC_NO_OPENCORE_AMRNB),1) 
     86export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0 
     87else 
     88export CODEC_OBJS += opencore_amrnb.o 
     89endif 
     90 
    8491 
    8592# 
  • pjproject/branches/1.x/pjmedia/include/pjmedia-codec.h

    r3553 r3816  
    3434#include <pjmedia-codec/ipp_codecs.h> 
    3535#include <pjmedia-codec/passthrough.h> 
     36#include <pjmedia-codec/opencore_amrnb.h> 
    3637 
    3738 
  • pjproject/branches/1.x/pjmedia/include/pjmedia-codec/config.h

    r3553 r3816  
    314314 
    315315/** 
     316 * OpenCORE AMR-NB codec is enabled by default. 
     317 */ 
     318#ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     319#   define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC     0 
     320#endif 
     321 
     322/** 
    316323 * Default G.722.1 codec encoder and decoder level adjustment.  
    317324 * If the value is non-zero, then PCM input samples to the encoder will  
  • pjproject/branches/1.x/pjmedia/include/pjmedia-codec/config_auto.h.in

    r3295 r3816  
    7070#endif 
    7171 
     72/* OpenCORE AMR-NB codec */ 
     73#ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     74#undef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     75#endif 
     76 
    7277 
    7378#endif  /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */ 
  • pjproject/branches/1.x/pjmedia/src/test/mips_test.c

    r3553 r3816  
    917917#endif  /* PJMEDIA_HAS_G7221_CODEC */ 
    918918 
     919#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     920/* AMR-NB benchmark benchmark */ 
     921static pjmedia_port* amr_encode_decode(pj_pool_t *pool, 
     922                                       unsigned clock_rate, 
     923                                       unsigned channel_count, 
     924                                       unsigned samples_per_frame, 
     925                                       unsigned flags, 
     926                                       struct test_entry *te) 
     927{ 
     928    return codec_encode_decode(pool, "AMR/8000",  
     929                               &pjmedia_codec_opencore_amrnb_init, 
     930                               &pjmedia_codec_opencore_amrnb_deinit, 
     931                               clock_rate, channel_count, 
     932                               samples_per_frame, flags, te); 
     933} 
     934#endif  /* PJMEDIA_HAS_OPENCORE_AMRNB_CODEC */ 
     935 
    919936#if defined(PJMEDIA_HAS_L16_CODEC) && PJMEDIA_HAS_L16_CODEC!=0 
    920937static pj_status_t init_l16_default(pjmedia_endpt *endpt) 
     
    19741991} 
    19751992#endif  /* PJMEDIA_HAS_G7221_CODEC */  
     1993 
     1994/* AMR-NB stream */ 
     1995#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     1996static pjmedia_port* create_stream_amr( pj_pool_t *pool, 
     1997                                        unsigned clock_rate, 
     1998                                        unsigned channel_count, 
     1999                                        unsigned samples_per_frame, 
     2000                                        unsigned flags, 
     2001                                        struct test_entry *te) 
     2002{ 
     2003    return create_stream(pool, "AMR/8000", &pjmedia_codec_opencore_amrnb_init,  
     2004                         &pjmedia_codec_opencore_amrnb_deinit,  
     2005                         PJ_FALSE, PJ_FALSE, PJ_FALSE, 
     2006                         clock_rate, channel_count, 
     2007                         samples_per_frame, flags, te); 
     2008} 
     2009#endif  /* PJMEDIA_HAS_OPENCORE_AMRNB_CODEC */  
    19762010 
    19772011/***************************************************************************/ 
     
    23652399        { "codec encode/decode - G.722.1c", OP_PUT, K32, &g7221c_encode_decode}, 
    23662400#endif 
     2401#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     2402        { "codec encode/decode - AMR-NB", OP_PUT, K8, &amr_encode_decode}, 
     2403#endif 
    23672404#if PJMEDIA_HAS_L16_CODEC 
    23682405        { "codec encode/decode - L16/8000/1", OP_PUT, K8, &l16_8_encode_decode}, 
     
    23902427        { "stream TX/RX - G.722.1c", OP_PUT_GET, K32, &create_stream_g7221c}, 
    23912428#endif 
     2429#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     2430        { "stream TX/RX - AMR-NB", OP_PUT_GET, K8, &create_stream_amr}, 
     2431#endif 
    23922432    }; 
    23932433 
  • pjproject/branches/1.x/pjsip-apps/src/samples/encdec.c

    r3553 r3816  
    254254    CHECK( pjmedia_codec_g722_init(mept) ); 
    255255#endif 
     256#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     257    CHECK( pjmedia_codec_opencore_amrnb_init(mept) ); 
     258#endif 
    256259 
    257260    pj_gettimeofday(&t0); 
  • pjproject/branches/1.x/pjsip-apps/src/samples/jbsim.c

    r3553 r3816  
    494494#if defined(PJMEDIA_HAS_INTEL_IPP) && PJMEDIA_HAS_INTEL_IPP != 0 
    495495    pjmedia_codec_ipp_init(g_app.endpt); 
     496#endif 
     497#if defined(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC) && (PJMEDIA_HAS_OPENCORE_AMRNB_CODEC != 0) 
     498    pjmedia_codec_opencore_amrnb_init(g_app.endpt); 
    496499#endif 
    497500#if defined(PJMEDIA_HAS_L16_CODEC) && PJMEDIA_HAS_L16_CODEC != 0 
  • pjproject/branches/1.x/pjsip-apps/src/samples/pcaputil.c

    r3588 r3816  
    306306#endif  /* PJMEDIA_HAS_L16_CODEC */ 
    307307 
     308#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     309    T( pjmedia_codec_opencore_amrnb_init(app.mept) ); 
     310#endif  /* PJMEDIA_HAS_L16_CODEC */ 
     311 
    308312#if PJMEDIA_HAS_INTEL_IPP 
    309313    T( pjmedia_codec_ipp_init(app.mept) ); 
  • pjproject/branches/1.x/pjsip-apps/src/samples/pjsip-perf.c

    r3553 r3816  
    940940#if defined(PJMEDIA_HAS_G722_CODEC) && PJMEDIA_HAS_G722_CODEC!=0 
    941941    pjmedia_codec_g722_init(app.med_endpt); 
     942#endif 
     943#if defined(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC) && PJMEDIA_HAS_OPENCORE_AMRNB_CODEC!=0 
     944    pjmedia_codec_opencore_amrnb_init(app.med_endpt); 
    942945#endif 
    943946 
  • pjproject/branches/1.x/pjsip-apps/src/samples/streamutil.c

    r3553 r3816  
    123123#if defined(PJMEDIA_HAS_G722_CODEC) && PJMEDIA_HAS_G722_CODEC!=0 
    124124    status = pjmedia_codec_g722_init(med_endpt); 
     125    PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); 
     126#endif 
     127 
     128#if defined(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC) && PJMEDIA_HAS_OPENCORE_AMRNB_CODEC!=0 
     129    status = pjmedia_codec_opencore_amrnb_init(med_endpt); 
    125130    PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); 
    126131#endif 
  • pjproject/branches/1.x/pjsip/src/pjsua-lib/pjsua_media.c

    r3585 r3816  
    275275#endif  /* PJMEDIA_HAS_L16_CODEC */ 
    276276 
     277#if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     278    /* Register OpenCORE AMR-NB codec */ 
     279    status = pjmedia_codec_opencore_amrnb_init(pjsua_var.med_endpt); 
     280    if (status != PJ_SUCCESS) { 
     281        pjsua_perror(THIS_FILE, "Error initializing OpenCORE AMR-NB codec", 
     282                     status); 
     283        return status; 
     284    } 
     285#endif /* PJMEDIA_HAS_OPENCORE_AMRNB_CODEC */ 
     286 
    277287 
    278288    /* Save additional conference bridge parameters for future 
     
    729739            pjmedia_codec_l16_deinit(); 
    730740#       endif   /* PJMEDIA_HAS_L16_CODEC */ 
     741 
     742#       if PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 
     743            pjmedia_codec_opencore_amrnb_deinit(); 
     744#       endif   /* PJMEDIA_HAS_OPENCORE_AMRNB_CODEC */ 
    731745 
    732746        pjmedia_endpt_destroy(pjsua_var.med_endpt); 
Note: See TracChangeset for help on using the changeset viewer.