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.

how to run omx and ce in the same time

hi,

I have change the DSP memory map following link: http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/149505.aspx

I merged DSP and OMX in to single application, DSP can run normally, but OMX can't get handle.

the error info:

[t=0x00256133] [tid=0x40122000] xdc.runtime.Main: Entered: OMX_GetHandle (0x8126e8, OMX.TI.DUCATI.VIDENC, 0x8126c0, 0x81274c)
[t=0x00256197] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFCC idx 0
[t=0x002561d6] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFDC idx 1
[t=0x00256212] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFPC.DEIHDUALOUT idx 2
[t=0x00256253] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFPC.DEIMDUALOUT idx 3
[t=0x00256294] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFPC.NF idx 4
[t=0x002562d1] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VFPC.INDTXSCWB idx 5
[t=0x00256310] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.CTRL.TVP idx 6
[t=0x0025634d] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.CTRL.DC idx 7
[t=0x0025638a] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.VPSSM3.VSWMOSAIC idx 8
[t=0x002563c8] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC In table OMX.TI.DUCATI.VIDENC idx 9
[t=0x00256404] [tid=0x40122000] xdc.runtime.Main: Component OMX.TI.DUCATI.VIDENC found idx: 9

[t=0x00256453] [tid=0x40122000] xdc.runtime.Main: In OMX_GetHandle, component OMX.TI.DUCATI.VIDENC, omxhandle 0x8152a8
[t=0x0025817c] [tid=0x40122000] xdc.runtime.Main: Module<ti.omx> Entering<OmxProxy_commonInit> @line<2491>
[t=0x002581f7] [tid=0x40122000] xdc.runtime.Main: Module<ti.omx> @<OmxProxy_commonInit> @line<2492> msg<OMX.TI.DUCATI.VIDENC>
[t=0x0025824c] [tid=0x40122000] xdc.runtime.Main: Module<ti.omx> Entering<omxproxy_map_component_name2info> @line<747>
[t=0x00258295] [tid=0x40122000] xdc.runtime.Main: Module<ti.omx> Leaving<omxproxy_map_component_name2info> @line<764> with error<0:ErrorNone>
[t=0x00258331] [tid=0x40122000] xdc.runtime.Memory: ERROR: line 52: out of memory: heap=0x0, size=10240
xdc.runtime.Memory: line 52: out of memory: heap=0x0, size=10240
[t=0x002583cd] [tid=0x40122000] xdc.runtime.Main: OmxProxy_commonInit:2546::Memory alloc failed for bufferList.Alloc Size = (10240)
[t=0x00258413] [tid=0x40122000] xdc.runtime.Main: Module<ti.omx>:Assert failure in <OmxProxy_commonInit> @line<2549>; Error: Memory alloc failed for bufferList
dm8168_app: OmxProxy.c:2549: OmxProxy_commonInit: Assertion `(eError == OMX_ErrorNone)' failed.
Aborted

 

  • Hello,

    Ruixian said:
    I merged DSP and OMX in to single application, DSP can run normally, but OMX can't get handle.

    Could you provide more details ? This topic is for old EZSDK.

    Which EZSDK version you are using?

    What you mean by " merged DSP and OMX in to single application"

    In EZSDK we have a OpenMax component on DSP.

    What is the use case?



    Best Regards,

    Margarita

  • hi Margarita,

    sorry, I used ezsdk_dm816x-evm_5_05_02_00_setuplinux.

    I want use OpenMAX to h264 encode and CodecEngine to image enhancement.

    step 1, I compile EZSDK by "make all", OpenMax library "libtiomx.so" can be found;

     step 2, change component-sources\codec_engine_3_22_01_06\examples\ti\sdo\ce\examples\servers\all_codecs\serverplatforms.xs;

    step 3, compile a standalone  libdsp.so by following makefile:

    EZSDK=$(EZSDK)

    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video3/lib/release/viddec3.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/universal/lib/release/universal.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video2/split/lib/release/viddec2front.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video2/split/lib/release/viddec2back.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/vidanalytics/lib/release/vidanalytics.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/vidtranscode/lib/release/vidtranscode.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/audio1/lib/release/auddec1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/audio1/lib/release/audenc1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/speech1/lib/release/sphdec1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/speech1/lib/release/sphenc1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/image1/lib/release/imgdec1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/image1/lib/release/imgenc1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video1/lib/release/viddec1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video1/lib/release/videnc1.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video2/lib/release/viddec2.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video2/lib/release/videnc2.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/scale/lib/scale_ti.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/extensions/scale/lib/scale.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/sphdec_copy/lib/sphdec_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/sphenc_copy/lib/sphenc_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/speech/lib/release/speech.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/audenc_copy/lib/audenc_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/audio/lib/release/audio.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/imgenc_copy/lib/imgenc_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/imgdec_copy/lib/imgdec_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/image/lib/release/image.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/videnc_copy/lib/videnc_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/codecs/viddec_copy/lib/viddec_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/video/lib/release/video.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/lib/release/ce.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/alg/lib/release/Algorithm_noOS.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/alg/lib/release/alg.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/osal/lib/release/osal.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/ipc/dsplink/lib/release/ipc_syslink.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/osal/linux/lib/release/osal_linux_470.av5T"

    OBJS += "$(EZSDK)/component-sources/framework_components_3_22_01_07/packages/ti/sdo/fc/global/lib/release/fcsettings.av5T"

    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/node/lib/release/node.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/utils/xdm/lib/release/XdmUtils.av5T"
    OBJS += "$(EZSDK)/component-sources/syslink_2_20_02_20/packages/ti/syslink/lib/syslink.a_release"
    OBJS += "$(EZSDK)/component-sources/linuxutils_3_22_00_02/packages/ti/sdo/linuxutils/cmem/lib/cmem.a470MV"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/packages/ti/sdo/ce/global/lib/release/cesettings.av5T"
    OBJS += "$(EZSDK)/component-sources/osal_1_22_01_09/packages/ti/sdo/utils/loggers/lib/release/loggers.av5T"
    #OBJS += "$(EZSDK)/component-sources/osal_1_22_01_09/packages/ti/sdo/xdcruntime/linux/lib/release/osal_linux_470.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/viddec3_copy/lib/release/viddec3_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/videnc2_copy/lib/release/videnc2_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/universal_copy/lib/release/universal_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/viddec2split_copy/lib/release/viddec2split_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/viddec1_copy/lib/release/viddec1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/vidanalytics_copy/lib/release/vidanalytics_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/vidtranscode_copy/lib/release/vidtranscode_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/g711/lib/release/g711.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/audenc1_copy/lib/release/audenc1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/auddec1_copy/lib/release/auddec1copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/sphenc1_copy/lib/release/sphenc1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/sphdec1_copy/lib/release/sphdec1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/imgenc1_copy/lib/release/imgenc1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/imgdec1_copy/lib/release/imgdec1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/videnc1_copy/lib/release/videnc1_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/viddec2_copy/lib/release/viddec2_copy.av5T"
    OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/xdais/dm/examples/auddec_copy/lib/release/auddec_copy.av5T"
    #OBJS += "$(EZSDK)/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/rtcfg/osal/debug/lib/osal.a"
    #OBJS += "$(EZSDK)/component-sources/xdctools_3_23_03_53/packages/gnu/targets/arm/rtsv5T/lib/gnu.targets.arm.rtsv5T.av5T"

    all:
    arm-none-linux-gnueabi-gcc -shared -fPIC -Wl,--whole-archive $(OBJS) -Wl,--no-whole-archive -o libdsp.so

    step 4, copy component-sources\codec_engine_3_22_01_06\examples\ti\sdo\ce\examples\apps\video_copy\package\cfg\bin\ti_platforms_evmTI816X\app_remote_pv5T.c to my source directory;

    step 5, compile my application :

       arm-none-linux-gnueabi-gcc  myapp.c app_remote_pv5T.c -ldsp -ltiomx -o myapp

  • Hello,

    To use the OMX this means that the HDVPSS and HDVICP firmware should be loaded.

    Per the user guide if you want to run the codec engine examples you should stop these firmwares.

    So you should first deal with this to run the codec engine examples when the both firmwares are loaded as well.

    This is possible but you should do some changes.

    The main reason for concurrency not working with CE (Codec Engine)examples and firmware binaries are due to the mismatch in memory map between Codec Engine examples and firmware binaries. Since Codec Engine supports multiple platforms, it has chosen a generic memory map, whereas firmware binaries use customized memory map optimized for OMX use cases. Please check the link

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map

    for more details about EZSDK memory map.

    If the memory map of CE example could be modified accordingly to the EZSDK memory map, then we can run both OMX use cases and CE examples concurrently.

    Have did  these changes?

    Best Regards,

    Margarita