]> git.sesse.net Git - vlc/commitdiff
omxil: Update the explanation of the OMX.SEC quirk/workaround
authorMartin Storsjö <martin@martin.st>
Wed, 30 Jan 2013 10:54:06 +0000 (12:54 +0200)
committerRafaël Carré <funman@videolan.org>
Wed, 30 Jan 2013 11:31:03 +0000 (12:31 +0100)
Signed-off-by: Rafaël Carré <funman@videolan.org>
modules/codec/omxil/omxil.c

index c2426f86341aa58b773ffdc00a6f1200b566c1ee..72db1bd18702af628f7a76100b3fab7859566773 100644 (file)
@@ -512,14 +512,14 @@ static OMX_ERRORTYPE GetPortDefinition(decoder_t *p_dec, OmxPort *p_port,
                     strlen("OMX.qcom.video.decoder")))
             def->format.video.eColorFormat = OMX_QCOM_COLOR_FormatYVU420SemiPlanar;
 
-        /* Hack: Galaxy S II (stock firmware) gives a slice height larger
-         * than the video height, but this doesn't imply padding between
-         * the video planes. Nexus S also has a slice height larger than
-         * the video height, but there it actually is real padding, thus
-         * Galaxy S II is the buggy one. The Galaxy S II decoder is
-         * named OMX.SEC.avcdec while the one on Nexus S is
-         * OMX.SEC.AVC.Decoder. Thus do this for any OMX.SEC. that don't
-         * contain the string ".Decoder". */
+        /* Hack: Some Samsung devices (e.g. Galaxy S III) have multiple
+         * H264 decoders with different quirks (OMX.SEC.avc.dec, OMX.SEC.avcdec
+         * and OMX.SEC.AVC.Decoder) - the latter is well-behaved while the
+         * former ones signal padding but in practice doesn't have any padding.
+         * We can't simply ignore the buggy ones, because some devices only
+         * have that one (Galaxy S II has only got one named OMX.SEC.avcdec,
+         * at least in the pre-4.0 firmwares). Thus, we enable this quirk on
+         * any OMX.SEC. decoder that doesn't contain the string ".Decoder". */
         if(!strncmp(p_sys->psz_component, "OMX.SEC.", strlen("OMX.SEC.")) &&
            !strstr(p_sys->psz_component, ".Decoder"))
             def->format.video.nSliceHeight = 0;