#10870: libfdk_aac and aac_at encoders inflate small samples, native aac encoder
doesn't
--------------------------------------+----------------------------------
             Reporter:  mrapp         |                     Type:  defect
               Status:  new           |                 Priority:  normal
            Component:  undetermined  |                  Version:  6.1
             Keywords:  AAC           |               Blocked By:
             Blocking:                |  Reproduced by developer:  0
Analyzed by developer:  0             |
--------------------------------------+----------------------------------
 Summary of the bug:

 Re-encoding a 192 kb/s AAC-LC stream to 128 kb/s with either the
 libfdk_aac or aac_at encoders results in a stream that is 256 kb/s. The
 status shows ~128 kb/s until the last few seconds, then jumps up and the
 time index progresses slower. A trace confirms what is happening is in the
 last couple of seconds, there are a lot more samples of smaller size. This
 is probably a pathological case, but I have run across several different
 videos exhibiting this issue (the audio stream originates from mp4
 videos). Performing a trace on a copy command from the output of each
 encoder shows that libfdk_aac and aac_at are inflating the size of these
 small samples by 100 times, whereas the native aac is preserving the
 original small size.

 How to reproduce:
 {{{
 % ffmpeg -i audio.mp4 -c:a libfdk_aac -ac 2 -b:a 128k out.mp4

 ffmpeg version 4.4.4 and 6.1
 built on macOS 11.7.10 using MacPorts:

 $ ffmpeg6 -version
 ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 13.0.0 (clang-1300.0.29.30)
 configuration: --cc=/usr/bin/clang
 --datadir=/opt/local/libexec/ffmpeg6/share/data
 --docdir=/opt/local/libexec/ffmpeg6/share/doc --progs-suffix=6
 --prefix=/opt/local/libexec/ffmpeg6 --enable-audiotoolbox --disable-
 indev=jack --disable-libjack --disable-libopencore-amrnb --disable-
 libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-
 xfixes --disable-metal --disable-outdev=xv --enable-opencl --enable-sdl2
 --disable-securetransport --enable-videotoolbox --disable-xlib --enable-
 avfilter --enable-fontconfig --enable-gnutls --enable-libass --enable-
 libbluray --enable-libdav1d --enable-libfreetype --enable-libfribidi
 --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-
 libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-
 libtheora --enable-libvorbis --enable-libvpx --enable-libzimg --enable-
 libzvbi --enable-lzma --enable-shared --enable-pthreads --enable-swscale
 --enable-zlib --enable-libaom --enable-libsvtav1 --arch=arm64 --enable-
 librtmp --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265
 --enable-libxvid --enable-postproc --enable-libfdk-aac --enable-nonfree
 libavutil      58. 29.100 / 58. 29.100
 libavcodec     60. 31.102 / 60. 31.102
 libavformat    60. 16.100 / 60. 16.100
 libavdevice    60.  3.100 / 60.  3.100
 libavfilter     9. 12.100 /  9. 12.100
 libswscale      7.  5.100 /  7.  5.100
 libswresample   4. 12.100 /  4. 12.100
 libpostproc    57.  3.100 / 57.  3.100

 ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 13.0.0 (clang-1300.0.29.30)
 configuration: --prefix=/opt/local --cc=/usr/bin/clang
 --mandir=/opt/local/share/man --enable-audiotoolbox --disable-indev=jack
 --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb
 --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-
 opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport
 --enable-videotoolbox --enable-avfilter --enable-avresample --enable-
 fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable-
 libdav1d --enable-libfreetype --enable-libfribidi --enable-libmodplug
 --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg
 --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis
 --enable-libvpx --enable-libzimg --enable-libzvbi --enable-lzma --enable-
 pthreads --enable-shared --enable-swscale --enable-zlib --enable-libaom
 --enable-libsvtav1 --arch=arm64 --enable-librtmp --enable-gpl --enable-
 libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-
 postproc --enable-libfdk-aac --enable-nonfree
 libavutil      56. 70.100 / 56. 70.100
 libavcodec     58.134.100 / 58.134.100
 libavformat    58. 76.100 / 58. 76.100
 libavdevice    58. 13.100 / 58. 13.100
 libavfilter     7.110.100 /  7.110.100
 libavresample   4.  0.  0 /  4.  0.  0
 libswscale      5.  9.100 /  5.  9.100
 libswresample   3.  9.100 /  3.  9.100
 libpostproc    55.  9.100 / 55.  9.100
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10870>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to