libvpx 编解码器操作使用 vpx_image_t 结构来交换未压缩的帧数据。我理解了大多数成员的意思,但我坚持使用x_chroma_shift
and y_chroma_shift
。文档中提供的唯一解释是它是“子采样顺序”。我是 YUV 图像格式的新手,但我相信我了解色度子采样是什么,但我不太明白它的顺序是什么意思。
问问题
465 次
1 回答
1
考虑(w, h) YUV 图像(w 和 h 是偶数)。Y 平面大小也是(w, h)但 U/V 平面大小是(w << x_chroma_shift, h << y_chroma_shift)相当于(w / (1 << x_chroma_shift), h / (1 << y_chroma_shift) ) . 不同的色度偏移组合定义了不同的 YUV 子采样:
YUV | x_chroma_shift | y_chroma_shift
======+================+===============
4:2:0 | 1 | 1
4:2:2 | 1 | 0
4:4:4 | 0 | 0
于 2013-12-02T00:39:40.770 回答