[SCM] libav/wheezy-security: isom: lpcm in mov default to big endian
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 1 21:36:14 UTC 2014
The following commit has been merged in the wheezy-security branch:
commit b7b798a1afb1bfb1365b4ce67985351967c229d4
Author: Mark Himsley <mark at mdsh.com>
Date: Fri Nov 1 11:22:53 2013 +0000
isom: lpcm in mov default to big endian
It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.
I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]
Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.
This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.
[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178
Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac at gmail.com>
diff --git a/libavformat/isom.c b/libavformat/isom.c
index 347c992..e8f891c 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -256,6 +256,7 @@ const AVCodecTag codec_movaudio_tags[] = {
{ CODEC_ID_PCM_MULAW, MKTAG('u', 'l', 'a', 'w') },
{ CODEC_ID_PCM_S16BE, MKTAG('t', 'w', 'o', 's') },
{ CODEC_ID_PCM_S16LE, MKTAG('s', 'o', 'w', 't') },
+ { CODEC_ID_PCM_S16BE, MKTAG('l', 'p', 'c', 'm') },
{ CODEC_ID_PCM_S16LE, MKTAG('l', 'p', 'c', 'm') },
{ CODEC_ID_PCM_S24BE, MKTAG('i', 'n', '2', '4') },
{ CODEC_ID_PCM_S24LE, MKTAG('i', 'n', '2', '4') },
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list