я получаю YUV кадры (kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange) и при создании CIImage из CVPixelBufferRef я получаю:initWithCVPixelBuffer не удался, поскольку CVPixelBufferRef не без IOSurface поддержки
initWithCVPixelBuffer не удался, потому что CVPixelBufferRef не без IOSurface поддержки.
CVPixelBufferRef pixelBuffer;
size_t planeWidth[] = { width, width/2 };
size_t planeHeight[] = { height, height/2};
size_t planeBytesPerRow[] = { width, width/2 };
CVReturn ret = CVPixelBufferCreateWithBytes(
kCFAllocatorDefault, width, height, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange,
data, bytesPerRow, 0, 0, 0, &pixelBuffer
);
if (ret != kCVReturnSuccess)
{
NSLog(@"FAILED");
CVPixelBufferRelease(pixelBuffer);
return;
}
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
// fails
CIImage * image = [[CIImage alloc] initWithCVPixelBuffer:pixelBuffer];
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
CVPixelBufferRelease(pixelBuffer);
[image release];
Вы могли понять это? – cvu