Commit Graph

7 Commits

Author SHA1 Message Date
Michael Niedermayer
8428e2c5f3 avcodec/jpeg2000dwt: Print 1 digit less in the 9/7f DWT test
This avoids test failure due to differing rounding between 32 and 64bit x86

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 23:18:38 +02:00
Michael Niedermayer
b1fdf81c6e avcodec/jpeg2000dwt: use 32x32->64 multiplies in the 9/7i DWT
This significantly improves the quality when the integer 9/7 transform
is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 02:27:50 +02:00
Michael Niedermayer
6c7b1597c7 avcodec/jpeg2000: Move H band scaling from wavelet into quantization code
This reduces the number of operations done and is equivalent except for
rounding

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 02:00:57 +02:00
Michael Niedermayer
1c495b0bf6 avcodec/jpeg2000: Move gainb handling into the quantization code
thats how the specification defines it, this also improves numerical
accuracy of the integer wavelet implementation. It otherwise should
be equivalent, in case of overflows this can be reverted.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 01:36:05 +02:00
Michael Niedermayer
3bcf61f495 avcodec/jpeg2000dwt: Fix value of F_LFTG_X and I_LFTG_X
Even if the jpeg2000 spec uses a wrong value this does not
make mathematics work this way, also this has been corrected in the 2004
version AFAIK

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 19:25:35 +02:00
Michael Niedermayer
4299f085f4 avcodec/jpeg2000dwt: also test 9/7 float DWT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 15:52:53 +02:00
Michael Niedermayer
6528b90dea avcodec/jpeg2000dwt: List differences for DWT test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 13:43:02 +02:00