Fixed float-byte rounding to be more accurate by adding .5f before rounding. Slight performance improvement.
This results in the colors being slightly brighter, and the SuperRes Diff map to be more accurate which slightly improve its effectiveness.
Quote:
Originally Posted by Khanattila
I could make it a plugin like KNLMeansCL. If ever I have time.
|
As far as writing a native AviSynth version, I don't know if that would work. Originally, Shiandow was using the Lab colorspace which definitely requires half-float processing. He finally dropped it to use RGB Linear (not Gamma) colorspace. I doubt the YUV-RGB conversion could be avoided, and from my tests processing it with non-float data, the quality is considerably lower. This algorithm is very sensitive to details and must be processed with half-float precision. In that sense, perhaps native approaches wouldn't even be better than this. The GPU is much better at processing float data than the CPU.