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
Dear Sir,
Could you give me the time limit to fix this bug?We could plan our project again.
Thanks a lot!
Dear Sir,
How's the bug getting along?
Could you give us an update on the current status? Any information will be greatly appreciated.
And when role is "video_decoder.avc", is the matching component "OMX.Freescale.std.video_encoder.avc.hw-based"?