渲染失败,因为不支持像素格式YCC420f

时间:2016-06-11 00:02:24

标签: ios rendering core-image cmsamplebufferref

我尝试使用以下代码段将CVPixelBufferRef转换为UIImage:

UIImage *image = nil; 
CMSampleBufferRef sampleBuffer = (CMSampleBufferRef)CMBufferQueueDequeueAndRetain(_queue);
if (sampleBuffer)
{
    CVPixelBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
    NSUInteger width = CVPixelBufferGetWidth(pixelBuffer);
    NSUInteger height = CVPixelBufferGetHeight(pixelBuffer);

    CIImage *coreImage = [[CIImage alloc] initWithCVPixelBuffer:pixelBuffer options:nil];
    CGImageRef imageRef = [_context createCGImage:coreImage fromRect:CGRectMake(0, 0, width, height)];

    image = [UIImage imageWithCGImage:imageRef];

    CFRelease(sampleBuffer);
    CFRelease(imageRef);
}

我的问题是,当我在设备上运行代码但在模拟器上运行时无法渲染时,它运行正常,控制台输出以下内容:

  

渲染失败,因为不支持像素格式YCC420f

任何想法?

0 个答案:

没有答案