Como converter de YUV para CIImage para iOS

Estou tentando converter uma imagem YUV para CIIMage e, finalmente, UIImage. Eu sou bastante novato nisso e estou tentando descobrir uma maneira fácil de fazer isso. Pelo que aprendi, o iOS6 YUV pode ser usado diretamente para criar o CIImage, mas enquanto estou tentando criá-lo, o CIImage mantém apenas um valor nulo. Meu código é assim ->

NSLog(@"Started DrawVideoFrame\n");

CVPixelBufferRef pixelBuffer = NULL;

CVReturn ret = CVPixelBufferCreateWithBytes(
                                            kCFAllocatorDefault, iWidth, iHeight, kCVPixelFormatType_420YpCbCr8BiPlanarFullRange,
                                            lpData, bytesPerRow, 0, 0, 0, &pixelBuffer
                                            );

if(ret != kCVReturnSuccess)
{
    NSLog(@"CVPixelBufferRelease Failed");
    CVPixelBufferRelease(pixelBuffer);
}

NSDictionary *opt =  @{ (id)kCVPixelBufferPixelFormatTypeKey :
                      @(kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) };

CIImage *cimage = [CIImage imageWithCVPixelBuffer:pixelBuffer options:opt];
NSLog(@"CURRENT CIImage -> %p\n", cimage);

UIImage *image = [UIImage imageWithCIImage:cimage scale:1.0 orientation:UIImageOrientationUp];
NSLog(@"CURRENT UIImage -> %p\n", image);

Aqui, lpData são os dados YUV, que são uma matriz de caracteres não assinados.

Isso também parece interessante:vImageMatrixMultiply, não consigo encontrar nenhum exemplo disso. Alguém pode me ajudar com isso?

questionAnswers(1)

yourAnswerToTheQuestion