YUV平面格式.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
YUV平面格式

YUV平面格式 宽度:4像素 高度:2像素 共:4*2=8个点 YUV映射算法 //缓冲区指针 unsigned char* yBuffer; unsigned char* uBuffer; unsigned char* vBuffer; //每条扫描线占的字节数 unsigned int yBufferLineSize; unsigned int uBufferLineSize; unsigned int vBufferLineSize; //行偏移(垂直方向取样偏移) unsigned int rOffset; //列偏移(水平方向取样偏移) unsigned int cOffset; for(unsigned int i=0;inHeight;i++){ //定位到行 unsigned int*yRow = yBuffer + i*yBufferLineSize; unsigned int*uRow = uBuffer + (irOffset)*uBufferLineSize; unsigned int*vRow = vBuffer + (irOffset)*vBufferLineSize; for(unsigned int j=0;inWidth;j++){ //定位到点 unsigned int*yCell = yRow + j; unsigned int*uCell = uRow + (jcOffset); unsigned int*vCell = vRow + (jcOffset); //将yuv转换为rgb点 } } PIX_FMT_YUV420P, /// planar YUV 4:2:0, 12bpp, (1 Cr Cb sample per 2x2 Y samples) 原像素点YUV值 [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] [Y5 U5 V5] [Y6 U6 V6] [Y7 U7 V7] [Y8 U8 V8] 4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率都是2:1(每两个点取一个色度分量),所以可以说色度的抽样率是4:1。第一行U0和U2,第二行V5和V7被取样,而Y分量全部被取样。 数据存储格式 Y0 Y1 Y2 Y3 Y5 Y6 Y7 Y8 U0 U2 V5 V7 映射出的点YUV值 [Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7] [Y5 U0 V5] [Y6 U0 V5] [Y7 U2 V7] [Y8 U2 V7] 一个U(Cr)和一个V(Cb)采样每2*2=4个Y采样,可以表示4个点; 平均每个点占用的字节数=(8*1+8*1+8*4)/4 = 12(bpp)。 映射算法 rOffset = 1; cOffset = 1; 行偏移和列偏移都是1 每个Y被访问一次,U和V被访问4次 PIX_FMT_YUV422P, /// planar YUV 4:2:2, 16bpp, (1 Cr Cb sample per 2x1 Y samples) 原像素点YUV值 [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] [Y5 U5 V5] [Y6 U6 V6] [Y7 U7 V7] [Y8 U8 V8] 对每个色度分量来说,水平方向抽样率是2:1,垂直方向抽样率是1:1。 数据存储格式 Y0 Y1 Y2 Y3 Y5 Y6 Y7 Y8 U0 U2 U5 U7 V1 V3 V6 V8 映射出的点YUV值 [Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3] [Y5 U5 V6] [Y6 U5 V6] [Y7 U7 V8] [Y8 U7 V8] 一个U(Cr)和一个V(Cb)采样每2*1=2个Y采样,可以表示2个点; 平均每个点占用的字节数=(8*1+8*1+8*2)/2 = 16(bpp)。 映射算法 rOffset = 1; cOffset = 0; 每个Y被访问一次,U和V被访问2次 PIX_FMT_YUV444P, /// planar YUV 4:4:4, 24bpp, (1 Cr Cb sample per 1x1 Y samples) 原像素点YUV值 [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] [Y5 U5 V5] [Y6 U

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档