[FFmpeg-soc] AAC Encoding - Where we stand, what's left

Alex Converse alex.converse at gmail.com
Tue Jul 7 03:14:00 CEST 2009


I'd like to take a minute to discuss the status of the AAC encoder and
where it is going.

In SoC svn:
--Applies cleanly to SVN HEAD
--The most egregious of the artifacting is gone (sections being
replaced by silence or having the wrong volume, etc.)
--Lacks TNS
--Lacks multichannel support
--Lacks rate control
--Lacks SBR
--Produces illegal bitstreams by violating the maximum frame size
--Below faac quality
--Well below the quality of competitive encoders

In my tree:
--Ruggles' PARCOR
--Rudimentary TNS support based on ISO 13818-7 Annex C
--TNS coefficient compressor
--Various performance opts
--Different value for CLIPPED_ESCAPE (165113.5f * IQ)
--Substantial rate control related re-factoring
--Pseudo ABR rate control
--Maximum frame size enforcement
--VBR rate control that forces comically high bitrate output.

TNS is not helpful at the moment. Sharp attacks are losing most of
their power before we get to the TNS stage. I believe this is may be
psy model related.

To be frank, at this point it seems like it might be prudent for me to
stop working on this and move to either replacing the
non-redistributable parts of faac (to get something legal and faac
quality) or improving the 3GPP code (to get something awesome but not
distributable). At this point both code bases offer better quality and
more features (including SBR support from 3GPP). Dsputil is awesome
but developing this encoder inside ffmpeg is constricting to say the
least.

So I'm wondering what other people have in mind (or completed but
tucked out of sight) for this code base?

Regards,

Alex Converse


More information about the FFmpeg-soc mailing list