carina-studio / PixelViewer

A cross-platform image viewer which supports reading raw Luminance/YUV/RGB/ARGB/Bayer pixels data from file and rendering it.
https://carina-studio.github.io/PixelViewer/
MIT License
274 stars 39 forks source link

"show ARGB value color of selected pixel" is clipped to 8-bit values #23

Open willworkforhugs opened 3 weeks ago

willworkforhugs commented 3 weeks ago

When viewing images encoded at 10-bits, the numeric readout for the pixel at the current cursor location is clipped to a maximum of 255. It it therefore not possible to accurately assess the numeric value for HDR pixels, as they all clip to the SDR white value.

hamster620 commented 3 weeks ago

The ARGB value displayed is the color value mapped from 8-bit or 16-bit color to [0, 255] instead of clipping into [0, 255]. Therefore, 255 actually means the maximum color value which is 255 in 8-bit color, 1024 in 10-bit color or 65535 in 16-bit color.

There are 2 more issues based-on your question:

  1. We may design an alternative way to display color value instead of mapping it into [0, 255].
  2. Currently we don't support displaying HDR image. It is still a technical limitation that we need to take more time to investigate.
willworkforhugs commented 3 weeks ago

Ah, yes, it does run the range rather than clip. However, not very useful for checking encoding quality as the number's are not accurate. Addressing #1 would be helpful.

2 is no small task! Certainly would be nice.

Muny commented 2 weeks ago

+1 for No. 1, I think reading the code value at full bit depth is important for an app like this.