[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