From: mgottam@codeaurora.org
To: Tomasz Figa <tfiga@chromium.org>
Cc: Stanimir Varbanov <stanimir.varbanov@linaro.org>,
Hans Verkuil <hverkuil@xs4all.nl>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
Alexandre Courbot <acourbot@chromium.org>,
vgarodia@codeaurora.org
Subject: Re: [PATCH v2] media: venus: add support for selection rectangles
Date: Fri, 09 Nov 2018 09:20:43 +0000 [thread overview]
Message-ID: <be2906d9d9c3f4618d21d4adef662d75@codeaurora.org> (raw)
In-Reply-To: <CAAFQd5CwhPTmh4kF6O23Os2tihaWEez1SM=Th6BGkf_wo_LYDA@mail.gmail.com>
On 2018-11-09 07:56, Tomasz Figa wrote:
> Hi Malathi,
>
> On Fri, Nov 9, 2018 at 4:39 PM Malathi Gottam <mgottam@codeaurora.org>
> wrote:
>>
>> Handles target type crop by setting the new active rectangle
>> to hardware. The new rectangle should be within YUV size.
>>
>> Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
>> ---
>> drivers/media/platform/qcom/venus/venc.c | 26
>> ++++++++++++++++++++++----
>> 1 file changed, 22 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/media/platform/qcom/venus/venc.c
>> b/drivers/media/platform/qcom/venus/venc.c
>> index ce85962..d26c129 100644
>> --- a/drivers/media/platform/qcom/venus/venc.c
>> +++ b/drivers/media/platform/qcom/venus/venc.c
>> @@ -478,16 +478,34 @@ static int venc_g_fmt(struct file *file, void
>> *fh, struct v4l2_format *f)
>> venc_s_selection(struct file *file, void *fh, struct v4l2_selection
>> *s)
>> {
>> struct venus_inst *inst = to_inst(file);
>> + int ret;
>> + u32 buftype;
>>
>> if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
>> return -EINVAL;
>>
>> switch (s->target) {
>> case V4L2_SEL_TGT_CROP:
>> - if (s->r.width != inst->out_width ||
>> - s->r.height != inst->out_height ||
>> - s->r.top != 0 || s->r.left != 0)
>> - return -EINVAL;
>> + if (s->r.left != 0) {
>> + s->r.width += s->r.left;
>> + s->r.left = 0;
>> + }
>> +
>> + if (s->r.top != 0) {
>> + s->r.height += s->r.top;
>> + s->r.top = 0;
>> + }
>> +
>> + if (s->r.width > inst->width)
>> + s->r.width = inst->width;
>> + else
>> + inst->width = s->r.width;
>> +
>> + if (s->r.height > inst->height)
>> + s->r.height = inst->height;
>> + else
>> + inst->height = s->r.height;
>> +
>
> From semantic point of view, it looks fine, but where is the rectangle
> actually set to the hardware?
>
> Best regards,
> Tomasz
As this set selection call occurs before the hfi session initialization,
for now we are holding these values in driver.
As this call is followed by VIDIOC_REQBUFS(), as a part of this
we have venc_init_session
static int venc_init_session(struct venus_inst *inst)
{
int ret;
ret = hfi_session_init(inst, inst->fmt_cap->pixfmt);
if (ret)
return ret;
ret = venus_helper_set_input_resolution(inst, inst->width,
inst->height);
if (ret)
goto deinit;
ret = venus_helper_set_output_resolution(inst, inst->width,
inst->height,
HFI_BUFFER_OUTPUT);
if (ret)
goto deinit;
ret = venus_helper_set_color_format(inst, inst->fmt_out->pixfmt);
if (ret)
goto deinit;
ret = venc_set_properties(inst);
From here we set these values to hardware.
next prev parent reply other threads:[~2018-11-09 9:20 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-09 7:39 [PATCH v2] media: venus: add support for selection rectangles Malathi Gottam
2018-11-09 7:56 ` Tomasz Figa
2018-11-09 7:56 ` Tomasz Figa
2018-11-09 9:20 ` mgottam [this message]
2018-11-09 10:31 ` Tomasz Figa
2018-11-12 8:35 ` Alexandre Courbot
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=be2906d9d9c3f4618d21d4adef662d75@codeaurora.org \
--to=mgottam@codeaurora.org \
--cc=acourbot@chromium.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=stanimir.varbanov@linaro.org \
--cc=tfiga@chromium.org \
--cc=vgarodia@codeaurora.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.