3

kCVPixelFormatType_420YpCbCr8BiPlanarFullRangeフォーマット(YCC420fまたは)の CIImage がありますN12。イメージがどのように見えるかを確認したいので、次のメソッドを使用して UIImage に変換します。

CIImage *ciImage = [CIImage imageWithCVPixelBuffer:new_buffer];

CIContext *temporaryContext = [CIContext contextWithOptions:nil];
CGImageRef videoImage = [temporaryContext
                          createCGImage:ciImage
                               fromRect:CGRectMake(0, 0,
                                        CVPixelBufferGetWidth(new_buffer),
                                        CVPixelBufferGetHeight(new_buffer))];

UIImage *uiImage = [UIImage imageWithCGImage:videoImage];

画像の形式が の場合は正常に動作しますが、コンソールのエラー メッセージは ではBGRAありません:NV12

Render failed because a pixel format YCC420f is not supported.

ところで、ciimage は CVPixelBufferRef から取得され、CVPixelBufferRef は GL テクスチャのアドレスから取得されます。

さて、私は何をすべきですか?

4

1 に答える 1