Skip to content
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

Open
jrmuizel opened this issue Jul 30, 2014 · 2 comments
Open

Add some kind of spatial noise shaping #81

jrmuizel opened this issue Jul 30, 2014 · 2 comments

Comments

@jrmuizel
Copy link

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.

@jrmuizel
Copy link
Author

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.

@jrmuizel
Copy link
Author

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
Projects
None yet
Development

No branches or pull requests

1 participant