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.

OMAP5 - gstreamer encoding functionality

Hi,


     I'm trying to use the OMAP5 HW video encoding and decoding capabilities. I am wondering if i can use GStreamer for this. My question is: what version, 0.1 or 1.0, has the encoding functionality?


Thanks,

      Alexandra

  • Hi Alexandra,

    Which OS are you using?

    With GLSDK6.04 it is possible to use GStreamer as an interface to the HW video encoding/decoding in OMAP5 (Ducati). 

    You can see what is integrated in the GLSDK on the following link: http://processors.wiki.ti.com/index.php/GLSDK_Datasheet_OMAP5_6.04.00.02#Multimedia

    GST version integrated in GLSDK is 0.1 


    Hope this helps you.

    Best Regards,

    Yordan

  • Hi Yordan,

    The OS I am using is QNX 6.5.0.

    Concerning what is integrated in GLSDK, i didn't find anything about supported encoders, i found only decoders. I am interested in the encoders as well.

    Concerning the Ducati side,  is there an official repository for the latest Ducati source package?

    Thanks!

  • Alexandra,

    If you have a look at the OMAP543x TRM, you can find that IVA-HD is both HW encoder/decoder engine (see Section 6.1 IVA Overview).

    Regarding Ducati source package, you can obtain it by downloading all GLSD sources (following the release notes); it is located in ti-glsdk_omap5-uevm_6_04_00_02/component-sources/ipumm_3_00_04_02
    Find attached the README file with instructions how to build the  IPUMM binary: 2678.README.txt

    Best Regards,
    Yordan

  • Hi Yordan,

    Thank you for your answer. I have one more question:

    I'm trying to compile the package and I'm getting the following errors regarding undefined symbols. Can you help me with this? 


    The error message is in the  file attached. This is my configuration:

    # Repo
    BIOSTOOLSROOT ?= /opt/ti
    REPO  := $(BIOSTOOLSROOT)

    # Different tool versions can easily be programmed by defining below variables
    # in your environment.
    XDCVERSION ?= xdctools_3_25_06_96
    BIOSVERSION ?= bios_6_37_03_30
    IPCVERSION ?= ipc_3_21_00_07
    CEVERSION ?= codec_engine_3_24_00_08
    FCVERSION ?= framework_components_3.30.01.07_eng
    XDAISVERSION ?= xdais_7_24_00_04

    # TI Compiler Settings
    export TMS470CGTOOLPATH ?= /home/alexd/ti-glsdk_omap5-uevm_6_04_00_02/ti-devkit/cgt470_5_0_7


    I also tried with  framework_components_3_24_00_09 and xdctools_3_30_01_25, but no luck.

    Thank you,

       Alexandra

  • Hi Alexandra,

    If you haven't done any modifications to the code, this seems like you've missed some environment setting.

    I don't have much experience with QNX, but if you use the Ducati sources from GLSDK, you should also set:
    DEFAULT_IPUMM_CONFIG=omap5_smp_config
    BIOS_VERSION=6_37_02_27
    IPC_VERSION=3_21_00_07
    IPUMM_VERSION=3_00_04_02
    DUCATI_FW_GEN=omap5-m4-ipu.xem4
    DUCATI_FW=ducati-m3-core0.xem3
    XDC_VERSION=xdctools_3_25_05_94
    PLATFORM_IPC=OMAP54XX

    Check the Makefile & Rules.make, located in ti-glsdk_omap5-uevm_6_04_00_02, for reference. Instructions under  "Build ipumm. Also, an explicit cleanup target is defined."

    You should use the arm-linux-gnueabihf cross compiler. 

    Hope this helps.

    Best Regards,

    Yordan

  • Hi Yordan,


    I am already using arm-linux-gnueabihf cross compiler and those variable were already set.

    I tried with those versions, i had a lot of errors and eventually some of the symbols were solved after using the configurations in the makefiles attached.

    The still unresolved symbols are the following:


     undefined                               first referenced                                                                                                                                    
      symbol                                     in file                                                                                                                                         
     ---------                               ----------------                                                                                                                                    
     DSKT2_activateAlg                       /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     DSKT2_allocPersistent                   package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_cacheWBInv                        package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_contextAcquire                    package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_contextRelease                    package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_createAlg                         /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     DSKT2_createAlgExt                      /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     DSKT2_deactivateAlg                     /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     DSKT2_deactivateAll                     /opt/ti/framework_components_3_24_00_09/packages/ti/sdo/fc/utils/lib/debug/fcutils.aem4<fcutils.oem4>                                               
     DSKT2_freeAlg                           /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     DSKT2_freePersistent                    package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_getAlgList                        /opt/ti/framework_components_3_24_00_09/packages/ti/sdo/fc/utils/lib/debug/fcutils.aem4<fcutils.oem4>                                               
     DSKT2_getNumAlgs                        /opt/ti/framework_components_3_24_00_09/packages/ti/sdo/fc/utils/lib/debug/fcutils.aem4<fcutils.oem4>                                               
     DSKT2_getYieldArgs                      package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_setYieldArgs                      package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     DSKT2_yield                             package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     FCSettings_init                         package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     HDVICP2_getDefaultParams                package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     HDVICP2_getIresmanFxns                  package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     IRESMAN_HDVICP                          /home/alexd/ti-glsdk_omap5-uevm_6_04_00_02/component-sources/ipumm_3_00_04_02/src/ti/framework/dce/lib/ipu/release/ti.framework.dce.aem4<ivahd.oem4>
     RMAN_activateAllResources               /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     RMAN_assignResources                    /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     RMAN_deactivateAllResources             /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     RMAN_exit                               /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     RMAN_freeResources                      /opt/ti/codec_engine_3_24_00_08/packages/ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.aem4<Algorithm_BIOS.oem4>                                           
     RMAN_getIresEntry                       /opt/ti/framework_components_3_24_00_09/packages/ti/sdo/fc/utils/lib/debug/fcutils.aem4<fcutils.oem4>                                               
     RMAN_getResman                          /opt/ti/framework_components_3_24_00_09/packages/ti/sdo/fc/utils/lib/debug/fcutils.aem4<fcutils.oem4>                                               
     RMAN_init                               /home/alexd/ti-glsdk_omap5-uevm_6_04_00_02/component-sources/ipumm_3_00_04_02/src/ti/framework/dce/lib/ipu/release/ti.framework.dce.aem4<ivahd.oem4>
     RMAN_register                           /home/alexd/ti-glsdk_omap5-uevm_6_04_00_02/component-sources/ipumm_3_00_04_02/src/ti/framework/dce/lib/ipu/release/ti.framework.dce.aem4<ivahd.oem4>
     ti_sdo_fc_ires_hdvicp_HDVICP2_configure package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     ti_sdo_fc_ires_hdvicp_HDVICP2_done      package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           
     ti_sdo_fc_ires_hdvicp_HDVICP2_wait      package/cfg/out/ipu/release/ipu_pem4.oem4                                                                                                           

    error: unresolved symbols remain
    error: errors encountered during linking; "out/ipu/release/ipu.xem4" not built
    gmake[1]: *** [out/ipu/release/ipu.xem4] Error 1
    gmake: *** [/home/alexd/ti-glsdk_omap5-uevm_6_04_00_02/component-sources/ipumm_3_00_04_02/platform/ti/dce/baseimage,.executables] Error 2
    make[1]: *** [build] Error 2
    make: *** [ipumm] Error 2

    Can you please take a look and tell me if i'm doing something wrong?

    Thank you very much,

    Alexandra

    Makefiles.rar
  • Hi Alexandra,

    Sorry for the delayed response.

    You use gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux that comes with the GLSDK, right?

    Can you try the following versions of BIOS & IPC:
    BIOS_VERSION=6_37_02_27
    IPC_VERSION=3_21_00_07

    Best Regards,

    Yordan

  • Hi Yordan,

    Yes, i use gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux that comes with the GLSDK.

    I tried with the versions of BIOS and IPC you suggested, but i get the same error: unresolved symbols.

    The list of unresolved symbols  is the same as the one  i give you before.

    Before i used the IPC from https://git.ti.com/ipc/ipcdev/trees/2ade08907eae72ebd3d30c9fddd350d79727317f/

    The IPC from https://git.ti.com/ipc/ipcdev  didn't work, because it didn't have Tiler.

    Thanks,

    Alexandra

  • Hi Yordan,

    I finally compiled GLSDK. When I run either of the test applications for encoding and decoding (dce_test and dce_enc_test), I get the following error:

    MmRpc_create: Error: open failed, name=/dev/rpmsg-dce


    Also, regarding IPC resource manager, i tried to run a test: MessageQApp but get the following error:

    Ipc_start: NameServer_setup() failed: -8

    ProcId must be less than 0

    Ipc_stop: MessageQ_destroy() failed: -8

    Is something that I am doing wrong?

    Thank you,

        Alexandra

  • This question is the same as this post: http://e2e.ti.com/support/omap/f/885/t/365219.aspx

    Could we discuss this on only one thread?

    Regards

    Karthik