我有 YUV 平面数据(420YpCbCr8BiPlanarFullRange),我想将其转换为 RBGX(RBGA,但 alpha channel 中有 255)。
void * const luminescencePlaneBytes = ...;
void * const cbChrominancePlaneBytes = ...;
void * const crChrominancePlaneBytes = ...;
// ... Convert YUV planar -> RBGX 32bpp, 8bpc.
void *convertedBytes = ...
vImage docs和 this answer声明这可以使用矩阵乘法函数:
vImageMatrixMultiply_Planar8
但是,我一直找不到任何示例代码来做到这一点。
最佳答案
420->RGBA888 涉及一些上采样,这意味着 vImageMatrixMultiply_Planar8 不会单独进行。您需要将色度 channel 的大小加倍。之后,您应该能够使用适当的矩阵来做到这一点。
如果您有权访问 iOS 8 开发者种子,那么我建议您查看 vImageConvert_420Yp8_CbCr8ToARGB8888 .
关于ios - 如何使用 vImageMatrixMultiply 将 YUV 平面数据转换为 32 bpp、8bpc RGBX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899500/