Toybrick

3588 mpp解码怎么设置图像输出的stride?

shipinchuli

新手上路

积分
25
楼主
发表于 2025-3-4 10:12:06    查看: 238|回复: 8 | [复制链接]    打印 | 只看该作者
     3588进行h.264解码,码流图像是1024*768 ,解码后图像格式是YUV420sp,输出帧的buf申请空间是1920*1200大小。希望mpp解码后的1024*768图像能按hor_stride=1920换行来放置。但实际上MPP解码函数总是连续放置像素,即1024像素后,不换行,继续在同行的1025,1026等连续放置。    我的解码器帧MPPFrame的参数设置是:width=1024 ; heigth=768;  hor_stride=1920; ver_stride=1200 .但hor_stride参数似乎不起作用。  解码器总按图像的大小连续在buf内放置。
    1)MPP能实现hor_stride,ver_stride二维排列放置像素吗?
    2)怎么设置解码器的width, heigth, hor_stride,ver_stride参数或其它参数能做到上面功能?






回复

使用道具 举报

jefferyzhang

版主

积分
14363
沙发
发表于 7 天前 | 只看该作者
不能设置,对齐是硬件属性,取决于硬件一次性读取和处理的最佳数据长度。
回复

使用道具 举报

shipinchuli

新手上路

积分
25
板凳
 楼主| 发表于 7 天前 | 只看该作者
查看3588的硬件手册,它有HOR_STRIDE的寄存器,  RKVDEC_SWREG18_Y_HOR_STRIDE        Address: Operational Base + offset (0x0048), 不知此寄存器是否就是像素行间距stride? 解码图像是否按此来换行?
回复

使用道具 举报

shipinchuli

新手上路

积分
25
地板
 楼主| 发表于 7 天前 | 只看该作者
MPPFrame的图像是宽高二维结构,Mpp解码后的数据应该可以按MPPFrame的宽高来填图像数据吧?否则还需RGA再搬动一次?
回复

使用道具 举报

jefferyzhang

版主

积分
14363
5#
发表于 7 天前 | 只看该作者
shipinchuli 发表于 2025-3-5 15:27
MPPFrame的图像是宽高二维结构,Mpp解码后的数据应该可以按MPPFrame的宽高来填图像数据吧?否则还需RGA再搬 ...

MPP解码后结果会传递实际宽高和对齐后宽高2对参数,如果对齐宽高大于实际宽高,需要裁剪。这些属性是标准的,包括pc端播放器也是这么做的。
回复

使用道具 举报

shipinchuli

新手上路

积分
25
6#
 楼主| 发表于 7 天前 | 只看该作者
1  DRM显示的MppBuf和宽高、对齐宽高(stride)传递给MPP解码器后。  解码器不能按DRM提供的对齐宽高(stride)来填充BUF?  解码器的对齐宽高(strdie)是自己内部产生的?不能外部输入?
2  DRM的显示宽高和 解码的图像大小不一致的话,必须用RGA再复制一次?不能实现mpp解码到drm的零拷贝?
回复

使用道具 举报

shipinchuli

新手上路

积分
25
7#
 楼主| 发表于 7 天前 | 只看该作者
例如:用mpp解压2个不同分辨率的Jpeg文件,解压后的图像,怎么输出到同一个分辨率的DRM中?MPP不能按DRM传入的stride自动对齐吗?必须按MPP的“对齐宽高”再复制到DRM显示? (DRM分辨率大于 jpeg文件分辨率)
回复

使用道具 举报

jefferyzhang

版主

积分
14363
8#
发表于 6 天前 | 只看该作者
VOP是可以使用DRM接口自己剪裁显示的,剪裁并不一定要用RGA,很多IP都带有剪裁功能,比如GPU、VOP、RGA、CIF,具体场景看具体应用。
回复

使用道具 举报

shipinchuli

新手上路

积分
25
9#
 楼主| 发表于 6 天前 | 只看该作者
jefferyzhang 发表于 2025-3-6 11:47
VOP是可以使用DRM接口自己剪裁显示的,剪裁并不一定要用RGA,很多IP都带有剪裁功能,比如GPU、VOP、RGA、CI ...

好的,多谢解答!
回复

使用道具 举报

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

本版积分规则

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


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