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
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.
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
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