AV_PIX_FMT_NV12 说它有 12bpp 位像素颜色,但数据是 uint8_t 我如何修改帧中的像素?
AV_PIX_FMT_NV12 says it has a 12bpp bit pixel color but data is uint8_t how can I modify the pixels from a frame?
文档说 AV_PIX_FMT_NV12 平面 YUV 4:2:0,12bpp,Y 的 1 个平面和 UV 分量的 1 个平面,它们是交错的(第一个字节 U 和随后的字节 V)
linesize[1] 和 linesize[0] 也是 1920,但是如果我 strlen(data[1]) ( UV components )
我得到 1044587 这个除以 frame->heigth 得到 967,21...所以 linesize 是错误的?
每个通道 8 位,所以 uint8_t 是正确的。
“每像素 12 位”来自 8 位 Y + 2 位 U(每 4 个像素 8 位)+ 2 位 V(每 4 个像素 8 位)= 平均每像素 12 位。这也是为什么 UV 平面的位数是 Y 平面的一半;是U+V数据,但只有1/4的像素。
文档说 AV_PIX_FMT_NV12 平面 YUV 4:2:0,12bpp,Y 的 1 个平面和 UV 分量的 1 个平面,它们是交错的(第一个字节 U 和随后的字节 V)
linesize[1] 和 linesize[0] 也是 1920,但是如果我 strlen(data[1]) ( UV components ) 我得到 1044587 这个除以 frame->heigth 得到 967,21...所以 linesize 是错误的?
每个通道 8 位,所以 uint8_t 是正确的。
“每像素 12 位”来自 8 位 Y + 2 位 U(每 4 个像素 8 位)+ 2 位 V(每 4 个像素 8 位)= 平均每像素 12 位。这也是为什么 UV 平面的位数是 Y 平面的一半;是U+V数据,但只有1/4的像素。