From: "Jernej Škrabec" <jernej.skrabec@siol.net>
To: Roman Stratiienko <r.stratiienko@gmail.com>
Cc: irlied@linux.ie, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, wens@csie.org,
mripard@kernel.org, daniel@ffwll.ch,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] drm/sun4i: Fix DE2 YVU handling
Date: Wed, 02 Sep 2020 18:51:15 +0200 [thread overview]
Message-ID: <10671571.W45mMbEh4O@kista> (raw)
In-Reply-To: <CAGphcdnT4U8AztL_B_B2HYskQSAYKRgCQcnO3Q8Qj+UFO082hQ@mail.gmail.com>
Dne sreda, 02. september 2020 ob 09:01:17 CEST je Roman Stratiienko
napisal(a):
> ср, 2 сент. 2020 г. в 00:58, Jernej Skrabec <jernej.skrabec@siol.net>:
> > Function sun8i_vi_layer_get_csc_mode() is supposed to return CSC mode
> > but due to inproper return type (bool instead of u32) it returns just 0
> > or 1. Colors are wrong for YVU formats because of that.
> >
> > Fixes: daab3d0e8e2b ("drm/sun4i: de2: csc_mode in de2 format struct is
> > mostly redundant") Reported-by: Roman Stratiienko
> > <r.stratiienko@gmail.com>
> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > ---
> >
> > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c index 22c8c5375d0d..c0147af6a840
> > 100644
> > --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > @@ -211,7 +211,7 @@ static int sun8i_vi_layer_update_coord(struct
> > sun8i_mixer *mixer, int channel,>
> > return 0;
> >
> > }
> >
> > -static bool sun8i_vi_layer_get_csc_mode(const struct drm_format_info
> > *format) +static u32 sun8i_vi_layer_get_csc_mode(const struct
> > drm_format_info *format)>
> > {
> >
> > if (!format->is_yuv)
> >
> > return SUN8I_CSC_MODE_OFF;
> >
> > --
> > 2.28.0
>
> Hi Jernej,
>
> Thank you for the fix.
> I can confirm this patch fixes the issue with wrong colors.
Thanks! Can I assume that this means your Tested-by tag can be added?
>
> Let me share my thoughts:
> I've looked into csc code, and it seems to me reordering U, V offsets
> should be a much simpler solution than applying
> color transformation matrices.It should also simplify adding more
> color encodings in the future.
Switching offsets assumes that you have separate planes for U and V which may
not be true in the future. I agree that CSC matrices are needlessly duplicated
for handling U/V switch. I have a patch which reorganize matrix on the fly when
coefficients are written in registers but since it's a part of a bigger,
unfinished series, I didn't sent it out yet. Only difference in YUV and YVU CSC
matrices are switched 2nd and 3rd column.
Best regards,
Jernej
>
> Regards,
> Roman
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@siol.net>
To: Roman Stratiienko <r.stratiienko@gmail.com>
Cc: irlied@linux.ie, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, wens@csie.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] drm/sun4i: Fix DE2 YVU handling
Date: Wed, 02 Sep 2020 18:51:15 +0200 [thread overview]
Message-ID: <10671571.W45mMbEh4O@kista> (raw)
In-Reply-To: <CAGphcdnT4U8AztL_B_B2HYskQSAYKRgCQcnO3Q8Qj+UFO082hQ@mail.gmail.com>
Dne sreda, 02. september 2020 ob 09:01:17 CEST je Roman Stratiienko
napisal(a):
> ср, 2 сент. 2020 г. в 00:58, Jernej Skrabec <jernej.skrabec@siol.net>:
> > Function sun8i_vi_layer_get_csc_mode() is supposed to return CSC mode
> > but due to inproper return type (bool instead of u32) it returns just 0
> > or 1. Colors are wrong for YVU formats because of that.
> >
> > Fixes: daab3d0e8e2b ("drm/sun4i: de2: csc_mode in de2 format struct is
> > mostly redundant") Reported-by: Roman Stratiienko
> > <r.stratiienko@gmail.com>
> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > ---
> >
> > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c index 22c8c5375d0d..c0147af6a840
> > 100644
> > --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > @@ -211,7 +211,7 @@ static int sun8i_vi_layer_update_coord(struct
> > sun8i_mixer *mixer, int channel,>
> > return 0;
> >
> > }
> >
> > -static bool sun8i_vi_layer_get_csc_mode(const struct drm_format_info
> > *format) +static u32 sun8i_vi_layer_get_csc_mode(const struct
> > drm_format_info *format)>
> > {
> >
> > if (!format->is_yuv)
> >
> > return SUN8I_CSC_MODE_OFF;
> >
> > --
> > 2.28.0
>
> Hi Jernej,
>
> Thank you for the fix.
> I can confirm this patch fixes the issue with wrong colors.
Thanks! Can I assume that this means your Tested-by tag can be added?
>
> Let me share my thoughts:
> I've looked into csc code, and it seems to me reordering U, V offsets
> should be a much simpler solution than applying
> color transformation matrices.It should also simplify adding more
> color encodings in the future.
Switching offsets assumes that you have separate planes for U and V which may
not be true in the future. I agree that CSC matrices are needlessly duplicated
for handling U/V switch. I have a patch which reorganize matrix on the fly when
coefficients are written in registers but since it's a part of a bigger,
unfinished series, I didn't sent it out yet. Only difference in YUV and YVU CSC
matrices are switched 2nd and 3rd column.
Best regards,
Jernej
>
> Regards,
> Roman
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@siol.net>
To: Roman Stratiienko <r.stratiienko@gmail.com>
Cc: mripard@kernel.org, wens@csie.org, irlied@linux.ie,
daniel@ffwll.ch, dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/sun4i: Fix DE2 YVU handling
Date: Wed, 02 Sep 2020 18:51:15 +0200 [thread overview]
Message-ID: <10671571.W45mMbEh4O@kista> (raw)
In-Reply-To: <CAGphcdnT4U8AztL_B_B2HYskQSAYKRgCQcnO3Q8Qj+UFO082hQ@mail.gmail.com>
Dne sreda, 02. september 2020 ob 09:01:17 CEST je Roman Stratiienko
napisal(a):
> ср, 2 сент. 2020 г. в 00:58, Jernej Skrabec <jernej.skrabec@siol.net>:
> > Function sun8i_vi_layer_get_csc_mode() is supposed to return CSC mode
> > but due to inproper return type (bool instead of u32) it returns just 0
> > or 1. Colors are wrong for YVU formats because of that.
> >
> > Fixes: daab3d0e8e2b ("drm/sun4i: de2: csc_mode in de2 format struct is
> > mostly redundant") Reported-by: Roman Stratiienko
> > <r.stratiienko@gmail.com>
> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > ---
> >
> > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c index 22c8c5375d0d..c0147af6a840
> > 100644
> > --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> > @@ -211,7 +211,7 @@ static int sun8i_vi_layer_update_coord(struct
> > sun8i_mixer *mixer, int channel,>
> > return 0;
> >
> > }
> >
> > -static bool sun8i_vi_layer_get_csc_mode(const struct drm_format_info
> > *format) +static u32 sun8i_vi_layer_get_csc_mode(const struct
> > drm_format_info *format)>
> > {
> >
> > if (!format->is_yuv)
> >
> > return SUN8I_CSC_MODE_OFF;
> >
> > --
> > 2.28.0
>
> Hi Jernej,
>
> Thank you for the fix.
> I can confirm this patch fixes the issue with wrong colors.
Thanks! Can I assume that this means your Tested-by tag can be added?
>
> Let me share my thoughts:
> I've looked into csc code, and it seems to me reordering U, V offsets
> should be a much simpler solution than applying
> color transformation matrices.It should also simplify adding more
> color encodings in the future.
Switching offsets assumes that you have separate planes for U and V which may
not be true in the future. I agree that CSC matrices are needlessly duplicated
for handling U/V switch. I have a patch which reorganize matrix on the fly when
coefficients are written in registers but since it's a part of a bigger,
unfinished series, I didn't sent it out yet. Only difference in YUV and YVU CSC
matrices are switched 2nd and 3rd column.
Best regards,
Jernej
>
> Regards,
> Roman
next prev parent reply other threads:[~2020-09-02 16:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-01 22:03 [PATCH] drm/sun4i: Fix DE2 YVU handling Jernej Skrabec
2020-09-01 22:03 ` Jernej Skrabec
2020-09-01 22:03 ` Jernej Skrabec
2020-09-02 7:01 ` Roman Stratiienko
2020-09-02 7:01 ` Roman Stratiienko
2020-09-02 7:01 ` Roman Stratiienko
2020-09-02 16:51 ` Jernej Škrabec [this message]
2020-09-02 16:51 ` Jernej Škrabec
2020-09-02 16:51 ` Jernej Škrabec
2020-09-02 16:55 ` Roman Stratiienko
2020-09-02 16:55 ` Roman Stratiienko
2020-09-02 16:55 ` Roman Stratiienko
2020-09-04 9:06 ` Maxime Ripard
2020-09-04 9:06 ` Maxime Ripard
2020-09-04 9:06 ` Maxime Ripard
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=10671571.W45mMbEh4O@kista \
--to=jernej.skrabec@siol.net \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=irlied@linux.ie \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mripard@kernel.org \
--cc=r.stratiienko@gmail.com \
--cc=wens@csie.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.