[FFmpeg-trac] #1881(undetermined:new): in24 Little Endian PCM audio (pcm_s24le) in mov decoded incorrectly as Big Endian (pcm_s24be)
FFmpeg
trac at avcodec.org
Fri Nov 2 09:50:18 CET 2012
#1881: in24 Little Endian PCM audio (pcm_s24le) in mov decoded incorrectly as Big
Endian (pcm_s24be)
-------------------------------------+-------------------------------------
Reporter: irius | Type: defect
Status: new | Priority: important
Component: | Version:
undetermined | unspecified
Keywords: mov in24 | Blocked By:
pcm | Reproduced by developer: 0
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I have a MOV file with 2 audio tracks using the in24 codecID and the
pcm_s24le format. (So audio is Little Endian).
However, ffmpeg interprets the tracks as Big Endian, so audio is not
decoded properly. If I tell ffmpeg to decode it as pcm_s24le everything
works fine. QT, vlc, Windows Media Player and any other player I tried
decodes it just right, so I'm sure the file its OK.
How to reproduce:
{{{
% ffmpeg -i IN24_LittleEndian.mov -vn -acodec copy
BAD_DecodedAudioOutput.MOV
}}}
However, everything works fine if I force the input audio codec with:
{{{
% ffmpeg -acodec pcm_s24le -i IN24_LittleEndian.mov -vn -acodec copy
OK_DecodedAudioOutput.MOV
}}}
FFmpeg version is:
ffmpeg version N-46146-g11d695d
built on Oct 29 2012 18:06:25 with gcc 4.7.2 (GCC) (32-bit static Windows
build from Zeranoe'n)
To give a little bit more info, if I run ffprobe, you can see that ffmpeg
thinks the audio is Big Endian:
{{{
%ffprobe IN24_LittleEndian.mov
ffprobe version N-46146-g11d695d Copyright (c) 2007-2012 the FFmpeg
developers
built on Oct 29 2012 18:06:25 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-pthreads
--enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-
frei0r --enable-libass -
-enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype
--enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg
--enable-libo
pus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-
libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid
--enable-zlib
libavutil 52. 1.100 / 52. 1.100
libavcodec 54. 69.100 / 54. 69.100
libavformat 54. 35.100 / 54. 35.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 20.109 / 3. 20.109
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IN24_LittleEndian.mov':
Metadata:
major_brand : JUNK
minor_version : 537199360
compatible_brands: qt JUNK
creation_time : 2012-08-31 14:30:11
encoder : Matrox ISO Writer mvdClipISO.dll
encoder-eng : Matrox ISO Writer mvdClipISO.dll
Duration: 00:00:32.16, start: 0.000000, bitrate: 31111 kb/s
Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576
[SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25
tbn, 25 tb
c
Metadata:
creation_time : 2012-08-31 14:30:11
handler_name : ?Matrox Alias Data Handler
Stream #0:1(eng): Audio: pcm_s24be (in24 / 0x34326E69), 48000 Hz, 1
channels, s32, 1152 kb/s
Metadata:
creation_time : 2012-08-31 14:30:11
handler_name : ?Matrox Alias Data Handler
Stream #0:2(eng): Audio: pcm_s24be (in24 / 0x34326E69), 48000 Hz, 1
channels, s32, 1152 kb/s
Metadata:
creation_time : 2012-08-31 14:30:11
handler_name : ?Matrox Alias Data Handler
}}}
I could provide the example MOV file but it's 100 Mbytes. I'll try to
produce a much smaller example to reproduce the problem easily and attach
it later.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1881>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list