In general, you could follow the steps pointed in this question for integrating a decoder into OMX
Core.
HEVC
is not yet part of the OMX
IL
specification. Hence, you would have to introduce a new role
like video_decoder.hevc
for your component while registering in media_codecs.xml
. Please do check that your OMX
core can support this new role
.
If you are trying to play only elementary streams, you can consider modifying the stagefright
command line utility to read the elementary stream data and feed the decoder.
Another option is to modify the current recordVideo
utility to read a frame data and create a decoder
instead of the encoder
. With these, I presume you should be able to play your decoder from command line.
EDIT: If you wish to build a new OMX
component, I would recommend that you could refer to the Bellagio Component Writers Guide which should give good information on how to build an OMX component. This gives a pretty comprehensive guide to build a new component. Please do ensure that you are able to identify the dependencies with the Bellagio implementation and your core implementation.
Also, you could look at other public domain OMX
implementations as here:
http://androidxref.com/4.4.2_r1/xref/hardware/ti/omap4xxx/domx/
http://androidxref.com/4.4.2_r1/xref/hardware/qcom/media/mm-video-v4l2/vidc/
I feel Bellagio could work as a good starting reference if you haven't build an OMX
component earlier. The sources for Bellagio are available on Sourceforge.