From cca2772e168990616615745e783df5b2c2d75a40 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 12 Jan 2014 01:55:01 +0100 Subject: [PATCH] avcodec/simple_idct_template: change the idct coefficients so that they match the x86 code no changes in either standard deviation or PSNR is seen in any of the changed fate cases MSE changes from 0.05012422 to 0.04890000 Signed-off-by: Michael Niedermayer --- libavcodec/simple_idct_template.c | 14 +++++++------- tests/ref/fate/prores-422 | 4 ++-- tests/ref/fate/prores-422_hq | 4 ++-- tests/ref/fate/prores-422_lt | 4 ++-- tests/ref/fate/prores-422_proxy | 4 ++-- tests/ref/fate/prores-alpha | 4 ++-- tests/ref/fate/prores-alpha_skip | 4 ++-- tests/ref/fate/prores-transparency | 2 +- tests/ref/fate/prores-transparency_skip | 2 +- tests/ref/vsynth/vsynth1-dnxhd-720p-10bit | 2 +- tests/ref/vsynth/vsynth1-prores | 2 +- tests/ref/vsynth/vsynth1-prores_ks | 2 +- tests/ref/vsynth/vsynth2-dnxhd-720p-10bit | 2 +- tests/ref/vsynth/vsynth2-prores | 2 +- tests/ref/vsynth/vsynth2-prores_ks | 2 +- 15 files changed, 27 insertions(+), 27 deletions(-) diff --git a/libavcodec/simple_idct_template.c b/libavcodec/simple_idct_template.c index 64a7be02c5..559b6e46db 100644 --- a/libavcodec/simple_idct_template.c +++ b/libavcodec/simple_idct_template.c @@ -65,13 +65,13 @@ #elif BIT_DEPTH == 10 || BIT_DEPTH == 12 #if BIT_DEPTH == 10 -#define W1 90901 -#define W2 85627 -#define W3 77062 -#define W4 65535 -#define W5 51491 -#define W6 35468 -#define W7 18081 +#define W1 (22725*4) // 90901 +#define W2 (21407*4) // 85627 +#define W3 (19265*4) // 77062 +#define W4 (16384*4) // 65535 +#define W5 (12873*4) // 51491 +#define W6 ( 8867*4) // 35468 +#define W7 ( 4520*4) // 18081 #define ROW_SHIFT 15 #define COL_SHIFT 20 diff --git a/tests/ref/fate/prores-422 b/tests/ref/fate/prores-422 index 679ba5a7c5..10cd6e4c3d 100644 --- a/tests/ref/fate/prores-422 +++ b/tests/ref/fate/prores-422 @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 8294400, 0x434ecf5c -0, 1, 1, 1, 8294400, 0x434ecf5c +0, 0, 0, 1, 8294400, 0xdb4ce06a +0, 1, 1, 1, 8294400, 0xdb4ce06a diff --git a/tests/ref/fate/prores-422_hq b/tests/ref/fate/prores-422_hq index fc313a7764..6b751ad44b 100644 --- a/tests/ref/fate/prores-422_hq +++ b/tests/ref/fate/prores-422_hq @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 8294400, 0xd28b6996 -0, 1, 1, 1, 8294400, 0xd28b6996 +0, 0, 0, 1, 8294400, 0x9b2c65b0 +0, 1, 1, 1, 8294400, 0x9b2c65b0 diff --git a/tests/ref/fate/prores-422_lt b/tests/ref/fate/prores-422_lt index 385134d9cb..b8dd4e08a9 100644 --- a/tests/ref/fate/prores-422_lt +++ b/tests/ref/fate/prores-422_lt @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 8294400, 0x38b30b72 -0, 1, 1, 1, 8294400, 0x38b30b72 +0, 0, 0, 1, 8294400, 0xaceddd97 +0, 1, 1, 1, 8294400, 0xaceddd97 diff --git a/tests/ref/fate/prores-422_proxy b/tests/ref/fate/prores-422_proxy index d275309751..f516f484ba 100644 --- a/tests/ref/fate/prores-422_proxy +++ b/tests/ref/fate/prores-422_proxy @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 8294400, 0xc1fa4263 -0, 1, 1, 1, 8294400, 0xc1fa4263 +0, 0, 0, 1, 8294400, 0x3e3e9e16 +0, 1, 1, 1, 8294400, 0x3e3e9e16 diff --git a/tests/ref/fate/prores-alpha b/tests/ref/fate/prores-alpha index f2333e4e91..79dcdd1646 100644 --- a/tests/ref/fate/prores-alpha +++ b/tests/ref/fate/prores-alpha @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 16588800, 0x50d4b7ee -0, 1, 1, 1, 16588800, 0x50d4b7ee +0, 0, 0, 1, 16588800, 0x52b1b7fe +0, 1, 1, 1, 16588800, 0x52b1b7fe diff --git a/tests/ref/fate/prores-alpha_skip b/tests/ref/fate/prores-alpha_skip index 7fb03644d2..3ae2399994 100644 --- a/tests/ref/fate/prores-alpha_skip +++ b/tests/ref/fate/prores-alpha_skip @@ -1,3 +1,3 @@ #tb 0: 100/2997 -0, 0, 0, 1, 12441600, 0xd0299183 -0, 1, 1, 1, 12441600, 0xd0299183 +0, 0, 0, 1, 12441600, 0x16ba9193 +0, 1, 1, 1, 12441600, 0x16ba9193 diff --git a/tests/ref/fate/prores-transparency b/tests/ref/fate/prores-transparency index 3d851f0d8c..b9e708be51 100644 --- a/tests/ref/fate/prores-transparency +++ b/tests/ref/fate/prores-transparency @@ -1,5 +1,5 @@ #tb 0: 1/25 #tb 1: 1/48000 -0, 0, 0, 1, 16588800, 0xb3cedec5 +0, 0, 0, 1, 16588800, 0x93bbc444 1, 0, 0, 1024, 4096, 0x00000000 1, 1024, 1024, 896, 3584, 0x00000000 diff --git a/tests/ref/fate/prores-transparency_skip b/tests/ref/fate/prores-transparency_skip index a12c1a542b..145801eff8 100644 --- a/tests/ref/fate/prores-transparency_skip +++ b/tests/ref/fate/prores-transparency_skip @@ -1,5 +1,5 @@ #tb 0: 1/25 #tb 1: 1/48000 -0, 0, 0, 1, 12441600, 0x78aa43f3 +0, 0, 0, 1, 12441600, 0xec522972 1, 0, 0, 1024, 4096, 0x00000000 1, 1024, 1024, 896, 3584, 0x00000000 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit b/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit index 59423e7279..8a8f639d5b 100644 --- a/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit +++ b/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit @@ -1,4 +1,4 @@ f8c4b7aa165a80df2485d526161290a3 *tests/data/fate/vsynth1-dnxhd-720p-10bit.dnxhd 2293760 tests/data/fate/vsynth1-dnxhd-720p-10bit.dnxhd -790777baa4bb70c4e32cb13649cc26bf *tests/data/fate/vsynth1-dnxhd-720p-10bit.out.rawvideo +ec26a6cbf53e38ffb9d5c51cbfbf4f7c *tests/data/fate/vsynth1-dnxhd-720p-10bit.out.rawvideo stddev: 6.27 PSNR: 32.18 MAXDIFF: 64 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-prores b/tests/ref/vsynth/vsynth1-prores index e96682f184..3ff77f2a4f 100644 --- a/tests/ref/vsynth/vsynth1-prores +++ b/tests/ref/vsynth/vsynth1-prores @@ -1,4 +1,4 @@ 176b9fa03cc0946c6a41f2dcfad46805 *tests/data/fate/vsynth1-prores.mov 5022821 tests/data/fate/vsynth1-prores.mov -14ab816f1cf83eb990abd02c9e118a8f *tests/data/fate/vsynth1-prores.out.rawvideo +3356f8c3b753acbbe217e7a642e2bd93 *tests/data/fate/vsynth1-prores.out.rawvideo stddev: 2.47 PSNR: 40.27 MAXDIFF: 31 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth1-prores_ks b/tests/ref/vsynth/vsynth1-prores_ks index 458b555e0a..d9dbe906ee 100644 --- a/tests/ref/vsynth/vsynth1-prores_ks +++ b/tests/ref/vsynth/vsynth1-prores_ks @@ -1,4 +1,4 @@ 1d5522ee2fb507a66d236a09a172dc16 *tests/data/fate/vsynth1-prores_ks.mov 3858911 tests/data/fate/vsynth1-prores_ks.mov -54a6453c64e8b1f2d5298ae3dff78656 *tests/data/fate/vsynth1-prores_ks.out.rawvideo +576f494f8b01a787e97876d0c95e4e4b *tests/data/fate/vsynth1-prores_ks.out.rawvideo stddev: 3.17 PSNR: 38.09 MAXDIFF: 39 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit b/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit index cf3ba7b2fa..7a32d8ce9f 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit +++ b/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit @@ -1,4 +1,4 @@ e96fc4a7d994b9369c50da32fd325822 *tests/data/fate/vsynth2-dnxhd-720p-10bit.dnxhd 2293760 tests/data/fate/vsynth2-dnxhd-720p-10bit.dnxhd -a57ce32ab22ae60bf21655b0d1ba3b07 *tests/data/fate/vsynth2-dnxhd-720p-10bit.out.rawvideo +0449440eb3e8416840a27deb1a8f80b0 *tests/data/fate/vsynth2-dnxhd-720p-10bit.out.rawvideo stddev: 1.35 PSNR: 45.47 MAXDIFF: 22 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-prores b/tests/ref/vsynth/vsynth2-prores index eec960cf49..cc3932620d 100644 --- a/tests/ref/vsynth/vsynth2-prores +++ b/tests/ref/vsynth/vsynth2-prores @@ -1,4 +1,4 @@ af885572d77d28e5ede27932bd68cdde *tests/data/fate/vsynth2-prores.mov 2844076 tests/data/fate/vsynth2-prores.mov -b959c6e8bc3061c9ef6ec09ce48d22a0 *tests/data/fate/vsynth2-prores.out.rawvideo +9ee2e0a1645e4d64a98b99d03fa62c28 *tests/data/fate/vsynth2-prores.out.rawvideo stddev: 1.31 PSNR: 45.77 MAXDIFF: 11 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-prores_ks b/tests/ref/vsynth/vsynth2-prores_ks index e7a0a2f36e..a73896ff84 100644 --- a/tests/ref/vsynth/vsynth2-prores_ks +++ b/tests/ref/vsynth/vsynth2-prores_ks @@ -1,4 +1,4 @@ c1c71cf2dbd6e332aacb6ab1c6affa59 *tests/data/fate/vsynth2-prores_ks.mov 3884596 tests/data/fate/vsynth2-prores_ks.mov -ab24f9350a0d615ec5ba864ab77817a8 *tests/data/fate/vsynth2-prores_ks.out.rawvideo +0e80f4c8523a5968dc461dd374a64b00 *tests/data/fate/vsynth2-prores_ks.out.rawvideo stddev: 0.92 PSNR: 48.77 MAXDIFF: 10 bytes: 7603200/ 7603200