[FFmpeg-devel] [PATCH] DCA floating point output

Jean-Yves Avenard jyavenard
Mon Apr 26 10:49:00 CEST 2010


Hi

On 26 April 2010 17:45, Vladimir Pantelic <pan at nt.tu-darmstadt.de> wrote:
>
> dammit, my shitty D/A converter will only playback ints, not floats....

I don't know of any common audio cards accepting floats ; it's always
S16 or S32...

BTW, something puzzling me ...

Why is it up to the codec decoder to perform the downmixing ?

Why not have a common one ? or at least a common one for the codec
with no downmixer ...

As for int -> float or float -> int, I have a full set of SSE2 native
converter if anyone is interested that I will soon commit to mythtv.
It's significantly faster than glibc standard cast or built-in
functions.

In mythtv we used to work with fixed only ; so when applying a fair
amount of audio processing (either upmixed, timestretch, resampling
etc..) we were always doing:
do:
fixed -> float -> processing no 1 -> fixed
repeat

We now do fixed -> float once , apply all processing -> fixed -> audio card.

If we know that no processing is to be done, we keep the fixed
(integers) as returned by ffmpeg.

We found that minimising the number of float, yet doing quite a few
floating calculations did speed up your common x86/x86_64 based
system.

Many CPUs have a FPU these days, and the one without are quickly disappearing.

For what it's worth..

Cheers
Jean-Yves



More information about the ffmpeg-devel mailing list