Quote:
Originally Posted by Dogway
Thanks for the comparison, it's easier to see the accuracy difference between ColorSpace and avsresize.
zlib is known to employ "shortcuts" for performance reasons ( link).
As you can see from the code I use higher precision floats, be it for gamut transformation matrices, YUV<->RGB coefficients or D65 illuminant (0.312713, 0.329016) in my case.
Currently I'm on the development of the fast-mode, looking forward to reach at least 100fps for gamut conversion. As for the gamma conversion process currently ColorSpace() is 60% faster than avsresize
|
zlib is performing any colorspace_op=... in float.
Code:
ColorBars(pixel_type="yuv420p16")
z_ConvertFormat(pixel_type="YUV420P16",colorspace_op="601:601:709:l=>709:709:709:l",resample_filter="spline36", dither_type="none")
Code:
ColorBars(pixel_type="yuv420p16")
ConvertBits(32, fulls=false, fulld=true)
z_ConvertFormat(pixel_type="YUV420Ps",colorspace_op="601:601:709=>709:709:709",resample_filter="spline36", dither_type="none")
z_ConvertFormat(pixel_type="yuv420p16")
Both codes give identical result.
The only shortcut zlib has (performance reasons) is approximate_gamma for gamma<->linear conversion.