想问一下, rk的编码器怎么设置低延时模式
做一个推流的, 感觉rk的编码器有100ms延时这样
MPP_ENC_BASE_CFG_CHANGE_LOW_DELAY 这个怎么用呢, 或者这个有用吗
我增加了 mpp_enc_cfg_set_s32(cfg_, "base:low_delay", 1); mpp_enc_cfg_set_u32(cfg_, "split:mode", 1); //或者2 mpp_enc_cfg_set_u32(cfg_, "split:out", 1); rk_api_->control(codec_ctx_, MPP_ENC_SET_CFG, cfg_); 然后, -- 编码器就没输出了。
base:low_delay 这个暂时不要使用,这个是特殊用途的。 如果要低延时输出,split:mode 和 split:arg 要配置成合理值,split:out 为 1
static void check_low_delay_part_mode(MppEncImpl *enc) { MppEncCfgSet *cfg = &enc->cfg;
enc->low_delay_part_mode = 0;
if (!(cfg->base.low_delay))
return;
if (!cfg->split.split_mode)
return;
if (mpp_enc_hal_check_part_mode(enc->enc_hal))
return;
enc->low_delay_part_mode = 1;
}
有什么样例, 去配置编码低延时模式吗? @HermanChen , 这个函数感觉base.low_delay需要配成1
目前这个只在 jpeg 分段编码的情况下有用到,比较少用