media: venus: venc: set IDR period to FW only for H264 & HEVC
HFI_PROPERTY_CONFIG_VENC_IDR_PERIOD is supported for only H264 & HEVC codec. There is no need to set it for VP8 since all key frames are treated as IDR frames for VP8. Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
002c22bd36
commit
f0ddb4e991
|
@ -598,16 +598,19 @@ static int venc_set_properties(struct venus_inst *inst)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* IDR periodicity, n:
|
||||
* n = 0 - only the first I-frame is IDR frame
|
||||
* n = 1 - all I-frames will be IDR frames
|
||||
* n > 1 - every n-th I-frame will be IDR frame
|
||||
*/
|
||||
ptype = HFI_PROPERTY_CONFIG_VENC_IDR_PERIOD;
|
||||
idrp.idr_period = 0;
|
||||
ret = hfi_session_set_property(inst, ptype, &idrp);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 ||
|
||||
inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
|
||||
/* IDR periodicity, n:
|
||||
* n = 0 - only the first I-frame is IDR frame
|
||||
* n = 1 - all I-frames will be IDR frames
|
||||
* n > 1 - every n-th I-frame will be IDR frame
|
||||
*/
|
||||
ptype = HFI_PROPERTY_CONFIG_VENC_IDR_PERIOD;
|
||||
idrp.idr_period = 0;
|
||||
ret = hfi_session_set_property(inst, ptype, &idrp);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ctr->num_b_frames) {
|
||||
u32 max_num_b_frames = NUM_B_FRAMES_MAX;
|
||||
|
|
Loading…
Reference in New Issue