[FFmpeg-trac] #7287(avcodec:new): Audiotoolbox decodes 24-bit ALAC as 16-bit

FFmpeg trac at avcodec.org
Fri Jun 29 16:19:58 EEST 2018


#7287: Audiotoolbox decodes 24-bit ALAC as 16-bit
--------------------------------------+-----------------------------------
             Reporter:  macdavis      |                    Owner:
                 Type:  defect        |                   Status:  new
             Priority:  normal        |                Component:  avcodec
              Version:  git-master    |               Resolution:
             Keywords:  Audiotoolbox  |               Blocked By:
             Blocking:                |  Reproduced by developer:  0
Analyzed by developer:  0             |
--------------------------------------+-----------------------------------

Comment (by macdavis):

 Replying to [comment:3 bpa]:[[BR]]

 I checked the alac atom of the sample that I provided. It does say 16-bit.
 Anyway, even for your patched sample, which I also checked being 24-bit,
 Audiotoolbox still treats as 16-bit.

 {{{
 ffmpeg -c:a alac_at -i /Volumes/New\
 Volume/Untitledsample_24_bit_alac_patched.m4a -f null -
 ffmpeg version 3.4.git Copyright (c) 2000-2018 the FFmpeg developers
   built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
   configuration: --extra-cflags='-Ofast -march=native -m64 -finline-
 functions -funroll-loops -ffunction-sections -fdata-sections -ffp-
 contract=fast' --arch=x86_64 --cpu=haswell --disable-ffplay --disable-
 runtime-cpudetect --disable-debug --disable-opencl --disable-avdevice
 --enable-libfdk-aac --disable-doc --enable-hardcoded-tables
   libavutil      56. 18.102 / 56. 18.102
   libavcodec     58. 20.104 / 58. 20.104
   libavformat    58. 17.101 / 58. 17.101
   libavfilter     7. 25.100 /  7. 25.100
   libswscale      5.  2.100 /  5.  2.100
   libswresample   3.  2.100 /  3.  2.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/New
 Volume/Untitledsample_24_bit_alac_patched.m4a':
   Metadata:
     major_brand     : M4A
     minor_version   : 0
     compatible_brands: M4A mp42isom
     creation_time   : 2018-06-28T17:03:28.000000Z
     iTunSMPB        :  00000000 00000000 00001000 0000000000190000
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
   Duration: 00:00:37.24, start: 0.000000, bitrate: 219 kb/s
     Stream #0:0(eng): Audio: alac (alac / 0x63616C61), 44100 Hz, stereo,
 s16, 1246 kb/s (default)
     Metadata:
       creation_time   : 2018-06-28T17:03:28.000000Z
 Stream mapping:
   Stream #0:0 -> #0:0 (alac (alac_at) -> pcm_s16le (native))
 Press [q] to stop, [?] for help
 Output #0, null, to 'pipe:':
   Metadata:
     major_brand     : M4A
     minor_version   : 0
     compatible_brands: M4A mp42isom
     iTunSMPB        :  00000000 00000000 00001000 0000000000190000
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
     encoder         : Lavf58.17.101
     Stream #0:0(eng): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
 (default)
     Metadata:
       creation_time   : 2018-06-28T17:03:28.000000Z
       encoder         : Lavc58.20.104 pcm_s16le
 size=N/A time=00:00:07.24 bitrate=N/A speed= 129x
 video:0kB audio:1248kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}


 > Interesting - AFAICT the sample size in your file is 16 bit in alac atom
 of the MPEG4 header. Is that what you see as well ?
 >
 > I think players can determine the sample size from the audio stream so
 can play correctly ignoring MPEG4 ALAC atom details header except to say
 it is a ALAC stream.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7287#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list