AnsweredAssumed Answered

OpenMAX components problem in imx53

Question asked by dorothy wu on Sep 4, 2013
Latest reply on Sep 17, 2013 by dorothy wu

I'm porting VLC to imx53 android r10.4, trying to use hardware codec and display to reduce CPU usage.

I modified the vlc source code to use imx53 openmax 1L components.

 

At first, I call OMX_Init() in "lib_omx_core_mgr_v2_arm11_elinux.so" to init omx core, It is sucessful.

then I call OMX_ComponentNameEnum() to get valid components name one by one until function's return is not OMX_ErrorNone.

After I get all the component names , I call OMX_GetRolesOfComponent() to get roles count.

But OMX_GetRolesOfComponent() always return 0 roles count.


The process is according to OpenMax 1L.

I don't know what's wrong with it.

Could you give me any advice?


The below debug messages is printed when running for your reference.

Thanks for your help!



>>>>>>>>start load OMXssss library

>>>>>>>>dll_open libOMX_Core.so

>>>>>>>>dll_open libOmxCore.so

>>>>>>>>dll_open libomxil-bellagio.so

>>>>>>>>dll_open libnvomx.so

>>>>>>>>dll_open lib_omx_core_mgr_v2_arm11_elinux.so

>>>>>>>>dll_open is end

>>>>>>>>dll_open ok

>>>>>>>>InitOmxCore is ok

fmt in:h264, out:    

>>>>>>>> CreateComponentsList: want to find role: video_decoder.avc

>>>>>>call OMX_ComponentNameEnum()

pf_component_enum 0, psz_name component is OMX.Freescale.std.template.sw-based

>>>>>>call OMX_GetRolesOfComponent()

    pf_get_roles_of_component: roles count is 0

pf_component_enum 1, psz_name component is OMX.Freescale.std.component.file_write.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 2, psz_name component is OMX.Freescale.std.audio_decoder.mp3.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 3, psz_name component is OMX.Freescale.std.audio_decoder.vorbis.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 4, psz_name component is OMX.Freescale.std.audio_encoder.amr.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 5, psz_name component is OMX.Freescale.std.audio_decoder.amr.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 6, psz_name component is OMX.Freescale.std.parser.mp3.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 7, psz_name component is OMX.Freescale.std.parser.aac.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 8, psz_name component is OMX.Freescale.std.parser.ac3.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 9, psz_name component is OMX.Freescale.std.parser.wav.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 10, psz_name component is OMX.Freescale.std.audio_processor.volume.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 11, psz_name component is OMX.Freescale.std.video.processor.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 12, psz_name component is OMX.Freescale.std.video_render.fb.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 13, psz_name component is OMX.Freescale.std.audio_source.android.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 14, psz_name component is OMX.Freescale.std.audio_source.alsa.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 15, psz_name component is OMX.Freescale.std.audio_render.alsa.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 16, psz_name component is OMX.Freescale.std.video_source.camera.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 17, psz_name component is OMX.Freescale.std.video_source.v4l.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 18, psz_name component is OMX.Freescale.std.audio_render.fake.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 19, psz_name component is OMX.Freescale.std.clocksrc.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 20, psz_name component is OMX.Freescale.std.audio_encoder.aac.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 21, psz_name component is OMX.Freescale.std.audio_encoder.mp3.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 22, psz_name component is OMX.Freescale.std.audio_encoder.pcm.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 23, psz_name component is OMX.Freescale.std.audio_decoder.pcm.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 24, psz_name component is OMX.Freescale.std.audio_decoder.aac.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 25, psz_name component is OMX.Freescale.std.audio_decoder.wma.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 26, psz_name component is OMX.Freescale.std.audio_decoder.ac3.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 27, psz_name component is OMX.Freescale.std.video_render.v4l.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 28, psz_name component is OMX.Freescale.std.video_render.surface.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 29, psz_name component is OMX.Freescale.std.video_render.ipulib.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 30, psz_name component is OMX.Freescale.std.video_render.overlay.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 31, psz_name component is OMX.Freescale.std.video_decoder.avc.v3.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 32, psz_name component is OMX.Freescale.std.video_encoder.h263.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 33, psz_name component is OMX.Freescale.std.video_encoder.mpeg4.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 34, psz_name component is OMX.Freescale.std.video_encoder.avc.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 35, psz_name component is OMX.Freescale.std.video_decoder.mpeg2.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 36, psz_name component is OMX.Freescale.std.video_decoder.mpeg4.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 37, psz_name component is OMX.Freescale.std.video_decoder.div3.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 38, psz_name component is OMX.Freescale.std.video_decoder.divx.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 39, psz_name component is OMX.Freescale.std.video_decoder.div4.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 40, psz_name component is OMX.Freescale.std.video_decoder.xvid.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 41, psz_name component is OMX.Freescale.std.video_decoder.h263.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 42, psz_name component is OMX.Freescale.std.video_decoder.rv.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 43, psz_name component is OMX.Freescale.std.video_decoder.mjpeg.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 44, psz_name component is OMX.Freescale.std.video_decoder.vp8.hw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 45, psz_name component is OMX.Freescale.std.video_decoder.wmv.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 46, psz_name component is OMX.Freescale.std.video_decoder.sorenson.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 47, psz_name component is OMX.Freescale.std.audio.file_read.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 48, psz_name component is OMX.Freescale.std.video.file_read.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 49, psz_name component is OMX.Freescale.std.audio_decoder.ra.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 50, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 51, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 52, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 53, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 54, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 55, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 56, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 57, psz_name component is OMX.Freescale.std.parser.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 58, psz_name component is OMX.Freescale.std.audio_decoder.flac.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 59, psz_name component is OMX.Freescale.std.parser.flac.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 60, psz_name component is OMX.Freescale.std.video_render.fake.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 61, psz_name component is OMX.Freescale.std.audio_render.android.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 62, psz_name component is OMX.Freescale.std.muxer.fsl.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 63, psz_name component is OMX.Freescale.std.parser.streaming.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 64, psz_name component is OMX.Freescale.std.parser.streaming.sw-based

    pf_get_roles_of_component: roles count is 0

pf_component_enum 65, psz_name component is OMX.Freescale.std.parser.streaming.sw-based

        omx_error(pf_component_enum) is Error 0x8000100e

>>>>>>>>>> found 0 matching components for role video_decoder.avc

 


Outcomes