[FFmpeg-trac] #2686(avcodec:open): Native AAC encoder collapses at high bitrates on some samples

FFmpeg trac at avcodec.org
Wed Sep 25 20:21:59 CEST 2013


#2686: Native AAC encoder collapses at high bitrates on some samples
-------------------------------------+-------------------------------------
             Reporter:  Kamedo2      |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  aac          |               Blocked By:
  regression                         |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by Kamedo2):

 I'm preparing for the next listening test.
 {{{
 # Native aac patch v4 abr
 ffmpeg55212 -y -i in.wav -c:a aac -strict experimental -b:a 128k out.mp4
 ffmpeg56470 -y -i out.mp4 -c:a pcm_s32le out.32bit.wav

 # Native aac patch v5 abr
 ffmpeg56470 -y -i in.wav -c:a aac -strict experimental -b:a 128k out.mp4
 ffmpeg56470 -y -i out.mp4 -c:a pcm_s32le out.32bit.wav

 # Native aac patch v5 vbr
 ffmpeg56470 -y -i in.wav -c:a aac -strict experimental -q:a 0.3 out.mp4
 ffmpeg56470 -y -i out.mp4 -c:a pcm_s32le out.32bit.wav

 # FDK-AAC vbr 3
 ffmpeg56470 -y -i in.wav -c:a libfdk_aac -vbr 3 out.mp4
 ffmpeg56470 -y -i out.mp4 -c:a pcm_s32le out.32bit.wav

 # LAME vbr -V5
 ffmpeg55010 -y -i in.wav -c:a libmp3lame -q:a 5 out.mp3
 ffmpeg56470 -y -i out.mp3 -c:a pcm_s32le out.32bit.wav

 # FFmpeg ac3 cbr
 ffmpeg56470 -y -i in.wav -c:a ac3 -b:a 128k out.ac3
 ffmpeg56470 -y -i out.ac3 -c:a pcm_s32le out.32bit.wav
 }}}
 I thought of using float 32bit as the intermediate format, but FFmpeg's
 float pcm_f32le had the gain half of what it should be, and even after
 adjusting gain, much error(average of |lossy-original|) existed, unlike
 faad or madplay.

 This is the statistics of 25 samples I'm going to use in the test.
 ||=          =||=v4 abr=||=v5 abr=||=v5 vbr=||=FDK vbr=||=lame
 V5=||=ac3=||
 ||=25 Average=||129||129||151||122||135||128||
 ||=25 Std.Dev=||5||5||39||20||18||0||
 ||=25 Min=||107||108||89||86||87||128||
 ||=25 Max=||131||133||257||173||172||128||
 ||=Max sample||25.Reunion Blues||26.French||26.French||10.||14.||29.||
 ||=Std.Average=||128||128||127||127||130||128||
 Unit is kbps. Std.Average is the average bitrate of my large collection of
 CDs encoded.

 I've found that v5 vbr boosts bitrate in speech samples. The speech sample
 26.French was encoded in 257kbps, more than twice bitrate than the average
 bitrate of large set of diverse CD sounds. Another speech sample reached
 216kbps. It's a problem, hopefully fixed in the next v6 patch.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2686#comment:176>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list