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

12-bit JPEG support #114

Open
dcommander opened this issue Dec 23, 2017 · 0 comments
Open

12-bit JPEG support #114

dcommander opened this issue Dec 23, 2017 · 0 comments

Comments

@dcommander
Copy link
Member

dcommander commented Dec 23, 2017

This would be used in conjunction with 30-bit (10/10/10/2 or 2/10/10/10) visuals, support for which will be available in the next major releases of VirtualGL and TurboVNC. This feature would allow the TurboVNC Server to send 30-bit images to a 30-bit-enabled client without downsampling.

Issues/comments:

  • libjpeg-turbo is not currently SIMD-accelerated when used with 12-bit coefficients. Refer to Performance improvements (SIMD extensions) for 12-bit JPEGs libjpeg-turbo/libjpeg-turbo#199.
  • It is unclear whether Java supports 30-bit visuals or how to use deep color from a Win32 native program without using OpenGL. (Further research required.)
  • It would be necessary to have two different versions of the TurboJPEG API library, one for 8-bit and one for 12-bit, which would complicate Java Web Start deployment.
  • The Tight encoder/decoder would have to be modified to support encoding from/decoding to 30-bit pixels. It would probably be best to introduce a new encoding or sub-encoding type for this, since the viewer will need to know whether or not to use the 12-bit decoder. Otherwise, it would have to somehow probe the JPEG image to figure out which decoder to use, but this would create a backward incompatibility with older viewers that don't support 12-bit JPEGs.
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