[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