AAC: encoder progress

If there are still people interested in my work on AAC encoder (I doubt though), here is a status report for you.

Tasks completed:

  • Make encoder provide lookahead samples
  • Make psy model use these samples to produce block switching decision
  • M/S case handling (at least I hope so)
  • Multichannel coding (from mono to 5.1, seems to work fine)

So there are only two bits left: tune model to produce better sound and commit that all to FFmpeg SVN.

The problem with current implementation is that it follows given bitrate too closely, so some frames may be coded too badly resulting in audible artifacts. I will add ABR mode and quality-based mode to make it better. Another issue is how to use codec options to turn them on, so Robert Swain can add profiles for them ;).

In related news: AAC decoder is slowly migrating to FFmpeg SVN, so I should be able to submit my encoder for review and inclusion as well.

4 Responses to “AAC: encoder progress”

  1. Robert Swain says:

    AAC encoders are important and interesting in this field. If at some point in the future I don’t have any more pressing things to work on, I would be interested in improving the FFmpeg AAC encoder. Having it be competitive with or better than the current best quality encoders would be great.

  2. James says:

    it might not mean much, but I’m an least one person who is very, very, interested in your work on the encoder. it will be nice to have an active, open, free aac encoder available again. in fact, I regularly look for your commits to the GSoC list to see your progress, and whenever I see your blog pop up in my news reader its the first one I jump to.

    keep up your hard work, and thank you very much for it.

  3. Enig123 says:

    The only difference between me and James is I always read your refreshed status with my browser, which means I checked your blog post very frequently.

    Merging within ffmpeg svn is quite needed because I cannot get the aac encoder work correctly with my own build by mingw.

  4. Enig123 says:

    [quote]The problem with current implementation is that it follows given bitrate too closely, so some frames may be coded too badly resulting in audible artifacts.[/quote]

    As we all know, aac has a bit reservoir much more flexible than mpeg-1 layer3, maybe you can consider taking a better implementation of bit reservoir prior to abr.