4个版本 (破坏性更新)
0.4.0 | 2023年7月10日 |
---|---|
0.3.0 | 2023年5月17日 |
0.2.0 | 2023年5月12日 |
0.1.0 | 2023年4月4日 |
#701 在 图像 中
每月199 次下载
45KB
954 行
Q565图像格式的参考实现。
Q565在QOI图像格式的基础上进行了大量修改,以支持16位RGB565像素格式(仅此格式)。
与QOI的区别
头部
- 4字节魔数:
q565
- u16le宽度(非零)
- u16le高度(非零)
颜色数组
与QOI相比,Q565使用了一个简化的颜色数组。将“散列”函数替换为仅将RGB565 u16的字节相加,并保留结果的最低6位。这导致图像平均尺寸更小,并且还具有消除解码器循环中最后一次乘法使用的额外好处,即使在没有快速乘法支持的微控制器上也能实现合理的速度。
此外,可以只用一个字节描述的像素不会添加到颜色数组中(Q565_OP_DIFF
)。这有助于防止颜色数组被相似的颜色淹没。
Q565_OP_DIFF_INDEXED
由于我们每个通道只有5/6位,Q565_OP_LUMA
被减少到只用5位来表示绿色通道的差异,而不是6位。节省的位现在用作标签的一部分,以区分新的Q565_OP_DIFF_INDEXED
和Q565_OP_LUMA
。
Q565_OP_DIFF_INDEXED
与Q565_OP_DIFF
类似,但将差异应用于颜色数组中的颜色。这导致图像大小最多可减少5%,但编码器速度较慢(在最坏情况下需要计算多达64个颜色差异)。如果需要更快的编码器,可以省略此操作。
流格式
参见[consts]了解不同的操作类型。
依赖项
~2MB
~48K SLoC