Toybrick

楼主: jefferyzhang

RK3399Pro入门教程(6)硬件编解码器MPP库的使用

 

Dream_BJ

注册会员

积分
74
发表于 2020-9-25 16:35:46 | 显示全部楼层
    示例:
EncCtx ctx;
ctx.v4l2format = V4L2_PIX_FMT_NV12;
ctx.width = 1920;
ctx.heigh = 1080;
ctx.size = 1920 * 1080 * 3 / 2;
ctx.fps = 25;
ctx.gop = 25;
ctx.bps = 1920 * 1080 /16 * ctx.fps;
ctx.mode = ENCODE_RC_MODE_CBR;
ctx.quality = ENCODE_QUALITY_BEST;
ctx.profile = ENCODE_PROFILE_HIGH;
MppEncoder *enc = MppEncoderCreate(ctx, ENCODE_TYPE_H264);
我想问下创建MPP实例时候我原图是RGB888,这里的ctx.format应该用哪个,size的计算方式是什么,bps计算方式是什么?求版主答复
回复

使用道具 举报

gao

注册会员

积分
76
发表于 2020-9-28 16:20:05 | 显示全部楼层
yaowei 发表于 2019-4-18 17:17
我也成功用起来了,不止需要gstreamer-rockchip,还需要其他一些库,现在可以解码视频和rtsp摄像头。 ...

请问是怎么实现使用Python和gstreamer-rockchip实现视频硬解码的?感激不尽
回复

使用道具 举报

Rereflyer

新手上路

积分
38
发表于 2020-10-10 15:32:29 | 显示全部楼层
你好,请教一个问题,mpp图像内存分配总共有三种模式:
1、纯内部分配模式;
2、半内部分配模式;
3、纯外部分配模式;
其中,对于第一种模式,内存都是从解码器内部分配的,如果码流输入的速度很快,用户又没有及时释放内存,解码器会很快消耗掉全部的可用内存,那么,请问解码器内部默认的内存是多大呢?(以rk3399pro为例)
回复

使用道具 举报

jefferyzhang

论坛元老

积分
8193
 楼主| 发表于 2020-10-10 15:37:00 | 显示全部楼层
Rereflyer 发表于 2020-10-10 15:32
你好,请教一个问题,mpp图像内存分配总共有三种模式:
1、纯内部分配模式;
2、半内部分配模式;

循环内存,不会消耗掉全部的。放心使用。。
回复

使用道具 举报

Rereflyer

新手上路

积分
38
发表于 2020-10-10 16:20:13 | 显示全部楼层
jefferyzhang 发表于 2020-10-10 15:37
循环内存,不会消耗掉全部的。放心使用。。

感谢回复~

但是我现在只有一路15帧的H264视频进行解码,报出来以下错误:
mpp[10805]: mpp_log: decode_put_packet failed, return -1012
我查了一下,-1012表示MPP_ERR_BUFFER_FULL,decode_put_packet因为buffer满,所以送packet失败,不算特别频繁,大概10帧左右会报出来一个这种错误
回复

使用道具 举报

jefferyzhang

论坛元老

积分
8193
 楼主| 发表于 2020-10-10 16:27:09 | 显示全部楼层
Rereflyer 发表于 2020-10-10 16:20
感谢回复~

但是我现在只有一路15帧的H264视频进行解码,报出来以下错误:

要么塞太快,要么塞得内容无法解码,一直堆在那里堆满了就报错了。
要么就是解码完的buffer没拿走。
这一般都是你自己代码没写好造成的,自己多调试下。
回复

使用道具 举报

Rereflyer

新手上路

积分
38
发表于 2020-10-10 16:44:21 | 显示全部楼层
jefferyzhang 发表于 2020-10-10 16:27
要么塞太快,要么塞得内容无法解码,一直堆在那里堆满了就报错了。
要么就是解码完的buffer没拿走。
这一 ...

好的,多谢~

我写的代码参考了/usr/share/rockchip_mpp/example这个目录下的demo,是通过sudo apt install rockchip-mpp-dev得到的,想问一下,rockchip-mpp-dev,包括rockchip-drm-dev/rockchip-rga-dev这几个库,哪里可以下到源码吗?

目前找到的是https://github.com/HermanChen/mpp这个库,但是很明显,这个库和上面几个库封装上或者说用法上还是稍微有些不一样
回复

使用道具 举报

jefferyzhang

论坛元老

积分
8193
 楼主| 发表于 2020-10-10 17:39:51 | 显示全部楼层
Rereflyer 发表于 2020-10-10 16:44
好的,多谢~

我写的代码参考了/usr/share/rockchip_mpp/example这个目录下的demo,是通过sudo apt inst ...

https://github.com/HermanChen/mpp
这个才是根源,我们版本不会一直跟着他更新,你们开发可以不断用最新的。
回复

使用道具 举报

whx_huxin

注册会员

积分
102
发表于 2020-10-14 15:17:23 | 显示全部楼层
decode_get_frame解码720P H264包,发现返回值为MPP_OK,但是frame指针一直为NULL,请问这是什么情况?
回复

使用道具 举报

jefferyzhang

论坛元老

积分
8193
 楼主| 发表于 2020-10-14 19:49:41 | 显示全部楼层
whx_huxin 发表于 2020-10-14 15:17
decode_get_frame解码720P H264包,发现返回值为MPP_OK,但是frame指针一直为NULL,请问这是什么情况? ...

请参考mpi_dec_test
回复

使用道具 举报

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

本版积分规则

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


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