From: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
To: Tomasz Figa <tfiga@chromium.org>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
Helen Koike <helen.koike@collabora.com>,
Ezequiel Garcia <ezequiel@collabora.com>,
Hans Verkuil <hverkuil@xs4all.nl>,
kernel@collabora.com, Dafna Hirschfeld <dafna3@gmail.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
"open list:ARM/Rockchip SoC..."
<linux-rockchip@lists.infradead.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH v2 3/4] media: staging: rkisp1: rsz: set output format to YUV422 if cap format is YUV444
Date: Fri, 12 Jun 2020 14:45:00 +0200 [thread overview]
Message-ID: <aa52f9f8-d9e9-06b2-22df-bbab2d26b516@collabora.com> (raw)
In-Reply-To: <CAHD77HkjjWMOcX3oLnzdMuzZM-_NSydStnzLLcHEFRenL23d-A@mail.gmail.com>
On 27.05.20 01:09, Tomasz Figa wrote:
> On Fri, May 15, 2020 at 4:30 PM Dafna Hirschfeld
> <dafna.hirschfeld@collabora.com> wrote:
>>
>> If the capture format is YUV444M then the memory input format
>> should be YUV422, so the resizer should not change the default
>> hdiv, vdiv in that case.
>>
>> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
>> ---
>> drivers/staging/media/rkisp1/rkisp1-resizer.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/staging/media/rkisp1/rkisp1-resizer.c b/drivers/staging/media/rkisp1/rkisp1-resizer.c
>> index 04a29af8cc92..5f9740ddd558 100644
>> --- a/drivers/staging/media/rkisp1/rkisp1-resizer.c
>> +++ b/drivers/staging/media/rkisp1/rkisp1-resizer.c
>> @@ -394,10 +394,11 @@ static void rkisp1_rsz_config(struct rkisp1_resizer *rsz,
>> * (4:2:2 -> 4:2:0 for example). So the width/height of the CbCr
>> * streams should be set according to the pixel format in the capture.
>> * The resizer always gets the input as YUV422. If the capture format
>> - * is RGB then the memory input (the resizer output) should be YUV422
>> - * so we use the hdiv, vdiv of the YUV422 info in this case.
>> + * is RGB or YUV444 then the memory input (the resizer output) should
>> + * be YUV422 so we use the hdiv, vdiv of the YUV422 info in this case.
>> */
>> - if (v4l2_is_format_yuv(cap->pix.info)) {
>> + if (v4l2_is_format_yuv(cap->pix.info) &&
>> + cap->pix.info->format != V4L2_PIX_FMT_YUV444M) {
>> src_c.width = cap->pix.info->hdiv;
>> src_c.height = cap->pix.info->vdiv;
>
> As pointed out in another thread, this should have been the original
> size divided by the divisor and not just the latter alone.
>
> It seems a bit suspicious to me that we don't need to upscale the
> chroma planes here, because it would mean that the MI itself would be
> doing some horizontal pixel doubling. The hardware documentation
> doesn't really explain this, though.
>
> Have you been able to validate that the setting without upscaling
> indeed produces correct output?
Hi,
I investigated it again, without this patch, the frames on mainpath for YUV444 look good: https://imgur.com/a/NtazWhY
but there is a problem on selfpath: https://imgur.com/a/vQJPqAn
This patch somehow solves the problem on selfpath but ruins the frames on mainpath.
I think the bug is actually in another place in the code. The function 'rkisp1_sp_config'
sets a constant value RKISP1_MI_CTRL_SP_INPUT_YUV422 as the input format on the RKISP1_CIF_MI_CTRL register.
But the value should be set according to the configuration. For some reason the problem arises only
when trying to capture yuv444. When I capture yuv420 on the selfpath the frame looks good although the
value RKISP1_MI_CTRL_SP_INPUT_YUV422 is set.
Setting the the SP_INPUT_* according to the configuration seems to solve the problem.
Thanks,
Dafna
>
> Best regards,
> Tomasz
>
next prev parent reply other threads:[~2020-06-12 12:45 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 14:29 [PATCH v2 0/4] media: staging: rkisp1: various fixes to capture formats Dafna Hirschfeld
2020-05-15 14:29 ` [PATCH v2 1/4] media: staging: rkisp1: cap: change RGB24 format to XBGR32 Dafna Hirschfeld
2020-05-20 21:50 ` Helen Koike
2020-05-26 23:04 ` Tomasz Figa
2020-06-10 16:11 ` Dafna Hirschfeld
2020-06-10 16:15 ` Tomasz Figa
2020-05-15 14:29 ` [PATCH v2 2/4] media: staging: rkisp1: rsz: use hdiv, vdiv of yuv422 instead of macros Dafna Hirschfeld
2020-05-20 21:54 ` Helen Koike
2020-05-20 22:08 ` Helen Koike
2020-05-22 12:11 ` Dafna Hirschfeld
2020-05-22 13:31 ` Ezequiel Garcia
2020-05-22 14:15 ` Dafna Hirschfeld
2020-05-22 15:04 ` Ezequiel Garcia
2020-05-25 9:51 ` Dafna Hirschfeld
2020-05-26 22:26 ` Tomasz Figa
2020-05-22 13:57 ` Laurent Pinchart
2020-05-22 14:54 ` Dafna Hirschfeld
2020-05-22 14:59 ` Laurent Pinchart
2020-06-10 16:36 ` Dafna Hirschfeld
2020-05-26 22:44 ` Tomasz Figa
2020-06-10 17:01 ` Dafna Hirschfeld
2020-06-10 17:08 ` Tomasz Figa
2020-05-15 14:29 ` [PATCH v2 3/4] media: staging: rkisp1: rsz: set output format to YUV422 if cap format is YUV444 Dafna Hirschfeld
2020-05-20 22:23 ` Helen Koike
2020-05-26 23:09 ` Tomasz Figa
2020-06-12 12:45 ` Dafna Hirschfeld [this message]
2020-06-18 17:47 ` Tomasz Figa
2020-06-18 18:00 ` Dafna Hirschfeld
2020-06-18 18:12 ` Tomasz Figa
2020-06-18 18:50 ` Dafna Hirschfeld
2020-06-18 19:18 ` Tomasz Figa
2020-06-19 7:30 ` Dafna Hirschfeld
2020-06-19 12:04 ` Tomasz Figa
2020-07-18 16:05 ` Dafna Hirschfeld
2020-05-15 14:29 ` [PATCH v2 4/4] media: staging: rkisp1: cap: remove support of BGR666 format Dafna Hirschfeld
2020-05-20 22:34 ` Helen Koike
2020-05-26 22:57 ` Tomasz Figa
2020-05-27 10:14 ` Helen Koike
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=aa52f9f8-d9e9-06b2-22df-bbab2d26b516@collabora.com \
--to=dafna.hirschfeld@collabora.com \
--cc=dafna3@gmail.com \
--cc=ezequiel@collabora.com \
--cc=helen.koike@collabora.com \
--cc=hverkuil@xs4all.nl \
--cc=kernel@collabora.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tfiga@chromium.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;
as well as URLs for NNTP newsgroup(s).