On Fri, Dec 25, 2015 at 9:26 AM, James Almer <jamr...@gmail.com> wrote:
> On 12/25/2015 2:11 PM, Ganesh Ajjanagadde wrote:
>> Fast, reasonably accurate 10^x. Alternative of detection of libm exp10 at 
>> configure
>> time is not worth the trouble, since it is anyway not POSIX or ISO C,
>> and currently only the GNU libm has it. Furthermore, GNU libm's variant
>> is ~ 2x slower, and is ironically not correctly rounded (2 ulp off) to 
>> justify all
>> that slowdown.
>>
>> Reviewed-by: Michael Niedermayer <mich...@niedermayer.cc>
>> Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com>
>> ---
>>  libavutil/internal.h | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>
>> diff --git a/libavutil/internal.h b/libavutil/internal.h
>> index f86b7fb..ae11601 100644
>> --- a/libavutil/internal.h
>> +++ b/libavutil/internal.h
>> @@ -292,6 +292,25 @@ static av_always_inline av_const int64_t 
>> ff_rint64_clip(double a, int64_t amin,
>>      return res;
>>  }
>>
>> +/**
>> + * Compute 10^x for floating point values. Note: this function is by no 
>> means
>> + * "correctly rounded", and is meant as a fast, reasonably accurate 
>> approximation.
>> + * For instance, maximum relative error for the double precision variant is
>> + * ~ 1e-13 for very small and very large values.
>> + * This is ~2x faster than GNU libm's approach, which is still off by 2ulp 
>> on
>> + * some inputs.
>> + * @param x exponent
>> + * @return 10^x
>> + */
>> +static av_always_inline double avpriv_exp10(double x)
>
> It's an inline function in a header, and internal at that. Just call it 
> ff_exp10.

It is used in avcodec and avfilter. I thought this meant that it
should be avpriv?
Personally, I like ff_exp10 as it is shorter.

>
>> +{
>> +    return exp2(M_LOG2_10 * x);
>> +}
>> +
>> +static av_always_inline float avpriv_exp10f(float x)
>> +{
>> +    return exp2f(M_LOG2_10 * x);
>> +}
>>
>>  /**
>>   * A wrapper for open() setting O_CLOEXEC.
>>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to