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

Kostya kostya.shishkov at gmail.com
Tue Jul 7 10:45:33 CEST 2009


On Mon, Jul 06, 2009 at 09:14:00PM -0400, Alex Converse wrote:
> 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

Ahem, I've added it long time ago.

> --Lacks rate control
> --Lacks SBR
> --Produces illegal bitstreams by violating the maximum frame size

This one could be fixed.

> --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.

Heh, do you mean it's always maximum frame size?

> 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.

I'm stronly against it. It seems to me that it's easier to backport FAAC
psy model and codebook selection to our encoder to get comparative
output - IIRC non-LGPL parts of libfaac are exactly the basic stuff I
implemented.
 
> 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