You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
I'd like to add 12bit greyscale support if its not already on the horizon. I'm still trying to figure out how difficult a task it is.
Any pointers on where to start?
Cheers
Russell
The text was updated successfully, but these errors were encountered:
no, unfortunately we do not plan this. As for you question, if you check https://www.w3.org/Graphics/JPEG/itu-t81.pdf and look up the phrase "12-bit", you'll see, what is different against 8-bit. GPUJPEG already supports one channel grayscale 8-bit. So, from my point of view, there will be needed to implement following for encoder:
preprocess - it depends on the packing of the source image, it may be needed to fit it to more "sparse" format (eg. 16-bit int) in order to allow DCT access the samples in more reasonable way (12-bit alignment is quite unsuitable for CUDA)
DCT - is computed in float, so there should be sufficient to read the sample from the format from postprocess
quantization - there will be perhaps more to do - there are more quantization tables, are different etc. While 8-bit source
also huffman encoder would need to be extended
For decoder it should be more or less conversely.
Honestly, I am not the original author so I am not as much familiar with JPEG but the difficulty may depend on your experiences with the concepts or if you need to study them - it is not so hard but it will require some work (it is not the case that eg. extending the preprocessor is enough). Knowledge of CUDA is only secondary.
Hello,
I'd like to add 12bit greyscale support if its not already on the horizon. I'm still trying to figure out how difficult a task it is.
Any pointers on where to start?
Cheers
Russell
The text was updated successfully, but these errors were encountered: