So returning to this issue after while I made the following discovery:
The image was parsed from a PDF stream. Data was obtained using the CGPDF APIs.
The decode array appears to be explicitly included in the PDF file but for some reason it wasn't in the stream dictionary.
Around the time when I wrote this I think I just grabbed a copy of the image data, saved it, and starting messing with it using the Accelerate APIs/NSBitmapImageRep in a small sample project..
Looking at the PDF spec there are default decode arrays for color spaces.
Passing the default decode array as documented by the PDF spec to CGImageCreateWithJPEGDataProvider and it works.
No need to to convert with vimage at all.
Topic:
Graphics & Games
SubTopic:
General
Tags: