mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: quic_vboma@quicinc.com
To: Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Viswanath Boma <quic_vboma@quicinc.com>,
	Vikash Garodia <quic_vgarodia@quicinc.com>
Subject: [PATCH V2 2/7] venus : Addition of control support - V4L2_CID_MIN_BUFFERS_FOR_OUTPUT
Date: Mon,  8 Aug 2022 14:58:29 +0530	[thread overview]
Message-ID: <20220808092834.29775-3-quic_vboma@quicinc.com> (raw)
In-Reply-To: <20220808092834.29775-1-quic_vboma@quicinc.com>

From: Viswanath Boma <quic_vboma@quicinc.com>

V4l2 encoder compliance expecting minimum buffers support for 
the application to allocate buffers as per the control support values.

Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
---
 .../media/platform/qcom/venus/venc_ctrls.c    | 27 ++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/venc_ctrls.c b/drivers/media/platform/qcom/venus/venc_ctrls.c
index aa44c0b3ceb57..b4437cf598ff1 100644
--- a/drivers/media/platform/qcom/venus/venc_ctrls.c
+++ b/drivers/media/platform/qcom/venus/venc_ctrls.c
@@ -8,6 +8,7 @@
 
 #include "core.h"
 #include "venc.h"
+#include "helpers.h"
 
 #define BITRATE_MIN		32000
 #define BITRATE_MAX		160000000
@@ -345,8 +346,29 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl)
 	return 0;
 }
 
+static int venc_op_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
+{
+	struct venus_inst *inst = ctrl_to_inst(ctrl);
+	struct hfi_buffer_requirements bufreq;
+	enum hfi_version ver = inst->core->res->hfi_version;
+	int ret;
+
+	switch (ctrl->id) {
+	case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT:
+		ret = venus_helper_get_bufreq(inst, HFI_BUFFER_INPUT, &bufreq);
+		if (!ret)
+			ctrl->val = HFI_BUFREQ_COUNT_MIN(&bufreq, ver);
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
 static const struct v4l2_ctrl_ops venc_ctrl_ops = {
 	.s_ctrl = venc_op_s_ctrl,
+	.g_volatile_ctrl = venc_op_g_volatile_ctrl,
 };
 
 int venc_ctrl_init(struct venus_inst *inst)
@@ -357,7 +379,7 @@ int venc_ctrl_init(struct venus_inst *inst)
 		{ 16000, 34500, 3000 }, 15635, 16450, 10000000, 500,
 	};
 
-	ret = v4l2_ctrl_handler_init(&inst->ctrl_handler, 58);
+	ret = v4l2_ctrl_handler_init(&inst->ctrl_handler, 59);
 	if (ret)
 		return ret;
 
@@ -437,6 +459,9 @@ int venc_ctrl_init(struct venus_inst *inst)
 		V4L2_MPEG_VIDEO_VP8_PROFILE_3,
 		0, V4L2_MPEG_VIDEO_VP8_PROFILE_0);
 
+	v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops,
+			  V4L2_CID_MIN_BUFFERS_FOR_OUTPUT, 4, 11, 1, 4);
+
 	v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops,
 		V4L2_CID_MPEG_VIDEO_BITRATE, BITRATE_MIN, BITRATE_MAX,
 		BITRATE_STEP, BITRATE_DEFAULT);
-- 
2.17.1


  parent reply	other threads:[~2022-08-08  9:32 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-12 12:23 [PATCH 1/7] venus : Add default values for the control V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY Viswanath Boma
2022-07-12 12:23 ` [PATCH 2/7] venus : Addition of control support - V4L2_CID_MIN_BUFFERS_FOR_OUTPUT Viswanath Boma
2022-07-25 10:37   ` Stanimir Varbanov
2022-07-12 12:23 ` [PATCH 3/7] venus : CAPTURE Plane width/height alignment with OUT plane Viswanath Boma
2022-07-12 12:23 ` [PATCH 4/7] venus : Addition of EOS Event support for Encoder Viswanath Boma
2022-07-25 10:44   ` Stanimir Varbanov
2022-07-12 12:23 ` [PATCH 5/7] venus : Addition of support for VIDIOC_TRY_ENCODER_CMD Viswanath Boma
2022-07-26 10:05   ` Stanimir Varbanov
2022-07-12 12:23 ` [PATCH 6/7] venus : Remove the capture plane settings for venc_g_parm/venc_s_parm Viswanath Boma
2022-07-12 12:23 ` [PATCH 7/7] venus : Allow MIN/MAX settings for the v4l2 encoder controls defined range Viswanath Boma
2022-07-25 10:41   ` Stanimir Varbanov
2022-07-12 12:35 ` [PATCH 1/7] venus : Add default values for the control V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY Manivannan Sadhasivam
2022-07-18 10:31   ` Viswanath Boma (Temp)
2022-07-12 13:34 ` Nicolas Dufresne
2022-07-18 10:35   ` Viswanath Boma (Temp)
2022-07-25  9:01   ` Stanimir Varbanov
2022-07-25  9:07 ` Stanimir Varbanov
2022-08-08  9:28 ` [PATCH V2 0/7] Fixes for Encoder Compliance issues quic_vboma
2022-08-08  9:28   ` [PATCH V2 1/7] venus : Add default values for the control quic_vboma
2022-08-08  9:28   ` quic_vboma [this message]
2022-08-08  9:28   ` [PATCH V2 3/7] venus : CAPTURE Plane width/height alignment with OUT plane quic_vboma
2022-08-08  9:28   ` [PATCH V2 4/7] venus : Addition of EOS Event support for Encoder quic_vboma
2022-08-08  9:28   ` [PATCH V2 5/7] venus : Addition of support for VIDIOC_TRY_ENCODER_CMD quic_vboma
2022-08-08  9:28   ` [PATCH V2 6/7] venus : Remove the capture plane settings for venc_g_parm/venc_s_parm quic_vboma
2022-08-30 13:30     ` Stanimir Varbanov
2022-08-08  9:28   ` [PATCH V2 7/7] venus : Allow MIN/MAX settings for the v4l2 encoder controls defined range quic_vboma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220808092834.29775-3-quic_vboma@quicinc.com \
    --to=quic_vboma@quicinc.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=quic_vgarodia@quicinc.com \
    --cc=stanimir.varbanov@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®