c JPEG 中MCU 的理解

本文讲述了由于对MCU(最小可复制单元)理解不正确导致的YUV三分量在JPEG编码中排列错误,特别是在yuv420p格式下,详细解释了MCU的结构,并给出了一个Y亮度排序的示例代码。
摘要由CSDN通过智能技术生成

jpeg编码中,因为对MCU的理解不正确,造成YUV 三分量的排列错误 ,排错了好几天。

对于yuv420p:

       如: y00   3    y02   3     y4 ......

               y10    y11    y12     y13  ......

   则第一个MCU为:  y00   y01  y10   y11   u00   v00    共6个字节

  我理解MCU 就是比特流中最小的重复单位

下面的程序为Y亮度排序程序,也就2*2的块分割。uv分量不用再排序。

	//---------Y 排序----------------------------------   //第一个MCU y01 y02 y10 y11 u01 v01
	int yw[pic_heigth*pic_width/64]={};
	int wn=0;
	for(int y=0;y<pic_heigth/8;y=y+2){
		for(int x=0;x<pic_width/8;x=x+2){
			for(int b=0;b<2;b++){
				for(int a=0;a<2;a++){
			       yw[wn]=(y+b)*pic_width/8+x+a;
					wn++;
				}
			}
		}
	}

	//---------MCU---------------------------------

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值