1

I have gone through this links and few other links also,

  1. khronos
  2. OpenMax_Development_Guide
  3. bellagio_openmax_il_open_source_implementation_enables_developers_to_create

but all of them just explains how the calling sequence is, picture of block diagram etc but don't explain how to write and build openmax component and plug it in android. Even the link for android building and porting is complicated it doesn't explain, that you will need whole source code to write and build openmax plugin or part of android source code or without android source code you can create it.

I am having firefly K3288 board with android OS Kitkat 4.4 which is supporting hevc hardware decoder but I want to add hevc software decoder.

If anyone know how to write and build openmax hevc video decoder component and plug it in android please give some directions.

Iamat8
  • 3,888
  • 9
  • 25
  • 35
Mohan
  • 1,871
  • 21
  • 34

1 Answers1

1

For the 1st question of how to develop an OMX component, you will have to write a new component either out of scratch or using a template of existing functions. Please do refer to the OMXIL specification, specifically chapter 2.

I would recommend you to write a component based on Bellagio implementation which can be found here. Please refer to omx_base_video_port.c as this is essential for your decoder development.

An alternative could be to refer the implementation from one of the vendors. In AOSP tree, please refer to the qcom implementation as here which could provide you a good reference for starting with your development.

Note: Please note that OMX wrapper is more aligned towards state management, context management and buffer management. The interaction with your decoder whether HW or SW is dependent on your driver architecture which you should decide on. Once this driver architecture is finalized, integrating into OMX should be fairly easy.

For the 2nd question on how to integrate the hevc decoder, please refer to this question which has relevant details.

Community
  • 1
  • 1
Ganesh
  • 5,880
  • 2
  • 36
  • 54