dm8148 jpeg合成问题

1)测试8148平台jpeg合成问题,将4张1080p的jpeg图片依次送入到videoM3,依次进行jpeg解码,解码成yuv420sp的数据后,在A8进行yuv420sp的4帧图像合成一帧yuv420sp的3840*2160分辨率的yuv,然后送入到videoM3进行编码,编码成jpeg,在送回A8;保存jpeg;测试结果ok;

测试中出现的问题;
1)开始合成的jpeg图片有问题,将中间结果1080p的yuv420sp数据保存下来,使用yuv查看工具进行播放,发现中间结果没有问题;
2)然后查找原因,发现是yuv数据copy有问题,应该拷贝到一个buff中;
3)修改完后,发现保存的jpeg数据还是有问题,将合成后的yuv数据保存下来用yuv工具查看没有问题;最后定位发现是将yuv数据copy到


    vidBufList.frames[0].addr[0][1] = bufs[0].vir_addr+iWidth*iHeight;          //g_ImageWidth*g_ImageHeight;
    vidBufList.frames[0].phyAddr[0][1] =bufs[0].phys_addr+iWidth*iHeight;       //g_ImageWidth*g_ImageHeight;
    原来是g_ImageWidth(1920)*g_ImageHeight(1080);改成(iWidth(3840)*iHeight(2160))
问题解决;

4)在送入2帧1080p的图片到videoM3不同的通道进行解码时,遇到的问题;
第2个通道送入不了图片,定位发现时调用ipcbitsoutLink时,通道设置错误,示意代码如下:错误时,对第2个buff,也是设置成第0个通道了;

                for(i = 0;i < emptyBitsBufList.numBufs;i++)
  {
    emptyBitsBufList.bufs[i]->channelNum = i;//0
  }
    
5)修改完后,第2个通道videoM3解码还是有问题;报错;

错误码:200000 第21位为1表示 :Not supported output chroma format set by the application to the codec
图片问题;

你可能感兴趣的:(dm8148 jpeg合成问题)