Hi Manuel,
As per the guidance provided in "http://e2e.ti.com/support/omap/f/849/t/192468.aspx " link, upon receiving EventPortSettingsChange Event, i had executing the following instructions. s/w version version is : 4.AI.4 Android blaze tablet
1. Sent command to transition to Idle State
2. Sent command to disable the output port
3. called omx_free buffers to free the buffers allocated for the o/p port.
All the three instructions were successful. After that i had called OMX_GetParameter to get new configuration parameters on o/p port. The width, height and the buffer size provided are not matching with the resolution of the image given to the decoder.The i/p to the decode is CIF (352 * 288 ) where as the
format.video.nFrameWidth and format.video.nFrameHeight values received from the o/p port is 256 and 256 and buff size required by decoder is returned as 98304. The logs of ducati also same the same thing
[ 21.647] [MNU=100] omx_videodec_common/src/omx_video_decoder.c:[994]: 1.Codec Create for ivahd_h264dec
[ 22.451] [ERR=101] omx_videodec_common/src/omx_video_decoder.c:[1872]:width = 176. expected width = 256, height = 144, expected height = 256
[ 22.452] [ERR=102] omx_videodec_common/src/omx_video_decoder.c:[1889]:Dynamic port reconfiguration triggered since small o/p buffer size provided in first frame decode
The decoder should give the width and height of the image detected and also the buffer size required for the o/p image. why these values are wrong ?
Then i hard coded the buffer size to (704 * 704 * 3)/2 so that sufficient amount of memory is allocated to decode a CIF image. I called the SetParameter and then I had allocated the buffers, enabled the o/p port and sent command to transition to Executing State. These instructions were also successful. When i gave a new frame to decode, the Event Port settings change event is received once again. This happens continuously then the same set of commands and instructions gets executed infinitely.
I received the cropping parameter change event while i was handling the EventPortSettingsChangeEvent. I handled that event by configuring the proper cropping values. There was an error in retrieving the default values
hardware/ti/domx/domx/omx_proxy_common/src/omx_proxy_common.c:1385 __PROXY_GetConfig()
D/DOMX ( 3593): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x80001005 - Error returned from OMX API in ducati
I/VideoPhone( 3593):
I/VideoPhone( 3593): [1345898914-EROR :1238] Failed to get the cropping param Component error val: 80001005
I've attached the log which contains the messages logged by our Application and ducati traces. our App logs are tagged with VideoPhone
6708.omap_4430_port_settings_log.txt
Regards
pradeep