[FFmpeg-devel] [PATCH 11/15] lavc/on2avc: replace pow(10, x) by exp10(x)

Ganesh Ajjanagadde gajjanag at mit.edu
Sun Dec 27 01:20:31 CET 2015


On Sat, Dec 26, 2015 at 4:08 PM, James Almer <jamrial at gmail.com> wrote:
> On 12/23/2015 3:47 PM, Ganesh Ajjanagadde wrote:
>> exp10, introduced recently, is superior for the purpose.
>>
>> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
>> ---
>>  libavcodec/on2avc.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c
>> index 04c8e41..0409b3e 100644
>> --- a/libavcodec/on2avc.c
>> +++ b/libavcodec/on2avc.c
>> @@ -22,6 +22,7 @@
>>
>>  #include "libavutil/channel_layout.h"
>>  #include "libavutil/float_dsp.h"
>> +#include "libavutil/libm.h"
>>  #include "avcodec.h"
>>  #include "bytestream.h"
>>  #include "fft.h"
>> @@ -934,9 +935,9 @@ static av_cold int on2avc_decode_init(AVCodecContext *avctx)
>>                 "Stereo mode support is not good, patch is welcome\n");
>>
>>      for (i = 0; i < 20; i++)
>> -        c->scale_tab[i] = ceil(pow(10.0, i * 0.1) * 16) / 32;
>> +        c->scale_tab[i] = ceil(exp10(i * 0.1) * 16) / 32;
>>      for (; i < 128; i++)
>> -        c->scale_tab[i] = ceil(pow(10.0, i * 0.1) * 0.5);
>> +        c->scale_tab[i] = ceil(exp10(i * 0.1) * 0.5);
>>
>>      if (avctx->sample_rate < 32000 || avctx->channels == 1)
>>          memcpy(c->long_win, ff_on2avc_window_long_24000,
>
> This apparently broke ICC
>
> http://fate.ffmpeg.org/report.cgi?time=20151226215846&slot=x86_64-linux-gnu-icc-2011.4.191
> http://fate.ffmpeg.org/report.cgi?time=20151226235348&slot=x86_64-linux-gnu-icc-2011_sp1.13.367
> http://fate.ffmpeg.org/report.cgi?time=20151226203729&slot=x86_64-archlinux-icc-2013

Thanks for the report. A couple of questions:
1. Is there an easy way to acquire icc so that I can reproduce?
GCC/Clang are perfectly fine with it.
2. Do you know what the ICC platforms use for exp2?

In the absence of remarks and my own inability to fix this, I will
revert tonight.
BTW, please let me know the general policy for this kind of breakage:
i.e, how quickly do such regressions need to be fixed.

>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list