diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c index 755cf9a7534cd3ed3037ff6eacb23802bb0e1927..fce0fc93e58f27f348065638f06e64633fd05de8 100644 --- a/libavcodec/dnxhddec.c +++ b/libavcodec/dnxhddec.c @@ -357,8 +357,9 @@ static av_always_inline int dnxhd_decode_dct_block(const DNXHDContext *ctx, j = ctx->scantable.permutated[i]; level *= scale[i]; + level += scale[i] >> 1; if (level_bias < 32 || weight_matrix[i] != level_bias) - level += level_bias; + level += level_bias; // 1<<(level_shift-1) level >>= level_shift; block[j] = (level ^ sign) - sign; diff --git a/tests/ref/vsynth/vsynth1-dnxhd-1080i b/tests/ref/vsynth/vsynth1-dnxhd-1080i index 28d55b6b9de91559352393edc39b9cb85924bc6c..02f989f3074b2be0cc70e67d634cfb9b1f7989b8 100644 --- a/tests/ref/vsynth/vsynth1-dnxhd-1080i +++ b/tests/ref/vsynth/vsynth1-dnxhd-1080i @@ -1,4 +1,4 @@ a0234e0a8516d958f423b119aa9e35c4 *tests/data/fate/vsynth1-dnxhd-1080i.mov 3031911 tests/data/fate/vsynth1-dnxhd-1080i.mov -a09132c6db44f415e831dcaa630a351b *tests/data/fate/vsynth1-dnxhd-1080i.out.rawvideo -stddev: 6.29 PSNR: 32.15 MAXDIFF: 64 bytes: 7603200/ 760320 +fed9ed2a5179c9df0ef58772b025e303 *tests/data/fate/vsynth1-dnxhd-1080i.out.rawvideo +stddev: 6.18 PSNR: 32.31 MAXDIFF: 64 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-1080i-colr b/tests/ref/vsynth/vsynth1-dnxhd-1080i-colr index 16d895353c2ef7009d83427c0a590a30a69e4dc1..ac429667d6be81db59016c6121d13564ef108e6b 100644 --- a/tests/ref/vsynth/vsynth1-dnxhd-1080i-colr +++ b/tests/ref/vsynth/vsynth1-dnxhd-1080i-colr @@ -1,4 +1,4 @@ 5fccdb16c0f14dea1b6b603bac90b97e *tests/data/fate/vsynth1-dnxhd-1080i-colr.mov 3031929 tests/data/fate/vsynth1-dnxhd-1080i-colr.mov -5835dff88cb84e83bbe70b5ed5edd5ab *tests/data/fate/vsynth1-dnxhd-1080i-colr.out.rawvideo -stddev: 5.79 PSNR: 32.87 MAXDIFF: 56 bytes: 7603200/ 760320 +6f2d5429ffc4529a76acfeb28b560542 *tests/data/fate/vsynth1-dnxhd-1080i-colr.out.rawvideo +stddev: 5.65 PSNR: 33.09 MAXDIFF: 55 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-720p b/tests/ref/vsynth/vsynth1-dnxhd-720p index fd77e8636033db31b8c9076c8c0d73c64b7a32e1..16cf20c3dd68211d36ac044f32c4f6c946b0013a 100644 --- a/tests/ref/vsynth/vsynth1-dnxhd-720p +++ b/tests/ref/vsynth/vsynth1-dnxhd-720p @@ -1,4 +1,4 @@ af03d57b8320568027162132643f7814 *tests/data/fate/vsynth1-dnxhd-720p.dnxhd 2293760 tests/data/fate/vsynth1-dnxhd-720p.dnxhd -f074f1b5ed394871b3c73184ad55b895 *tests/data/fate/vsynth1-dnxhd-720p.out.rawvideo -stddev: 6.26 PSNR: 32.19 MAXDIFF: 65 bytes: 7603200/ 760320 +5f9fba5bacda81e77a72d8a816612564 *tests/data/fate/vsynth1-dnxhd-720p.out.rawvideo +stddev: 6.22 PSNR: 32.24 MAXDIFF: 64 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit b/tests/ref/vsynth/vsynth1-dnxhd-720p-10bit index 8a8f639d5b5674cdfe56da3c14ba41f17bfe87a7..ab588070e0a967cae066aee6fdf867962b090de7 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 -ec26a6cbf53e38ffb9d5c51cbfbf4f7c *tests/data/fate/vsynth1-dnxhd-720p-10bit.out.rawvideo -stddev: 6.27 PSNR: 32.18 MAXDIFF: 64 bytes: 7603200/ 760320 +3cc84f9e8d2e704475b410de27dd9951 *tests/data/fate/vsynth1-dnxhd-720p-10bit.out.rawvideo +stddev: 6.23 PSNR: 32.23 MAXDIFF: 64 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-720p-rd b/tests/ref/vsynth/vsynth1-dnxhd-720p-rd index 04227769432c00ca11f04eabce91dfe9b7e309e0..f030e92ae1b05fc9abede25f29e6a1c7bcd6c5b4 100644 --- a/tests/ref/vsynth/vsynth1-dnxhd-720p-rd +++ b/tests/ref/vsynth/vsynth1-dnxhd-720p-rd @@ -1,4 +1,4 @@ 276e5175376051218b0e3eb36f9e9a63 *tests/data/fate/vsynth1-dnxhd-720p-rd.dnxhd 2293760 tests/data/fate/vsynth1-dnxhd-720p-rd.dnxhd -28662df973b289798bf6069fbbee8071 *tests/data/fate/vsynth1-dnxhd-720p-rd.out.rawvideo -stddev: 6.26 PSNR: 32.19 MAXDIFF: 65 bytes: 7603200/ 760320 +1c75ad86ccd5cc2112da7d43ace50dbf *tests/data/fate/vsynth1-dnxhd-720p-rd.out.rawvideo +stddev: 6.23 PSNR: 32.23 MAXDIFF: 64 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-1080i b/tests/ref/vsynth/vsynth2-dnxhd-1080i index c3a5073df392cf01591b927371ccc819247230dd..eabb6a2b28a86e5d044de566be5fb3885176a5a1 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-1080i +++ b/tests/ref/vsynth/vsynth2-dnxhd-1080i @@ -1,4 +1,4 @@ 2b75889122f8d918e1b068d128b618ca *tests/data/fate/vsynth2-dnxhd-1080i.mov 3031911 tests/data/fate/vsynth2-dnxhd-1080i.mov -099001db73036eeb9545c463cf90f0ba *tests/data/fate/vsynth2-dnxhd-1080i.out.rawvideo -stddev: 1.53 PSNR: 44.43 MAXDIFF: 31 bytes: 7603200/ 760320 +e941d2587cfeccddc450da7f41f7f911 *tests/data/fate/vsynth2-dnxhd-1080i.out.rawvideo +stddev: 1.50 PSNR: 44.56 MAXDIFF: 31 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-1080i-colr b/tests/ref/vsynth/vsynth2-dnxhd-1080i-colr index ba5e6a1b764496cf13eb9cd3f5f59e81da0a3238..06731a885c93012220b1e1a5d0fae4a5a97a73e0 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-1080i-colr +++ b/tests/ref/vsynth/vsynth2-dnxhd-1080i-colr @@ -1,4 +1,4 @@ f9827e9867b0ea4f7585d8e362a58413 *tests/data/fate/vsynth2-dnxhd-1080i-colr.mov 3031929 tests/data/fate/vsynth2-dnxhd-1080i-colr.mov -e4cf5528c993b5e7d57a9d0a4d2cd0c6 *tests/data/fate/vsynth2-dnxhd-1080i-colr.out.rawvideo -stddev: 1.58 PSNR: 44.15 MAXDIFF: 33 bytes: 7603200/ 760320 +ec40a8014b819d02951b2f06bee7b514 *tests/data/fate/vsynth2-dnxhd-1080i-colr.out.rawvideo +stddev: 1.54 PSNR: 44.33 MAXDIFF: 33 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-720p b/tests/ref/vsynth/vsynth2-dnxhd-720p index f40da383463b1805855c91db563581971309f682..fa26c2c0586099ae4f4cc77cb5badbc319f78469 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-720p +++ b/tests/ref/vsynth/vsynth2-dnxhd-720p @@ -1,4 +1,4 @@ 3bb2d4fe12b49eae830918d68bde0675 *tests/data/fate/vsynth2-dnxhd-720p.dnxhd 2293760 tests/data/fate/vsynth2-dnxhd-720p.dnxhd -903e5a7f2b84c0cd362a0f3a69549989 *tests/data/fate/vsynth2-dnxhd-720p.out.rawvideo -stddev: 1.53 PSNR: 44.41 MAXDIFF: 31 bytes: 7603200/ 760320 +bf3c208086609fea7cb40a9ad97b1fd4 *tests/data/fate/vsynth2-dnxhd-720p.out.rawvideo +stddev: 1.52 PSNR: 44.49 MAXDIFF: 31 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit b/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit index c57bf7debe492b69631c259179a1e086b21e2a98..5c21985bdde2e3e8f324178eecdb701d665a8e72 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit +++ b/tests/ref/vsynth/vsynth2-dnxhd-720p-10bit @@ -1,4 +1,4 @@ e49cb87f69acc809aee55d64990c84a9 *tests/data/fate/vsynth2-dnxhd-720p-10bit.dnxhd 2293760 tests/data/fate/vsynth2-dnxhd-720p-10bit.dnxhd -3eb47758e42db9fc704e1254b7abbeb0 *tests/data/fate/vsynth2-dnxhd-720p-10bit.out.rawvideo -stddev: 1.56 PSNR: 44.25 MAXDIFF: 31 bytes: 7603200/ 760320 +a98c4b69d4d036089a455e147d6922a7 *tests/data/fate/vsynth2-dnxhd-720p-10bit.out.rawvideo +stddev: 1.54 PSNR: 44.36 MAXDIFF: 31 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth2-dnxhd-720p-rd b/tests/ref/vsynth/vsynth2-dnxhd-720p-rd index 3d975570d1018c869af7951959564eabba2cfb97..f21299812dd013a1d95c8752095d22977f42f52c 100644 --- a/tests/ref/vsynth/vsynth2-dnxhd-720p-rd +++ b/tests/ref/vsynth/vsynth2-dnxhd-720p-rd @@ -1,4 +1,4 @@ b723c7412a4c93f500b917ad721f6d21 *tests/data/fate/vsynth2-dnxhd-720p-rd.dnxhd 2293760 tests/data/fate/vsynth2-dnxhd-720p-rd.dnxhd -f7d437ea7024700cfd61c40197f44852 *tests/data/fate/vsynth2-dnxhd-720p-rd.out.rawvideo -stddev: 1.53 PSNR: 44.40 MAXDIFF: 31 bytes: 7603200/ 760320 +b7c5de5578317654792c6ea31bfeeb7d *tests/data/fate/vsynth2-dnxhd-720p-rd.out.rawvideo +stddev: 1.52 PSNR: 44.48 MAXDIFF: 31 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth3-dnxhd-1080i-colr b/tests/ref/vsynth/vsynth3-dnxhd-1080i-colr index 7cc229818918198d43e451bb551bede6ab5a809e..8d7d3b6533be8459f849ff12701e6401d14a7ac5 100644 --- a/tests/ref/vsynth/vsynth3-dnxhd-1080i-colr +++ b/tests/ref/vsynth/vsynth3-dnxhd-1080i-colr @@ -1,4 +1,4 @@ ee7a70832f37793b62642f770d988bdb *tests/data/fate/vsynth3-dnxhd-1080i-colr.mov 3031929 tests/data/fate/vsynth3-dnxhd-1080i-colr.mov -7dd6b261e439cda21df4f01b45336b41 *tests/data/fate/vsynth3-dnxhd-1080i-colr.out.rawvideo +f907fd2d48bedbc5283fbfc3fb9f61a0 *tests/data/fate/vsynth3-dnxhd-1080i-colr.out.rawvideo stddev: 6.92 PSNR: 31.32 MAXDIFF: 50 bytes: 86700/ 8670 diff --git a/tests/ref/vsynth/vsynth_lena-dnxhd-1080i b/tests/ref/vsynth/vsynth_lena-dnxhd-1080i index 3693d5797ba3cb1ee0acdd4e2da83ea7f4a36464..16702db712466c4385f022b9a888170f1c41fc94 100644 --- a/tests/ref/vsynth/vsynth_lena-dnxhd-1080i +++ b/tests/ref/vsynth/vsynth_lena-dnxhd-1080i @@ -1,4 +1,4 @@ f7412afbcb4454692f7492f6710189e3 *tests/data/fate/vsynth_lena-dnxhd-1080i.mov 3031911 tests/data/fate/vsynth_lena-dnxhd-1080i.mov -744ba46da5d4c19a28562ea31061d170 *tests/data/fate/vsynth_lena-dnxhd-1080i.out.rawvideo -stddev: 1.31 PSNR: 45.77 MAXDIFF: 23 bytes: 7603200/ 760320 +7d0ca92f12711535d57eff3609462b31 *tests/data/fate/vsynth_lena-dnxhd-1080i.out.rawvideo +stddev: 1.29 PSNR: 45.87 MAXDIFF: 22 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr b/tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr index 1889786ea7ae739d90da588020c9f34b97a5a604..8e43a3f9de6cfb118cee3173c9bfb00e02b7332c 100644 --- a/tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr +++ b/tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr @@ -1,4 +1,4 @@ 5ba3ddb58b10e5f0069cb4f82d594695 *tests/data/fate/vsynth_lena-dnxhd-1080i-colr.mov 3031929 tests/data/fate/vsynth_lena-dnxhd-1080i-colr.mov -864c3d5f49d9edf66ce8f82a2a6725f6 *tests/data/fate/vsynth_lena-dnxhd-1080i-colr.out.rawvideo -stddev: 1.36 PSNR: 45.45 MAXDIFF: 22 bytes: 7603200/ 760320 +ce4993a69ef55c8c4b18138716f17b6f *tests/data/fate/vsynth_lena-dnxhd-1080i-colr.out.rawvideo +stddev: 1.33 PSNR: 45.59 MAXDIFF: 22 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth_lena-dnxhd-720p b/tests/ref/vsynth/vsynth_lena-dnxhd-720p index 686be548083bd38e31f33a226dd38ad132ee227e..eaa1af8812a94d14ab4d84a383c817c972fa69ca 100644 --- a/tests/ref/vsynth/vsynth_lena-dnxhd-720p +++ b/tests/ref/vsynth/vsynth_lena-dnxhd-720p @@ -1,4 +1,4 @@ 4ca9473a8d106bdfe36e9bf7c516b648 *tests/data/fate/vsynth_lena-dnxhd-720p.dnxhd 2293760 tests/data/fate/vsynth_lena-dnxhd-720p.dnxhd -d44c4b08cda8a8042ae345124fdfffcc *tests/data/fate/vsynth_lena-dnxhd-720p.out.rawvideo -stddev: 1.32 PSNR: 45.68 MAXDIFF: 22 bytes: 7603200/ 760320 +9ccd48d24b4f1af2323b65abb6d65d7f *tests/data/fate/vsynth_lena-dnxhd-720p.out.rawvideo +stddev: 1.31 PSNR: 45.77 MAXDIFF: 22 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth_lena-dnxhd-720p-10bit b/tests/ref/vsynth/vsynth_lena-dnxhd-720p-10bit index 794e9c1985e6580e44bee6845a19ac34445e660c..1dcadd80cf57d1bd796af784758ee317e08a7a4a 100644 --- a/tests/ref/vsynth/vsynth_lena-dnxhd-720p-10bit +++ b/tests/ref/vsynth/vsynth_lena-dnxhd-720p-10bit @@ -1,4 +1,4 @@ e96fc4a7d994b9369c50da32fd325822 *tests/data/fate/vsynth_lena-dnxhd-720p-10bit.dnxhd 2293760 tests/data/fate/vsynth_lena-dnxhd-720p-10bit.dnxhd -0449440eb3e8416840a27deb1a8f80b0 *tests/data/fate/vsynth_lena-dnxhd-720p-10bit.out.rawvideo -stddev: 1.35 PSNR: 45.47 MAXDIFF: 22 bytes: 7603200/ 760320 +2b497215c57558910a605ff8c78430d9 *tests/data/fate/vsynth_lena-dnxhd-720p-10bit.out.rawvideo +stddev: 1.33 PSNR: 45.61 MAXDIFF: 22 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth_lena-dnxhd-720p-rd b/tests/ref/vsynth/vsynth_lena-dnxhd-720p-rd index 453f68f0186a66110d2584797991410f69737942..b9aa690858c0cf917782ab5cffc4f8595eddccd0 100644 --- a/tests/ref/vsynth/vsynth_lena-dnxhd-720p-rd +++ b/tests/ref/vsynth/vsynth_lena-dnxhd-720p-rd @@ -1,4 +1,4 @@ b305b03708e905717b42fc0b304367d4 *tests/data/fate/vsynth_lena-dnxhd-720p-rd.dnxhd 2293760 tests/data/fate/vsynth_lena-dnxhd-720p-rd.dnxhd -13de1c5ed025abb5120450e134aa623d *tests/data/fate/vsynth_lena-dnxhd-720p-rd.out.rawvideo -stddev: 1.32 PSNR: 45.66 MAXDIFF: 22 bytes: 7603200/ 760320 +3793391df8448937b17d876b6df0d26d *tests/data/fate/vsynth_lena-dnxhd-720p-rd.out.rawvideo +stddev: 1.31 PSNR: 45.75 MAXDIFF: 22 bytes: 7603200/ 760320