The current API only captures basic pixel format information, RGB and YCbCr are not colorspaces, they're pixel formats.
CIE 1931 XYZ colorspace & pixel format is missing completely.
Most professional software makes explicit case of tagging data streams with the correct metadata, so that conversion can be done correctly, for example you should always do resampling in linear light.
A YCbCr picture from a JPEG, DVD, and BluRay are all different, JPEG's tend to be in full luma scaling (0-255) and using sRGB gamut and transfer functions, while DVD and BluRay follow TV standard which use a limited luma (16-235), coupled with Rec. 601 and Rec. 709 gammut and transfer functions respectively.
Note that when you correct for the luma limits, these three formats look mostly the same, Rec 709 and sRGB are basically identical, but Rec 601 looks a little blown out if not converted correctly.
This only gets worse when we start to introduce Rec. 2020 UHD, and Rec 2100 HDR, and scRGB. a Rec. 2100 image with a peak brightness 100x more than sRGB needs to be handled with care.
The type should capture pixel format, white point, primaries, and transfer functions, this should help with metadata preservation, and correct display of images in software.
The current API only captures basic pixel format information, RGB and YCbCr are not colorspaces, they're pixel formats.
CIE 1931 XYZ colorspace & pixel format is missing completely.
Most professional software makes explicit case of tagging data streams with the correct metadata, so that conversion can be done correctly, for example you should always do resampling in linear light.
A YCbCr picture from a JPEG, DVD, and BluRay are all different, JPEG's tend to be in full luma scaling (0-255) and using sRGB gamut and transfer functions, while DVD and BluRay follow TV standard which use a limited luma (16-235), coupled with Rec. 601 and Rec. 709 gammut and transfer functions respectively.
Note that when you correct for the luma limits, these three formats look mostly the same, Rec 709 and sRGB are basically identical, but Rec 601 looks a little blown out if not converted correctly.
This only gets worse when we start to introduce Rec. 2020 UHD, and Rec 2100 HDR, and scRGB. a Rec. 2100 image with a peak brightness 100x more than sRGB needs to be handled with care.
The type should capture pixel format, white point, primaries, and transfer functions, this should help with metadata preservation, and correct display of images in software.