我是一名新手开发人员,我需要你的帮助,这对你来说可能是微不足道的。
我有这种像素格式的图像数据:256 色调色 RGBA。它来自FFmpeg (PIX_FMT_PAL8)
,它是这样解释的:
PIX_FMT_RGB32 以特定于字节序的方式处理。RGBA 颜色组合为:
(A << 24) | (R << 16) | (G << 8) | 乙
这在小端 CPU 架构上存储为 BGRA,在大端 CPU 上存储为 ARGB。
当像素格式为调色RGB(PIX_FMT_PAL8)时,调色后的图像数据存储在AVFrame.data[0]中。
调色板在 AVFrame.data[1] 中传输,长度为 1024 字节(256 个 4 字节条目),其格式与上述 PIX_FMT_RGB32 中的格式相同(即,它也是特定于字节序的)。另请注意,存储在 AVFrame.data[1] 中的各个 RGB 调色板组件应在 0..255 范围内。
AVFrame 结构包含uint8_t *data[4]
andint linesize[4]
并且它们被简单地描述为:
uint8_t *data[4]
= 指向图片平面的指针- 给出了四个组件,仅此而已。
- 最后一个组件是 alpha
int linesize[4]
= 每行的字节数
我有包含所有需要数据的 AVFrame 结构,但我不知道如何处理它。我需要从这个图像数据创建一个 NSImage 。
我怎样才能做到这一点?