Toybrick

MPP更新后解码H265图像存在绿边,H264正常

zhuo799154051

中级会员

积分
443
楼主
发表于 2021-2-22 14:47:36    查看: 32977|回复: 11 | [复制链接]    打印 | 显示全部楼层
本帖最后由 zhuo799154051 于 2021-2-22 15:16 编辑

源图像是网络摄像头传入的1080P的H265数据,MPP解码后经过RGA裁剪,显示出来底部存在绿边。
  1.         rga->ops->setSrcFormat(rga, V4L2_PIX_FMT_NV12, frame->coded_width, frame->coded_height);
  2.         rga->ops->setSrcCrop(rga, 0, 0, frame->width, frame->height);
  3.         rga->ops->setSrcBufferPtr(rga, frame->data);
  4.         ret = rga->ops->go(rga);
  5.         printf("coded_width:%d, coded_height: %d, width: %d, height: %d \n", frame->coded_width, frame->coded_height, frame->width, frame->height);
复制代码


上面是裁剪部分的代码,打印结果为coded_width:2304, coded_height: 1080, width: 1920, height: 1080

我把网络摄像头的参数和代码相关部分改成H264,然后重新运行程序。打印结果为coded_width:1920, coded_height: 1088, width: 1920, height: 1080。此时显示的图像正常。

关于H265解码图像异常的情况,版主有什么方法?总不能在RGA裁剪前把图像填充成1088P吧,代码计算量又得提高,且容易导致图像出错。

回复

使用道具 举报

zhuo799154051

中级会员

积分
443
沙发
 楼主| 发表于 2021-2-22 14:53:40 | 显示全部楼层
或者说有什么办法让MPP解码输出16位对齐的图像
回复

使用道具 举报

zhuo799154051

中级会员

积分
443
板凳
 楼主| 发表于 2021-2-22 15:01:18 | 显示全部楼层
jefferyzhang 发表于 2021-2-22 14:55
MPP解码后经过RGA裁剪, RGA剪裁部分宽高你是如何获取的? 自己瞎猜的?264 265对齐方式本身就不一样。
mpp ...
  1. typedef struct _DecFrame {
  2.     MppFrame mppFrame;
  3.     /* Decode format will only be V4L2_PIX_FMT_NV12. */
  4.     __u32 v4l2Format;
  5.     __u32 width;
  6.     __u32 height;

  7.     __u32 coded_width;
  8.     __u32 coded_height;

  9.     int fd;
  10.     void *data;
  11.     size_t size;
  12.     MppBufferGroup frameGroup;
  13.     MppBuffer frameBuf;
  14. } DecFrame;
复制代码
回复

使用道具 举报

zhuo799154051

中级会员

积分
443
地板
 楼主| 发表于 2021-2-22 15:02:09 | 显示全部楼层
jefferyzhang 发表于 2021-2-22 14:55
MPP解码后经过RGA裁剪, RGA剪裁部分宽高你是如何获取的? 自己瞎猜的?264 265对齐方式本身就不一样。
mpp ...

可以的。一句瞎猜就给我盖棺定论了
回复

使用道具 举报

zhuo799154051

中级会员

积分
443
5#
 楼主| 发表于 2021-2-22 15:15:39 | 显示全部楼层
jefferyzhang 发表于 2021-2-22 15:14
你如果265从mpp获取的打印出来是:
coded_width:1920, coded_height: 1080, width: 1920, height: 1080.
...

打错了。H265结果是coded_width:2304, coded_height: 1080, width: 1920, height: 1080
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表