[FFmpeg-devel] lpcm in mov default to big endian
Mark Himsley
mark at mdsh.com
Fri Nov 1 12:22:53 CET 2013
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.
Attached patch adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.
This is not tested for regressions in fate, but makes 4CC 'lpcm' match
many other 4CCs in isom.c, and makes my files decode correctly.
Please comment.
[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
--
Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mov_lpcm_be.patch
Type: text/x-patch
Size: 655 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131101/f957afc0/attachment.bin>
More information about the ffmpeg-devel
mailing list