[FFmpeg-devel] [PATCH 0/9] simple_idct for 10/12 bits and DNxHD
Christophe Gisquet
christophe.gisquet at gmail.com
Thu Oct 8 08:22:47 CEST 2015
The patch series allowed to find issues on the encoder side with the
use of scans.
To introduce those idcts, the prores one is kind of 'templated', so as
to reuse the code for regular simple_idct. Unfortunately, the 12bits
version can't be bitexact to the C version because the later uses too
precise coefficients.
While this passes the newly added DNxHD fate tests, dct-test is updated
to support 10 (then 12bits) dct tests. As only the _put version is
implemented, the dct-test tests are contrived to evaluate this function,
in the fashion prores idct is tested.
Finally, the dnxhd decoder is updated to use these idcts by setting its
default to auto: as an intra-only codec, and seeing the stddev/maxdiff,
it seems ok to use the faster ones available.
Christophe Gisquet (9):
dnxhdenc: fix scan used for bitstream generation
x86: prores: templatize 10 bits simple_idct
x86: simple_idct_put: 10bits versions
x86: simple_idct_put: 12bits versions
dct-test: add infrastructure for 10 bits
x86: dct-test: add 10 bits versions.
dct-test: allow comparing x86 simple idcts
dct-test: add 12 bit tests
dnxhddec: use auto as default idct
libavcodec/arm/dct-test.c | 10 +-
libavcodec/dct-test.c | 74 ++++++-
libavcodec/dnxhddec.c | 6 +
libavcodec/dnxhdenc.c | 12 +-
libavcodec/ppc/dct-test.c | 10 +-
libavcodec/x86/Makefile | 1 +
libavcodec/x86/constants.c | 28 +++
libavcodec/x86/constants.h | 16 ++
libavcodec/x86/dct-test.c | 58 +++++-
libavcodec/x86/idctdsp_init.c | 31 +++
libavcodec/x86/proresdsp.asm | 263 +------------------------
libavcodec/x86/simple_idct.h | 6 +
libavcodec/x86/simple_idct10.asm | 65 +++++++
libavcodec/x86/simple_idct10_template.asm | 311 ++++++++++++++++++++++++++++++
14 files changed, 614 insertions(+), 277 deletions(-)
create mode 100644 libavcodec/x86/simple_idct10.asm
create mode 100644 libavcodec/x86/simple_idct10_template.asm
--
2.6.0
More information about the ffmpeg-devel
mailing list