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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel