[FFmpeg-devel] [PATCH] add (e)ac3float decoders
Ronald S. Bultje
Mon Mar 7 20:25:19 CET 2011
On Mon, Mar 7, 2011 at 2:18 PM, madshi <madshi at gmail.com> wrote:
> attached you'll find a patch which adds "ac3float" and "eac3float" decoders.
> The only difference to the "ac3" and "eac3" decoders is that the float
> decoders output float, obviously (which is the native decoding format)
> instead of rounded down 16bit integer samples. This is quite important,
> IMHO, because rounding down digital audio/video data is a violation of
> processing laws. When bitdepth is reduced, dithering must be used, to avoid
> quantization errors, which libav does currently not do. So outputting float
> is a better solution for audio quality.
The idea is fine, but the execution isn't. IIUC, Justin has patches
that move audio decoding to using something like an AVFrame, which we
could eventually use to output "planar" audio formats, so each channel
in its own buffer. This would prevent the loop in your patch and not
cause the significant slowdown introduced here.
I'd prefer to wait for Justin's patches to mature and use that approach.
More information about the ffmpeg-devel