linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Niklas <niklas.soderlund@ragnatech.se>
To: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	linux-media <linux-media@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Biju Das <biju.das.jz@bp.renesas.com>
Subject: Re: [PATCH] media: rcar-vin: Update crop and compose settings for every s_fmt call
Date: Mon, 3 Aug 2020 21:21:08 +0200	[thread overview]
Message-ID: <20200803192108.GB2297236@oden.dyn.berto.se> (raw)
In-Reply-To: <CA+V-a8sOHct_JetCsug8Z2BQpMLH2p39hj2XNw_1N5gkBQp1Gg@mail.gmail.com>

Hi Lad, Hans,

On 2020-08-03 19:11:32 +0100, Lad, Prabhakar wrote:
> Hi Hans,
> 
> On Sat, Aug 1, 2020 at 10:04 AM Niklas <niklas.soderlund@ragnatech.se> wrote:
> >
> > Hi Lad,
> >
> > Thanks for your work.
> >
> > On 2020-07-31 10:29:05 +0100, Lad Prabhakar wrote:
> > > The crop and compose settings for VIN in non mc mode werent updated
> > > in s_fmt call this resulted in captured images being clipped.
> > >
> > > With the below sequence on the third capture where size is set to
> > > 640x480 resulted in clipped image of size 320x240.
> > >
> > > high(640x480) -> low (320x240) -> high (640x480)
> > >
> > > This patch makes sure the VIN crop and compose settings are updated.
> >
> > This is clearly an inconsistency in the VIN driver that should be fixed.
> > But I think the none-mc mode implements the correct behavior. That is
> > that S_FMT should not modify the crop/compose rectangles other then make
> > sure they don't go out of bounds. This is an area we tried to clarify in
> > the past but I'm still not sure what the correct answer to.
> >
> What should be the exact behaviour of the bridge driver  for s_fmt
> call. Should the crop/compose settings be updated for every s_fmt
> callback or should they be only updated on s_selection callback.
> Currently the non-mc rcar-vin doesnt update the crop/compose setting
> in s_fmt callback due to which I see the above issue as mentioned.

This is not entirely correct. It does update the crop and compose 
rectangles on s_fmt, it makes sure they are not out-of-bounds for the 
new format if it's accepted by s_fmt. See v4l2_rect_map_inside() calls 
in the snippet bellow.

That being said there is a difference how this is handled in the VIN 
driver between it's MC and non-MC modes and I would love to learn the 
correct mode of operation and seeing VIN being updated to doing it 
correct in both cases. Thanks Lad for dealing with this!

> 
> Cheers,
> Prabhakar
> 
> > >
> > > Fixes: 104464f573d ("media: rcar-vin: Do not reset the crop and compose rectangles in s_fmt")
> > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> > > ---
> > >  drivers/media/platform/rcar-vin/rcar-v4l2.c | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > > index f421e25..a9b13d9 100644
> > > --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > > +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > > @@ -319,6 +319,12 @@ static int rvin_s_fmt_vid_cap(struct file *file, void *priv,
> > >       fmt_rect.width = vin->format.width;
> > >       fmt_rect.height = vin->format.height;
> > >
> > > +     vin->crop.top = 0;
> > > +     vin->crop.left = 0;
> > > +     vin->crop.width = vin->format.width;
> > > +     vin->crop.height = vin->format.height;
> > > +     vin->compose = vin->crop;
> > > +
> > >       v4l2_rect_map_inside(&vin->crop, &src_rect);
> > >       v4l2_rect_map_inside(&vin->compose, &fmt_rect);
> > >       vin->src_rect = src_rect;
> > > --
> > > 2.7.4
> > >
> >
> > --
> > Regards,
> > Niklas Söderlund

-- 
Regards,
Niklas Söderlund

  reply	other threads:[~2020-08-03 19:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31  9:29 [PATCH] media: rcar-vin: Update crop and compose settings for every s_fmt call Lad Prabhakar
2020-08-01  9:04 ` Niklas
2020-08-03 18:11   ` Lad, Prabhakar
2020-08-03 19:21     ` Niklas [this message]
2020-08-13 14:24       ` Lad, Prabhakar
2020-08-19 14:08       ` Hans Verkuil
2020-09-03 14:53         ` Lad, Prabhakar
2020-09-04  2:25           ` Laurent Pinchart
2020-09-06 19:12             ` Lad, Prabhakar
2020-09-08 15:35               ` Niklas

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=20200803192108.GB2297236@oden.dyn.berto.se \
    --to=niklas.soderlund@ragnatech.se \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=prabhakar.csengg@gmail.com \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    /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;
as well as URLs for NNTP newsgroup(s).