[FFmpeg-devel] [Patch] AAC encoder improvements

Michael Niedermayer michaelni at gmx.at
Thu May 23 02:26:27 CEST 2013


On Wed, May 22, 2013 at 12:36:22PM -0300, Claudio Freire wrote:
> So, I've been keeping working on AAC, and I came to the conclusion
> that a new encoder based on a dynamic programming approach, optimizing
> rate distortion within bitrate constraints, would be the best choice.

I agree


> 
> Since this seems rather obvious, mostly because the x_trellis_x
> functions seem to already use dynamic programming, I'm wondering if
> anyone has already considered and discarded this. Especially since
> such an algorithm would be a bit slower than twoloop (not sure by how
> much yet).

When the aac encoder was originally written i pushed to use
dynamic programming / viterbi. This code was never finished ...
I dont remember any technical reason why it wasnt finished.


> 
> The cost of a dynamic programming approach should be around Φ(W x Nsfb
> x Nsfi), with W x Nsfb ~ 80 and Nsfi ~ 190 under normal circumstances,
> and with currently twoloop being around Φ(W x Nsfb x 20). I included
> the constants for a finer comparison, obviously.
> 
> Independently, with the insight gained while looking into this
> RD-optimization approach, I got a few improvements to twoloop that are
> worth pursuing. So I'll break it into tiny, manageable and tidy
> patches soon. PSNR (tinypsnr) is still lying through its teeth... I'll
> see about building a --psy option into it.

ok

thanks!

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130523/c78ed4d6/attachment.asc>


More information about the ffmpeg-devel mailing list