2018-04-30, 20:40
Comparison photos in the first post would actually be helpful. I have images for debanding, deringing and deblocking. I also have have a link for chroma upscaling and images for image upscaling, image doubling and dithering.
These are probably my favorite images:
Dithering to 2-bits:
2 bit Ordered Dithering
2 bit No Dithering
Kodi LibreELEC has finally introduced dithering when converting from Y'CbCr to RGB. The conversion from Y'CbCr to RGB involves floating point data that must be rounded to 10-bits or 8-bits. Without dithering, you end up with small quantization errors that can cause color errors, or, worse yet, subtle banding. There is still no dithering at output after pixel shaders have been applied, but that helps a lot. Dithering to address quantization, or rounding errors, was common in the audio world when reducing from a higher to lower sampling rate. Not dithering would result in audible distortion. madshi was the first to introduce dithering to video rendering; obviously borrowing dithering from the audio world.
More alarming is that a recent commit in the Kodi main branch was made to correct an error when converting from linear RGB to non-linear sRGB. Kodi converts to sRGB with all color spaces at the moment. For years, this calculation had been made incorrectly, I guess. I have no idea what the consequences were of this imperfect math. 10-bit passthrough and dithering from 10-bit to 8-bit are also now available in special LibreELEC test builds. HDR passthrough is already possible on Linux, so Kodi is becoming close to state-of-the art. But not on Windows.
These are probably my favorite images:
Dithering to 2-bits:
2 bit Ordered Dithering
2 bit No Dithering
Kodi LibreELEC has finally introduced dithering when converting from Y'CbCr to RGB. The conversion from Y'CbCr to RGB involves floating point data that must be rounded to 10-bits or 8-bits. Without dithering, you end up with small quantization errors that can cause color errors, or, worse yet, subtle banding. There is still no dithering at output after pixel shaders have been applied, but that helps a lot. Dithering to address quantization, or rounding errors, was common in the audio world when reducing from a higher to lower sampling rate. Not dithering would result in audible distortion. madshi was the first to introduce dithering to video rendering; obviously borrowing dithering from the audio world.
More alarming is that a recent commit in the Kodi main branch was made to correct an error when converting from linear RGB to non-linear sRGB. Kodi converts to sRGB with all color spaces at the moment. For years, this calculation had been made incorrectly, I guess. I have no idea what the consequences were of this imperfect math. 10-bit passthrough and dithering from 10-bit to 8-bit are also now available in special LibreELEC test builds. HDR passthrough is already possible on Linux, so Kodi is becoming close to state-of-the art. But not on Windows.