[vlc-commits] omxil: Update the explanation of the OMX.SEC quirk/workaround
Martin Storsjö
git at videolan.org
Wed Jan 30 12:32:19 CET 2013
vlc | branch: master | Martin Storsjö <martin at martin.st> | Wed Jan 30 12:54:06 2013 +0200| [e7eb8964eeb21894425a1c17162188f27702eaf8] | committer: Rafaël Carré
omxil: Update the explanation of the OMX.SEC quirk/workaround
Signed-off-by: Rafaël Carré <funman at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e7eb8964eeb21894425a1c17162188f27702eaf8
---
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 c2426f8..72db1bd 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;
More information about the vlc-commits
mailing list