[FFmpeg-trac] #5179(undetermined:new): Native AAC encoder does not respect channelmap assignments

FFmpeg trac at avcodec.org
Fri Jan 22 14:36:35 CET 2016


#5179: Native AAC encoder does not respect channelmap assignments
-------------------------------------+-------------------------------------
             Reporter:  mulvya       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Tried to generate a 4-channel AAC stream with `quad(side)` layout, but the
 output MP4 reports stream layout as `4.0`. WAV is generated with correct
 layout. Using Zeranoe static binary.

 ----
 Generation of dummy stereo source.

 {{{
 ffmpeg -f lavfi -i "aevalsrc=0|0:d=5" null0.mp4 -report 2> null0.log

 ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
 libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
 --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
 --enable-zlib
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 21.100 / 57. 21.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, lavfi, from 'aevalsrc=0|0:d=5':
   Duration: N/A, start: 0.000000, bitrate: 5644 kb/s
     Stream #0:0: Audio: pcm_f64le, 44100 Hz, stereo, dbl, 5644 kb/s
 Output #0, mp4, to 'null0.mp4':
   Metadata:
     encoder         : Lavf57.21.101
     Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz,
 stereo, fltp, 128 kb/s
     Metadata:
       encoder         : Lavc57.21.100 aac
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_f64le (native) -> aac (native))
 Press [q] to stop, [?] for help
 size=       3kB time=00:00:05.01 bitrate=   4.7kbits/s speed=79.6x
 video:0kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 122.289612%
 [aac @ 00000000003ad8c0] Qavg: 65536.000
 }}}
 ----
 Generation of 4 channel AAC in MP4

 {{{
 ffmpeg -i null0.mp4 -lavfi
 "[0]asplit[a][b];[a][b]amerge[o];[o]channelmap=0|1|2|3:quad(side)[out]"
 -map "[out]" null1.mp4 2> null1.log

 ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
 libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
 --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
 --enable-zlib
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 21.100 / 57. 21.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null0.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf57.21.101
   Duration: 00:00:05.04, start: 0.023220, bitrate: 4 kb/s
     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 2 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 [Parsed_amerge_1 @ 00000000029a3cc0] No channel layout for input 1
 [Parsed_amerge_1 @ 00000000029a3cc0] Input channel layouts overlap: output
 layout will be determined by the number of distinct input channels
 Output #0, mp4, to 'null1.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf57.21.101
     Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz,
 quad(side), fltp, 128 kb/s (default)
     Metadata:
       encoder         : Lavc57.21.100 aac
 Stream mapping:
   Stream #0:0 (aac) -> asplit
   channelmap -> Stream #0:0 (aac)
 Press [q] to stop, [?] for help
 size=       4kB time=00:00:05.03 bitrate=   7.1kbits/s speed=46.7x
 video:0kB audio:3kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 56.716942%
 [aac @ 00000000029a22c0] Qavg: 65536.000


 ffprobe null1.mp4
 =================
 ffprobe version N-77715-gfc703f5 Copyright (c) 2007-2016 the FFmpeg
 developers
   built with gcc 5.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
 libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
 --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
 --enable-zlib
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 21.100 / 57. 21.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null1.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf57.21.101
   Duration: 00:00:05.06, start: 0.023220, bitrate: 7 kb/s
     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, 4.0,
 fltp, 4 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 }}}
 ----
 Generation of 4-channel WAV

 {{{
 ffmpeg -i null0.mp4 -lavfi
 "[0]asplit[a][b];[a][b]amerge[o];[o]channelmap=0|1|2|3:quad(side)[out]"
 -map [out] null1.wav 2> null1wav.log

 ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
 libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
 --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
 --enable-zlib
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 21.100 / 57. 21.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null0.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf57.21.101
   Duration: 00:00:05.04, start: 0.023220, bitrate: 4 kb/s
     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 2 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 [Parsed_amerge_1 @ 0000000002613c20] No channel layout for input 1
 [Parsed_amerge_1 @ 0000000002613c20] Input channel layouts overlap: output
 layout will be determined by the number of distinct input channels
 Output #0, wav, to 'null1.wav':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     ISFT            : Lavf57.21.101
     Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz,
 quad(side), s16, 2822 kb/s (default)
     Metadata:
       encoder         : Lavc57.21.100 pcm_s16le
 Stream mapping:
   Stream #0:0 (aac) -> asplit
   channelmap -> Stream #0:0 (pcm_s16le)
 Press [q] to stop, [?] for help
 size=    1736kB time=00:00:05.03 bitrate=2822.6kbits/s speed= 157x
 video:0kB audio:1736kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.005738%




 ffprobe null1.wav
 =================
 ffprobe version N-77715-gfc703f5 Copyright (c) 2007-2016 the FFmpeg
 developers
   built with gcc 5.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
 --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
 --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
 --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
 libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
 --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
 --enable-zlib
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 21.100 / 57. 21.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, wav, from 'null1.wav':
   Metadata:
     encoder         : Lavf57.21.101
   Duration: 00:00:05.04, bitrate: 2822 kb/s
     Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz,
 quad(side), s16, 2822 kb/s

 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5179>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list