OMX: Don't blindly set the input buffer size

Keep it set to whatever the codec had set it to initially.

This makes the IOMX codecs work on Nexus 7.

This might also help for issues on Qualcomm devices (buffer sizes
that were too large on Nexus One, but restricting them broke
larger resolutions on HP TouchBook instead).

Optionally, one might need to call OMX_SetParameter/OMX_GetParameter
after setting the width/height to get a proper buffer size initialized
instead.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This commit is contained in:
Martin Storsjö 2012-08-28 17:07:47 +03:00 committed by Jean-Baptiste Kempf
parent 512b0a3776
commit 7d4da02dae
1 changed files with 3 additions and 2 deletions

View File

@ -318,8 +318,9 @@ static OMX_ERRORTYPE SetPortDefinition(decoder_t *p_dec, OmxPort *p_port,
if(def->eDir == OMX_DirInput || p_dec->p_sys->b_enc)
{
def->nBufferSize = def->format.video.nFrameWidth *
def->format.video.nFrameHeight * 2;
if (def->eDir == OMX_DirInput && p_dec->p_sys->b_enc)
def->nBufferSize = def->format.video.nFrameWidth *
def->format.video.nFrameHeight * 2;
p_port->i_frame_size = def->nBufferSize;
if(!GetOmxVideoFormat(p_fmt->i_codec,