I’m seeing an even stronger color shift with .version9DNG when the CIContext working color space is set to CGColorSpace.extendedLinearITUR_2020: the rendered image has a pronounced tint in some cases. This seems consistent with your finding that the issue depends on the working-space primaries, even when the transfer function is linear.
The different CIRAWFilter initializers also seem to behave quite differently. With the same .version9DNG decoder and extended linear Rec.2020 working space, I didn’t observe this tint when using CVPixelBuffer and properties, but I do when decoding serialized DNG data. I’ve also seen differences in how they apply lens-correction metadata. It feels like CIRAWFilter still needs quite a bit of love, particularly around consistency between input paths and clearer documentation of their differences (if they are intended)
Topic:
Photos & Camera
SubTopic:
Image Processing Q&A