This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Codec Engine: SPHENC CE Function Calls

I am trying to use G711 codecs provided in DVSDK in our application.

I find that the codec is implemented using SPHENC calls and CE does not support  this functionality like SPHENC_create and SPHENC_process call. These symbols are not present.

 

I checked the DMAI implementation but those use SPHENC1 layer instead of SPHENC layer. Why is this implemented in this way as the codec use SPHENC header files?

For ex: the SPHENC layer gives output bytes generated in seperate variable compared to SPHENC1 layer

 

Codec engine version i used is 2_24, is there any latest production version release of CE that i need to migrate if i want to use SPHENC calls?

 

Regards,

 

Raghu

 

  • CE supports SPHENC.

    If you're getting a 'missing symbols' linker error, it may be because you're not pulling in a codec that says it implements ISPHENC.  Running the config script generates a linker command file (with a list of libraries for the linker) that should be passed to your application's link step.  When the config script brings in a codec that implements ISPHENC, the ti/sdo/ce/speech package should contribute the libraries that provide SPHENC_process(), SPHENC_control(), etc.  You might check that generated linker cmd file to ensure the list of libs includes ti/sdo/ce/speech/lib/* libraries.

    FWIW, you can see an example of a SPHENC app in examples/ti/sdo/ce/examples/apps/speech_copy.

    Chris

  • Chris,

     

    Thanks for the details.

    Now i am using the same codec G711 shared in DVSDK example folder which uses SPHENC layer. and I get linker error for unresolved symbols.

    But is replace it with SPHENC1 calls, it works fine . I am using 2_24 release , is there any new CE version that i should use?

     

    Regards,

     

    Raghu

     

  • I've moved this to the Linux forum to give visibility to the DVSDK/DMAI groups.  This seems more like a build and Linux system integration issue than a codec issue.

    SPHENC and SPHENC1 are _completely_ different interfaces.  They're as different from a framework POV as audio and video encoders.  If this codec is working when invoking it with SPHENC1, it must be a ISPHENC1 codec (not ISPHENC), and therefore you must use SPHENC1_* APIs to manage it.

    Your replies are unclear to me - please try to be explicit when naming which G711 example in the DVSDK you tried and got the linker error for... maybe post the changes you made (were they in a config script?), and perhaps the build error log.  A lot of times those concrete code snippets and build output help fill in the blanks.

    Chris