[vlc-commits] OMX: Don't blindly set the input buffer size

Martin Storsjö git at videolan.org
Tue Aug 28 17:55:15 CEST 2012


vlc | branch: master | Martin Storsjö <martin at martin.st> | Tue Aug 28 17:07:47 2012 +0300| [7d4da02dae2b239323ed9b9246d4ecda5ed9e5fc] | committer: Jean-Baptiste Kempf

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 at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7d4da02dae2b239323ed9b9246d4ecda5ed9e5fc
---

 modules/codec/omxil/omxil.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index bd3962d..3e44fb2 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -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,



More information about the vlc-commits mailing list