gst-openmax issue with openmax-1.1.2 spec:
"Dynamic port reconfiguration:
The issue is with dynamically reconfiguring the frame size and output number of buffers.
In this case, according to openmax-1.1.2 spec.
a) gst-openmax first disable the output port once it receives the event for port settings changed from openmax IL
b) Get the Parameters from openmax IL
c) Set the Parameters
d) Enable the output port."
Omx test code is going same way as mentioned above:
Omxtest waits on OMX_COMPONENT_GENERATE_PORT_
Use Android Hardware Decoder with OMXCodec in NDK
OpenMAX:
"Dynamic port reconfiguration:
The issue is with dynamically reconfiguring the frame size and output number of buffers.
In this case, according to openmax-1.1.2 spec.
a) gst-openmax first disable the output port once it receives the event for port settings changed from openmax IL
b) Get the Parameters from openmax IL
c) Set the Parameters
d) Enable the output port."
Omx test code is going same way as mentioned above:
Omxtest waits on OMX_COMPONENT_GENERATE_PORT_
RECONFIG event from
Play_Decoder() and On receiving this event:
1. It disable output port (using Play_Decoder()->output_port_ reconfig() ->
disable_output_port() function)
2. Get the Parameters from openmax IL (using output_port_reconfig()->OMX_ GetParameter(dec_handle,OMX_ IndexParamPortDefinition,& portFmt))
3. Set the Parameters
4. Enable the output port (using output_port_reconfig() -> enable_output_port() function)
5. Successful
But gst-openmax doesn't disable and enable the output port on receiving OMX_COMPONENT_GENERATE_PORT_ RECONFIG event.
It does following:
a) Get the Parameters from openmax IL (using EventHandler()->settings_ changed_cb() ->OMX_GetParameter
(core->omx_handle, OMX_IndexParamPortDefinition, ¶m))
b) Set the Parameters
c) Blocked
1. It disable output port (using Play_Decoder()->output_port_
2. Get the Parameters from openmax IL (using output_port_reconfig()->OMX_
3. Set the Parameters
4. Enable the output port (using output_port_reconfig() -> enable_output_port() function)
5. Successful
But gst-openmax doesn't disable and enable the output port on receiving OMX_COMPONENT_GENERATE_PORT_
It does following:
a) Get the Parameters from openmax IL (using EventHandler()->settings_
b) Set the Parameters
c) Blocked
Use Android Hardware Decoder with OMXCodec in NDK
OpenMAX:
http://www.khronos.org/files/openmax_il_spec_1_0.pdf
IMP:
https://github.com/videolan/vlc/blob/master/modules/codec/omxil/qcom.c
http://stackoverflow.com/questions/10059738/qomx-color-formatyuv420packedsemiplanar64x32tile2m8ka-color-format
https://github.com/dzo/hardware_qcomm_media/blob/master/libI420colorconvert/ColorConvert.cpp
IMP:
https://github.com/videolan/vlc/blob/master/modules/codec/omxil/qcom.c
http://stackoverflow.com/questions/10059738/qomx-color-formatyuv420packedsemiplanar64x32tile2m8ka-color-format
https://github.com/dzo/hardware_qcomm_media/blob/master/libI420colorconvert/ColorConvert.cpp