RKMEDIA画面质量调节-QP调节

        QP是在视频采集编码过程中的量化参数,其值与画面质量成反比,即QP值越大画面质量越小,其具体调整方法如下:

typedef struct rkVENC_RC_PARAM_S {
  RK_U32 u32ThrdI[RC_TEXTURE_THR_SIZE]; // [0, 255]
  RK_U32 u32ThrdP[RC_TEXTURE_THR_SIZE]; // [0, 255]
  RK_U32 u32RowQpDeltaI;                // [0, 10]
  RK_U32 u32RowQpDeltaP;                // [0, 10]

  RK_U32 s32FirstFrameStartQp; // RW; Start QP value of the first frame
  union {
    VENC_PARAM_H264_S stParamH264;
    VENC_PARAM_H265_S stParamH265;
    VENC_PARAM_MJPEG_S stParamMjpeg;
  };
} VENC_RC_PARAM_S;

  RK_U32 u32ThrdI[RC_TEXTURE_THR_SIZE];
  RK_U32 u32ThrdP[RC_TEXTURE_THR_SIZE]; 

        分别表示I帧与P帧的阈值,一般来说不改动,这个数组是控制宏块画面质量,对于一帧图片来说改动其内部宏块的意义其实不大,因此我们通常不改动。
  RK_U32 u32RowQpDeltaI;                // [0, 10]
  RK_U32 u32RowQpDeltaP;                // [0, 10]

        分别表示I帧、P帧的宏块的QP值与整个帧的QP值之间的可接受的波动范围。

 RK_U32 s32FirstFrameStartQp; // RW; Start QP value of the first frame

        第一帧的QP值,默认-1。

下面是H264QP结构体的具体内容:

/* The param of H264e cbr*/
typedef struct rkVENC_PARAM_H264_S {
  RK_U32 u32StepQp;
  RK_U32 u32MaxQp; // RW; Range:[8, 51];the max QP value
  RK_U32 u32MinQp; // RW; Range:[0, 48]; the min QP value,can not be larger than
                   // u32MaxQp
  RK_U32 u32MaxIQp; // RW; max qp for i frame
  RK_U32 u32MinIQp; // RW; min qp for i frame,can not be larger
                    // than u32MaxIQp
  // RK_S32  s32MaxReEncodeTimes;        /* RW; Range:[0, 3]; Range:max number
  // of re-encode times.*/
} VENC_PARAM_H264_S;

  RK_U32 u32StepQp;

        整个是帧的QP的关键的配置项,其越小画面质量越好,通常配置在1-51之间
  RK_U32 u32MaxQp; // RW; Range:[8, 51];the max QP value
  RK_U32 u32MinQp; // RW; Range:[0, 48]; the min QP value,can not be larger than

        P帧最大最小的QP值
  RK_U32 u32MaxIQp; // RW; max qp for i frame
  RK_U32 u32MinIQp;

        I帧最大最小的QP值

下面是关于QP的使用,其实我们只需要在VENC下面定义结构体

    VENC_RC_PARAM_S venc_rc_param;

配置该结构体后使用该函数进行初始化即可

    ret = RK_MPI_VENC_SetRcParam(0, &venc_rc_param);

即可,其不需要单独的进行管道的配置

效果如下:

        

在文件大小中第一个视频的大小为20m第二个为3m,静态图片从键盘来看,第一个图片的清晰度远大于第二个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值