[FFmpeg-devel] [PATCH 3/4] avcodec/ppc/fdctdsp: use more accurate constants
Ganesh Ajjanagadde
gajjanagadde at gmail.com
Fri Nov 13 22:22:36 CET 2015
On Fri, Nov 13, 2015 at 2:58 PM, Ronald S. Bultje <rsbultje at gmail.com> wrote:
> Hi,
>
> On Fri, Nov 13, 2015 at 11:42 AM, Ganesh Ajjanagadde
> <gajjanagadde at gmail.com> wrote:
>>
>> Whoever wrote this stuff had a pretty bad libm - digits differ pretty
>> quickly.
>>
>> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
>> ---
>> libavcodec/ppc/fdctdsp.c | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/libavcodec/ppc/fdctdsp.c b/libavcodec/ppc/fdctdsp.c
>> index 924d12c..92866d3 100644
>> --- a/libavcodec/ppc/fdctdsp.c
>> +++ b/libavcodec/ppc/fdctdsp.c
>> @@ -37,13 +37,13 @@
>> #define vu16(v) ((vector unsigned short) (v))
>> #define vu32(v) ((vector unsigned int) (v))
>>
>> -#define C1 0.98078525066375732421875000 /* cos(1 * PI / 16) */
>> -#define C2 0.92387950420379638671875000 /* cos(2 * PI / 16) */
>> -#define C3 0.83146959543228149414062500 /* cos(3 * PI / 16) */
>> -#define C4 0.70710676908493041992187500 /* cos(4 * PI / 16) */
>> -#define C5 0.55557024478912353515625000 /* cos(5 * PI / 16) */
>> -#define C6 0.38268342614173889160156250 /* cos(6 * PI / 16) */
>> -#define C7 0.19509032368659973144531250 /* cos(7 * PI / 16) */
>> +#define C1 0.98078528040323044912618224 /* cos(1 * PI / 16) */
>> +#define C2 0.92387953251128675612818319 /* cos(2 * PI / 16) */
>> +#define C3 0.83146961230254523707878838 /* cos(3 * PI / 16) */
>> +#define C4 M_SQRT1_2 /* cos(4 * PI / 16) */
>> +#define C5 0.55557023301960222474283081 /* cos(5 * PI / 16) */
>> +#define C6 0.38268343236508977172845998 /* cos(6 * PI / 16) */
>> +#define C7 0.19509032201612826784828487 /* cos(7 * PI / 16) */
>>
>> #define W0 -(2 * C2)
>> #define W1 (2 * C6)
>> --
>> 2.6.2
>
>
> While mathematically correct, this doesn't make it more readable IMO...
>
> (I don't mean the constants change - I mean the insertion of M_SQRT1_2 for
> cos(4*pi/16).)
Fine, I can replace cos(4*pi/16) by its expansion and align it with
the rest. Will push later with this change.
>
> Ronald
More information about the ffmpeg-devel
mailing list