[FFmpeg-devel] Float vs. fixed-point audio codecs
Måns Rullgård
mans
Fri May 14 20:00:58 CEST 2010
Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> On Fri, May 14, 2010 at 04:20:44PM +0100, M?ns Rullg?rd wrote:
>> Systems we care
>> about can be broadly divided into three categories:
>>
>> 1. No hardware FPU
>> 2. Slow FPU
>> 3. Fast FPU
>
> Maybe I'm wrong, but I would expect it might also depend on which
> SIMD features are available on some CPUs (something like a borderline FPU
> and optional integer-only SIMD).
That should also be considered. It makes the algorithm for choosing
version a bit more elaborate, but the principle remains the same.
>> In all of the above cases it may be desirable to enable both versions,
>> even if one is faster, letting the user choose. This brings us to the
>> question of how to choose implementation in the API as well as on the
>> command line. One possibility is to introduce a flag which when set
>> causes the float version to be chosen, the default depending on
>> configure options. Whatever the default, the flag could be set or
>> cleared from the command line.
>
> Is just one flag going to work out? The default would then have to be
> set during codec opening I guess and changing it later would be hard.
> I'd expect a prefer_float and a prefer_int flag might work better...
avcodec_alloc_context() and friends would set the flag to its default
as determined at build time. The user could then set or clear it as
desired before calling avcodec_open(). From the command line this
would be done with "-flags +float" or "-flags -float".
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list