Re: [PATCH v2] media: venus: Support V4L2 QP parameters in Venus encoder

2018-12-07 Thread Stanimir Varbanov
Hi Kelvin,

Thanks for the patch!

On 11/30/18 2:07 AM, Kelvin Lawson wrote:
> Support V4L2 QP parameters in Venus encoder:
>  * V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP
>  * V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP
>  * V4L2_CID_MPEG_VIDEO_H264_MIN_QP
>  * V4L2_CID_MPEG_VIDEO_H264_MAX_QP
> 
> Signed-off-by: Kelvin Lawson 
> ---
>  drivers/media/platform/qcom/venus/venc.c | 19 +++
>  1 file changed, 19 insertions(+)

Acked-by: Stanimir Varbanov 

-- 
regards,
Stan


[PATCH v2] media: venus: Support V4L2 QP parameters in Venus encoder

2018-11-29 Thread Kelvin Lawson
Support V4L2 QP parameters in Venus encoder:
 * V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP
 * V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP
 * V4L2_CID_MPEG_VIDEO_H264_MIN_QP
 * V4L2_CID_MPEG_VIDEO_H264_MAX_QP

Signed-off-by: Kelvin Lawson 
---
 drivers/media/platform/qcom/venus/venc.c | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/drivers/media/platform/qcom/venus/venc.c 
b/drivers/media/platform/qcom/venus/venc.c
index 41249d1..15deba7 100644
--- a/drivers/media/platform/qcom/venus/venc.c
+++ b/drivers/media/platform/qcom/venus/venc.c
@@ -651,6 +651,8 @@ static int venc_set_properties(struct venus_inst *inst)
struct hfi_framerate frate;
struct hfi_bitrate brate;
struct hfi_idr_period idrp;
+   struct hfi_quantization quant;
+   struct hfi_quantization_range quant_range;
u32 ptype, rate_control, bitrate, profile = 0, level = 0;
int ret;
 
@@ -770,6 +772,23 @@ static int venc_set_properties(struct venus_inst *inst)
if (ret)
return ret;
 
+   ptype = HFI_PROPERTY_PARAM_VENC_SESSION_QP;
+   quant.qp_i = ctr->h264_i_qp;
+   quant.qp_p = ctr->h264_p_qp;
+   quant.qp_b = ctr->h264_b_qp;
+   quant.layer_id = 0;
+   ret = hfi_session_set_property(inst, ptype, );
+   if (ret)
+   return ret;
+
+   ptype = HFI_PROPERTY_PARAM_VENC_SESSION_QP_RANGE;
+   quant_range.min_qp = ctr->h264_min_qp;
+   quant_range.max_qp = ctr->h264_max_qp;
+   quant_range.layer_id = 0;
+   ret = hfi_session_set_property(inst, ptype, _range);
+   if (ret)
+   return ret;
+
if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264) {
profile = venc_v4l2_to_hfi(V4L2_CID_MPEG_VIDEO_H264_PROFILE,
   ctr->profile.h264);
-- 
2.7.4