media: venus: venc: configure entropy mode
H264 entropy mode can be selected via V4L2 API but is eventually not applied. Configure encoder with selected mode, CALVC (def) or CABAC. Note that hw/firmware also expects a CABAC model configuration which currently doesn't have existing V4L2 API control. For now, use model_0 which seems always supported and so the default one. Signed-off-by: Loic Poulain <loic.poulain@linaro.org> Reviewed-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
5a18c2434f
commit
a7837e1167
@ -641,6 +641,7 @@ static int venc_set_properties(struct venus_inst *inst)
|
||||
|
||||
if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264) {
|
||||
struct hfi_h264_vui_timing_info info;
|
||||
struct hfi_h264_entropy_control entropy;
|
||||
|
||||
ptype = HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO;
|
||||
info.enable = 1;
|
||||
@ -650,6 +651,16 @@ static int venc_set_properties(struct venus_inst *inst)
|
||||
ret = hfi_session_set_property(inst, ptype, &info);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ptype = HFI_PROPERTY_PARAM_VENC_H264_ENTROPY_CONTROL;
|
||||
entropy.entropy_mode = venc_v4l2_to_hfi(
|
||||
V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,
|
||||
ctr->h264_entropy_mode);
|
||||
entropy.cabac_model = HFI_H264_CABAC_MODEL_0;
|
||||
|
||||
ret = hfi_session_set_property(inst, ptype, &entropy);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* IDR periodicity, n:
|
||||
|
Loading…
x
Reference in New Issue
Block a user