[FFmpeg-devel] [PATCH 0/4] more accurate constants

Ganesh Ajjanagadde gajjanagadde at gmail.com
Fri Nov 13 17:42:27 CET 2015


1/4 uses predefined mathematics macros whenever possible to improve readability
and in some cases accuracy.

2/4 is a minor "pedantic" patch for something noticed while working on this stuff.

3/4 is a more important patch, since the precomputed cosines on ppc are terrible,
with accuracy off even in the ~8th decimal place in some instances. I suspect
this was due to a faulty libm for the author. Anyone maintaining ppc stuff is
welcome to examine other instances of numerical constants with bad accuracy on
ppc.

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.

Ganesh Ajjanagadde (4):
  all: use predefined mathematics macros
  avcodec/faandct: use typedef instead of #define
  avcodec/ppc/fdctdsp: use more accurate constants
  avcodec/faandct: use more accurate constants

 libavcodec/ac3.h                   |  6 +++---
 libavcodec/cos_tablegen.c          |  4 +++-
 libavcodec/dct32_template.c        |  2 +-
 libavcodec/faandct.c               | 31 ++++++++++++++-----------------
 libavcodec/mpegaudioenc_template.c |  4 ++--
 libavcodec/mpegaudiotab.h          |  2 --
 libavcodec/mpegvideo.c             |  4 ++--
 libavcodec/ppc/fdctdsp.c           | 35 +++++++++++++++++------------------
 libavcodec/ratecontrol.c           |  4 ----
 libavcodec/simple_idct.c           |  4 ++--
 libavfilter/af_dynaudnorm.c        |  4 +---
 libavfilter/vf_fspp.h              |  6 +++---
 12 files changed, 48 insertions(+), 58 deletions(-)

-- 
2.6.2



More information about the ffmpeg-devel mailing list