c JPEG 中MCU 的理解

发布时间:2024年01月11日

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---------------------------------

?

?

?

?

文章来源:https://blog.csdn.net/m0_59802969/article/details/135522230
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。