Changeset 5630


Ignore:
Timestamp:
Jul 19, 2017 10:29:10 AM (7 years ago)
Author:
riza
Message:

Re #2029: Support for G.729 backend implementation from bcg729.

Location:
pjproject/trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure

    r5624 r5630  
    628628ac_no_webrtc 
    629629ac_no_yuv 
     630ac_no_bcg729 
    630631opus_present 
    631632opus_h_present 
     
    827828with_opus 
    828829enable_opus 
     830with_bcg729 
     831enable_bcg729 
    829832enable_libyuv 
    830833enable_libwebrtc 
     
    15071510                          autodetect) 
    15081511 
     1512  --disable-bcg729        Disable bcg729 (default: not disabled) 
    15091513  --disable-libyuv        Exclude libyuv in the build 
    15101514  --disable-libwebrtc     Exclude libwebrtc in the build 
     
    15591563  --with-silk=DIR         Specify alternate SILK prefix 
    15601564  --with-opus=DIR         Specify alternate OPUS prefix 
     1565  --with-bcg729=DIR       Specify alternate bcg729 prefix 
    15611566 
    15621567Some influential environment variables: 
     
    84738478 
    84748479 
     8480# Check whether --with-bcg729 was given. 
     8481if test "${with_bcg729+set}" = set; then : 
     8482  withval=$with_bcg729; 
     8483else 
     8484  with_bcg729=no 
     8485 
     8486fi 
     8487 
     8488 
     8489if test "x$ac_cross_compile" != "x" -a "x$with_bcg729" = "xno"; then 
     8490    enable_bcg729=no 
     8491fi 
     8492 
     8493 
     8494# Check whether --enable-bcg729 was given. 
     8495if test "${enable_bcg729+set}" = set; then : 
     8496  enableval=$enable_bcg729; 
     8497                if test "$enable_bcg729" = "no"; then 
     8498                  ac_no_bcg729=1 
     8499                  $as_echo "#define PJMEDIA_HAS_BCG729 0" >>confdefs.h 
     8500 
     8501                  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if bcg729 is disabled... yes" >&5 
     8502$as_echo "Checking if bcg729 is disabled... yes" >&6; } 
     8503                fi 
     8504 
     8505else 
     8506 
     8507                  if test "x$with_bcg729" != "xno" -a "x$with_bcg729" != "x"; then 
     8508                        BCG729_PREFIX=$with_bcg729 
     8509                        BCG729_CFLAGS="-I$BCG729_PREFIX/include" 
     8510                        BCG729_LDFLAGS="-L$BCG729_PREFIX/lib" 
     8511                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using bcg729 prefix... $with_bcg729" >&5 
     8512$as_echo "Using bcg729 prefix... $with_bcg729" >&6; } 
     8513                  else 
     8514                        BCG729_CFLAGS="" 
     8515                        BCG729_LDFLAGS="" 
     8516                  fi 
     8517 
     8518                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking bcg729 usability" >&5 
     8519$as_echo_n "checking bcg729 usability... " >&6; } 
     8520 
     8521                  BCG729_LIBS="-lbcg729" 
     8522 
     8523                  SAVED_LIBS="$LIBS" 
     8524                  SAVED_LDFLAGS="$LDFLAGS" 
     8525                  SAVED_CFLAGS="$CFLAGS" 
     8526 
     8527                  LIBS="$BCG729_LIBS $LIBS" 
     8528                  LDFLAGS="$BCG729_LDFLAGS $LDFLAGS" 
     8529                  CFLAGS="$BCG729_CFLAGS $CFLAGS" 
     8530 
     8531                  cat confdefs.h - <<_ACEOF >conftest.$ac_ext 
     8532/* end confdefs.h.  */ 
     8533#include <bcg729/encoder.h> 
     8534                                                    #include <bcg729/decoder.h> 
     8535 
     8536int 
     8537main () 
     8538{ 
     8539initBcg729EncoderChannel(0); 
     8540 
     8541  ; 
     8542  return 0; 
     8543} 
     8544_ACEOF 
     8545if ac_fn_c_try_link "$LINENO"; then : 
     8546 
     8547                                   $as_echo "#define PJMEDIA_HAS_BCG729 1" >>confdefs.h 
     8548 
     8549                                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 
     8550$as_echo "ok" >&6; } 
     8551 
     8552else 
     8553 
     8554                                   ac_no_bcg729=1 
     8555                                   $as_echo "#define PJMEDIA_HAS_BCG729 0" >>confdefs.h 
     8556 
     8557                                   LIBS="$SAVED_LIBS" 
     8558                                   LDFLAGS="$SAVED_LDFLAGS" 
     8559                                   CFLAGS="$SAVED_CFLAGS" 
     8560                                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 
     8561$as_echo "no" >&6; } 
     8562 
     8563fi 
     8564rm -f core conftest.err conftest.$ac_objext \ 
     8565    conftest$ac_exeext conftest.$ac_ext 
     8566 
     8567 
     8568fi 
     8569 
     8570 
     8571 
     8572 
    84758573# Check whether --enable-libyuv was given. 
    84768574if test "${enable_libyuv+set}" = set; then : 
  • pjproject/trunk/aconfigure.ac

    r5624 r5630  
    17881788              ]) 
    17891789 
     1790dnl # bcg729 prefix 
     1791AC_ARG_WITH(bcg729, 
     1792            AS_HELP_STRING([--with-bcg729=DIR], 
     1793                           [Specify alternate bcg729 prefix]), 
     1794            [], 
     1795            [with_bcg729=no] 
     1796            ) 
     1797 
     1798dnl # Do not use default bcg729 installation if we are cross-compiling 
     1799if test "x$ac_cross_compile" != "x" -a "x$with_bcg729" = "xno"; then 
     1800    enable_bcg729=no 
     1801fi 
     1802 
     1803dnl # bcg729 
     1804AC_SUBST(ac_no_bcg729) 
     1805AC_ARG_ENABLE(bcg729, 
     1806              AS_HELP_STRING([--disable-bcg729], 
     1807                             [Disable bcg729 (default: not disabled)]), 
     1808              [ 
     1809                if test "$enable_bcg729" = "no"; then 
     1810                  [ac_no_bcg729=1] 
     1811                  AC_DEFINE(PJMEDIA_HAS_BCG729,0) 
     1812                  AC_MSG_RESULT([Checking if bcg729 is disabled... yes]) 
     1813                fi 
     1814              ], 
     1815              [ 
     1816                  if test "x$with_bcg729" != "xno" -a "x$with_bcg729" != "x"; then 
     1817                        BCG729_PREFIX=$with_bcg729 
     1818                        BCG729_CFLAGS="-I$BCG729_PREFIX/include" 
     1819                        BCG729_LDFLAGS="-L$BCG729_PREFIX/lib"  
     1820                        AC_MSG_RESULT([Using bcg729 prefix... $with_bcg729]) 
     1821                  else 
     1822                        BCG729_CFLAGS="" 
     1823                        BCG729_LDFLAGS=""  
     1824                  fi 
     1825 
     1826                  AC_MSG_CHECKING([bcg729 usability]) 
     1827 
     1828                  BCG729_LIBS="-lbcg729" 
     1829                   
     1830                  SAVED_LIBS="$LIBS" 
     1831                  SAVED_LDFLAGS="$LDFLAGS" 
     1832                  SAVED_CFLAGS="$CFLAGS" 
     1833                   
     1834                  LIBS="$BCG729_LIBS $LIBS" 
     1835                  LDFLAGS="$BCG729_LDFLAGS $LDFLAGS" 
     1836                  CFLAGS="$BCG729_CFLAGS $CFLAGS" 
     1837                   
     1838                  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bcg729/encoder.h> 
     1839                                                    #include <bcg729/decoder.h> 
     1840                                                  ]], 
     1841                                                  [initBcg729EncoderChannel(0);] 
     1842                                                 )], 
     1843                                 [  
     1844                                   AC_DEFINE(PJMEDIA_HAS_BCG729,1) 
     1845                                   AC_MSG_RESULT(ok) 
     1846                                  ], 
     1847                                 [ 
     1848                                   [ac_no_bcg729=1] 
     1849                                   AC_DEFINE(PJMEDIA_HAS_BCG729,0) 
     1850                                   LIBS="$SAVED_LIBS" 
     1851                                   LDFLAGS="$SAVED_LDFLAGS" 
     1852                                   CFLAGS="$SAVED_CFLAGS" 
     1853                                   AC_MSG_RESULT(no) 
     1854                                 ]) 
     1855 
     1856              ]) 
     1857                   
     1858 
    17901859dnl # Include libyuv 
    17911860AC_SUBST(ac_no_yuv) 
  • pjproject/trunk/pjmedia/build/os-auto.mak.in

    r5606 r5630  
    7272AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@ 
    7373AC_NO_OPENCORE_AMRWB=@ac_no_opencore_amrwb@ 
     74AC_NO_BCG729=@ac_no_bcg729@ 
    7475 
    7576export CODEC_OBJS= 
     
    138139export CODEC_OBJS += opencore_amr.o 
    139140endif 
     141endif 
     142 
     143ifeq ($(AC_NO_BCG729),) 
     144export CODEC_OBJS += bcg729.o 
    140145endif 
    141146 
  • pjproject/trunk/pjmedia/build/pjmedia_codec.vcxproj

    r5539 r5630  
    195195  <PropertyGroup> 
    196196    <PlatformToolset>$(BuildToolset)</PlatformToolset> 
    197     <CharacterSet Condition="'$(API_Family)'!='WinDesktop'"></CharacterSet> 
    198   </PropertyGroup>   
     197    <CharacterSet Condition="'$(API_Family)'!='WinDesktop'"> 
     198    </CharacterSet> 
     199  </PropertyGroup> 
    199200  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 
    200201  <ImportGroup Label="ExtensionSettings"> 
     
    511512    <ClCompile Include="..\src\pjmedia-codec\amr_sdp_match.c" /> 
    512513    <ClCompile Include="..\src\pjmedia-codec\audio_codecs.c" /> 
     514    <ClCompile Include="..\src\pjmedia-codec\bcg729.c" /> 
    513515    <ClCompile Include="..\src\pjmedia-codec\ffmpeg_vid_codecs.c" /> 
    514516    <ClCompile Include="..\src\pjmedia-codec\g722.c" /> 
     
    535537    <ClInclude Include="..\include\pjmedia-codec\amr_sdp_match.h" /> 
    536538    <ClInclude Include="..\include\pjmedia-codec\audio_codecs.h" /> 
     539    <ClInclude Include="..\include\pjmedia-codec\bcg729.h" /> 
    537540    <ClInclude Include="..\include\pjmedia-codec\config.h" /> 
    538541    <ClInclude Include="..\include\pjmedia-codec\ffmpeg_vid_codecs.h" /> 
  • pjproject/trunk/pjmedia/build/pjmedia_codec.vcxproj.filters

    r5422 r5630  
    7575      <Filter>Source Files</Filter> 
    7676    </ClCompile> 
     77    <ClCompile Include="..\src\pjmedia-codec\bcg729.c"> 
     78      <Filter>Source Files</Filter> 
     79    </ClCompile> 
    7780  </ItemGroup> 
    7881  <ItemGroup> 
     
    146149      <Filter>Header Files</Filter> 
    147150    </ClInclude> 
     151    <ClInclude Include="..\include\pjmedia-codec\bcg729.h"> 
     152      <Filter>Header Files</Filter> 
     153    </ClInclude> 
    148154  </ItemGroup> 
    149155</Project> 
  • pjproject/trunk/pjmedia/include/pjmedia-codec.h

    r5603 r5630  
    4141#include <pjmedia-codec/silk.h> 
    4242#include <pjmedia-codec/opus.h> 
     43#include <pjmedia-codec/bcg729.h> 
    4344 
    4445 
  • pjproject/trunk/pjmedia/include/pjmedia-codec/config.h

    r5624 r5630  
    470470#endif 
    471471 
     472 
     473/** 
     474 * Enable G.729 codec using BCG729 backend. 
     475 * 
     476 * Default: 0  
     477 */ 
     478#ifndef PJMEDIA_HAS_BCG729 
     479#   define PJMEDIA_HAS_BCG729                           0 
     480#endif 
     481 
     482 
    472483/** 
    473484 * Specify if FFMPEG codecs are available. 
  • pjproject/trunk/pjmedia/include/pjmedia-codec/config_auto.h.in

    r5239 r5630  
    9090#endif 
    9191 
     92/* G.729 codec with BCG729 backend */ 
     93#ifndef PJMEDIA_HAS_BCG729 
     94#undef PJMEDIA_HAS_BCG729 
     95#endif 
     96 
    9297#endif  /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */ 
    9398 
  • pjproject/trunk/pjmedia/src/pjmedia-codec/audio_codecs.c

    r5239 r5630  
    129129#endif 
    130130 
     131#if PJMEDIA_HAS_BCG729 
     132    /* Register BCG729 */ 
     133    status = pjmedia_codec_bcg729_init(endpt); 
     134    if (status != PJ_SUCCESS) 
     135        return status; 
     136#endif 
     137 
    131138    return PJ_SUCCESS; 
    132139} 
Note: See TracChangeset for help on using the changeset viewer.