【学习笔记】关于图像YUV格式分类和排布方式的全学习_yuv图像-CSDN博客
下图是将多个yuv420p图像(A和B),拼接成一个画面的思路
A大小:416*64
B大小:416*208
将A和B合并到一个416*416的尺寸上,代码如下
//整合
char * ptd;
ptd = (char * ) malloc (416*416*1.5);
memset((char *)(ptd), 0, 416*416*1.5);//整体清0.
//拷y
memcpy(ptd,(char *)sc[0].dst.adr, 416*64);
//拷y2
memcpy((char *)((char *)ptd +416*64), (char *)sc[1].dst.adr, 416*208);
//拷uv1
// memcpy((char *)((char *)ptd +(416*416)), (char *)(sc[0].dst.adr+416*64), 416*64*0.5);
memcpy((char *)((char *)ptd +(173056)), (char *)(sc[0].dst.adr+26624), 13312);
//拷uv2
//memcpy((char *)((char *)ptd +(416*416+416*64*0.5)), (char *)(sc[1].dst.adr+416*208), 43264);
memcpy((char *)((char *)ptd +(186368)), (char *)(sc[1].dst.adr+416*208), 43264);
memcpy(dev->mem[buf->index].start, ptd, 416*416*1.5);
buf->bytesused = 416*416*1.5;
free(ptd);
FR:hunkxu