-
Notifications
You must be signed in to change notification settings - Fork 420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add some kind of spatial noise shaping #81
Labels
Comments
Doing this with an 8x8 block size might be challenging. The paper "Adaptive Spatial Noise Shaping for DCT Based Image Compression" describes a possible greedy implementation. |
Closed accidentally by upstream |
xinyu391
pushed a commit
to xinyu391/mozjpeg
that referenced
this issue
Sep 25, 2018
d0 should always be used for the first row, and d1 should always be used for the second row. Addresses concerns raised in mozilla#95, mozilla#81.
kornelski
pushed a commit
that referenced
this issue
Jan 22, 2021
Regression caused by a46c111 Because of 7723d7f, which was introduced in libjpeg-turbo 1.5.1 in response to #81, merged upsampling/ color conversion is disabled on platforms that have SIMD-accelerated YCbCr -> RGB color conversion but not SIMD-accelerated merged upsampling/color conversion. This was intended to improve performance with the Neon SIMD extensions, since those are the only SIMD extensions for which those circumstances apply. Under normal circumstances, the separate "plain" (non-fancy) upsampling and color conversion routines will produce bitwise-identical output to the merged upsampling/color conversion routines, but that is not the case when skipping scanlines starting at an odd-numbered scanline. The modified test introduced in a46c111 does precisely that in order to validate the fixes introduced in 9120a24 and a46c111. Because of 7723d7f, the segfault fixed in 9120a24 and a46c111 didn't affect the Neon SIMD extensions, so this commit effectively reverts the test modifications in a46c111 when using those SIMD extensions. We can get rid of this hack, as well as 7723d7f, once a Neon implementation of merged upsampling/color conversion is available.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This has the potential to reduce the ringing artifacts by moving error from smooth areas to textured areas. The challenge will be trying to have something that works well but is still computationally practical.
The text was updated successfully, but these errors were encountered: