压缩图像的字节顺序

Byte order for packed images

本文关键字:顺序 字节 图像 压缩      更新时间:2023-10-16

因此http://en.wikipedia.org/wiki/RGBA_color_space,我了解到ARGB的字节顺序是,从最低地址到最高地址,BGRA,在某些解释中,在一个小端序机器上。

这是如何影响打包数据(如uint8_t ar[]={R,G,B,R,G,B,R,G,B})的命名约定的?

根据定义,小端序以相反的顺序存储数字的字节。如果您将它们视为字节数组,那么这并不是绝对必要的,但是任何模糊有效的代码库实际上都会将4个字节视为32位无符号整数。这将使软件闪电战的速度提高近4倍。

现在真正的问题是为什么。这源于这样一个事实,即当如上所述将像素视为32位int时,编码器希望能够以可预测的方式运行算术和移位。这取决于字节的顺序相反。

简而言之,这实际上并不奇怪,因为在小端序机器中,最后一个字节(最高地址)实际上是最高有效字节,而第一个是最低有效字节。因此,像这样的字段自然会按相反的顺序排列,因此当被视为数字时(作为数字,它将显示为ARGB,但作为字节数组,它将出现BGRA),这是正确的方式。

如果这不清楚,我很抱歉,但我希望它能有所帮助。如果你不理解或我遗漏了什么,请评论。

如果像指定的那样将数据存储在字节数组中,则使用基本上RGB反转的BGR格式:

bgr颜色空间