[vlc-devel] [PATCH 2/4] omxil: Update the explanation of the OMX.SEC quirk/workaround
Martin Storsjö
martin at martin.st
Wed Jan 30 11:54:06 CET 2013
---
modules/codec/omxil/omxil.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index d7eb043..bf3526f 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -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;
--
1.7.10.4
More information about the vlc-devel
mailing list