[FFmpeg-devel] [PATCH 0/4] more accurate constants
John Warburton
john at johnwarburton.net
Thu Nov 26 11:23:09 CET 2015
On Fri, Nov 13, 2015 at 4:42 PM, Ganesh Ajjanagadde
<gajjanagadde at gmail.com> wrote:
>
> 4/4 is a "best effort" patch that maximizes accuracy on all platforms for
> avcodec/faandct. It results in concrete accuracy benefits on the "default" x86-64
> GNU/Linux platform.
>
> Patches tested with FATE. ppc untested.
Sorry to say the libavcodec/faandct.c patch prevents compilation on a
ppc using GCC 5.2.0. In all cases (the first of which are given
below), the GCC "note" states:
"in expansion of macro 'Bn'"
...where n is the digit following B
libavcodec/faandct.c:39:12: error: initializer element is not constant
#define B1 0.720959822006947913789091890943021267L // (cos(pi*1/16)sqrt(2))^-1
...
libavcodec/faandct.c:40:12: error: initializer element is not constant
#define B2 0.765366864730179543456919968060797734L // (cos(pi*2/16)sqrt(2))^-1
...
libavcodec/faandct.c:41:12: error: initializer element is not constant
#define B3 0.850430094767256448766702844371412325L // (cos(pi*3/16)sqrt(2))^-1
...
libavcodec/faandct.c:43:12: error: initializer element is not constant
#define B5 1.272758580572833938461007018281767032L // (cos(pi*5/16)sqrt(2))^-1
...
libavcodec/faandct.c:44:12: error: initializer element is not constant
#define B6 1.847759065022573512256366378793576574L // (cos(pi*6/16)sqrt(2))^-1
...
libavcodec/faandct.c:45:12: error: initializer element is not constant
#define B7 3.624509785411551372409941227504289587L // (cos(pi*7/16)sqrt(2))^-1
...
kind regards,
John
More information about the ffmpeg-devel
mailing list