设置2000k的码率 希望达到的效果是,vbr下若画面静止,则码率很低
实测,vbr模式 画面静止时 发现码率依然很高 基本恒定不变
编码参数设置如下:
pDynPrm->frameRate = 30; // NOT USED
pDynPrm->targetBitRate = 2000 * 1000;
pDynPrm->intraFrameInterval = 30;
pDynPrm->interFrameInterval = 1;
pDynPrm->inputFrameRate = pDynPrm->frameRate;
pDynPrm->rcAlg = pChPrm->rcType; // MUST be same as pChPrm->rcType
pDynPrm->qpMin = 10;
pDynPrm->qpMax = 40;
pDynPrm->qpInit = -1; // SHOULD BE SET to -1 ALWAYS
pDynPrm->vbrDuration = 8;
pDynPrm->vbrSensitivity = 0;
zhipeng zhu:
dm8168 rdk版本4.02
Louis:
回复 zhipeng zhu:
你好,
建议分析一下静态的图像的P帧,看看QP值和MB的类型,一般说来静态图像下,由于前后帧差异不大,SKIP宏块的数量应该会比较多。
Louis:
回复 Louis:
把pDynPrm->qpMax 再设大一点试试。
zhipeng zhu:
回复 Louis:
设60 启动失败 看来不能设置太大
我把静止图像的yuv数据也存了下来 发现确实文件太大了
zhipeng zhu:
回复 Louis:
我发一下p帧的mb info,黄色是skip的数据
position : 28x26slice_id : 1mb_addr : 3148size (in bits) : 0tr, pr, mv size : 0, 0, 0mb_type : Inter 5 (P_Skip)transform_8x8 : 0field\frame : framecbp bits : 0 0000 0 00 0 00 : 0000 00 00 : 0000 : 0000quant_param : 36pmode : Part_16x16
position : 28x26slice_id : 1mb_addr : 3148size (in bits) : 1tr, pr, mv size : 0, 0, 0mb_type : Inter 5 (P_Skip)transform_8x8 : 0field\frame : framecbp bits : 0 0000 0 00 0 00 : 0000 00 00 : 0000 : 0000quant_param : 29pmode : Part_16x16
position : 28x26slice_id : 1mb_addr : 3148size (in bits) : 0tr, pr, mv size : 0, 0, 0mb_type : Inter 5 (P_Skip)transform_8x8 : 0field\frame : framecbp bits : 0 0000 0 00 0 00 : 0000 00 00 : 0000 : 0000quant_param : 34pmode : Part_16x16
Louis:
回复 zhipeng zhu:
把P宏块的info也share一下,里面的QP是多少?图像上的噪声明显么?
TI中文支持网


