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

FFmpeg trac at avcodec.org
Mon Sep 30 17:06:10 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 klaussfreire):

 Sorry about the delay. I wanted to give you a 6b patch, since I was making
 good progress, but I got stalled yesterday.

 I managed to remove (or, rather, ameliorate) those bitrate outliers,
 without constraining VBR. I noticed they were related to silence parts. It
 seems in the absence of any significant signal, it will try to encode the
 noise, and being noise, it's quite hard to encode.

 What I did is I modeled the absolute hearing threshold in aacpsy, and now
 that's performing better. But there's still a tendency to waste bits on
 noisy transients. I couldn't quite yet confirm it's a waste, all my
 attempts at saving bits in those, run afoul quality-wise. As if those bits
 were really needed. But I suspect there's still some work to be done in
 that regard.

 So in essence, I achieved some extra efficiency by modeling absolute
 hearing thresholds. Since you never know what SPL will the sample be
 playing at, I matched the masking curve's lowest point to 16-bit
 quantization noise. That should correctly match most playback situations,
 but I'd like people to comment if there was an explicit reason why
 absolute thresholds haven't been accounted for.

 As for your testing plans, you tell me. I can give you the current state
 of the encoder (I don't expect to do any more progress quickly, I tried
 lots of things and failed to improve it, so unless I get some kind of
 inspiration the encoder will remain as is for a while), or you can test
 the current one. Bitrate-wise, they're similar. The newest one performs a
 little better since it's unconstrained, but it still has a disadvantage
 against ABR regarding tonal, quiet passages.

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


More information about the FFmpeg-trac mailing list