All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tiffany Lin <tiffany.lin@mediatek.com>
To: Alexandre Courbot <acourbot@chromium.org>
Cc: Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Maoguang Meng <maoguang.meng@mediatek.com>,
	Rui Wang <gtk_ruiwang@mediatek.com>,
	Yunfei Dong <yunfei.dong@mediatek.com>,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	Pi-Hsun Shih <pihsun@chromium.org>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH 07/10] media: mtk-vcodec: venc: remove redundant code
Date: Fri, 19 Jun 2020 14:59:12 +0800	[thread overview]
Message-ID: <1592549952.23952.3.camel@mtksdaap41> (raw)
In-Reply-To: <20200520082723.96136-8-acourbot@chromium.org>

On Wed, 2020-05-20 at 17:27 +0900, Alexandre Courbot wrote:
> vidioc_try_fmt() does clamp height and width when called on the OUTPUT
> queue, so clamping them prior to calling this function is redundant. Set
> the queue's parameters after calling vidioc_try_fmt() so we can use the
> values it computed.
> 

vidioc_try_fmt clamps height and width only when f->type ==
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE

Does this cleanup pass v4l2 compliance test?
I recall compliance test will try different fmt and make sure driver
response enough information?


> Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
> ---
>  .../media/platform/mtk-vcodec/mtk_vcodec_enc.c   | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> index 05743a745a11..f0af78f112db 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> @@ -449,7 +449,6 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
>  	struct mtk_q_data *q_data;
>  	int ret, i;
>  	const struct mtk_video_fmt *fmt;
> -	struct v4l2_pix_format_mplane *pix_fmt_mp = &f->fmt.pix_mp;
>  
>  	vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
>  	if (!vq) {
> @@ -474,20 +473,13 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
>  		f->fmt.pix.pixelformat = fmt->fourcc;
>  	}
>  
> -	pix_fmt_mp->height = clamp(pix_fmt_mp->height,
> -				MTK_VENC_MIN_H,
> -				MTK_VENC_MAX_H);
> -	pix_fmt_mp->width = clamp(pix_fmt_mp->width,
> -				MTK_VENC_MIN_W,
> -				MTK_VENC_MAX_W);
> -
> -	q_data->visible_width = f->fmt.pix_mp.width;
> -	q_data->visible_height = f->fmt.pix_mp.height;
> -	q_data->fmt = fmt;
> -	ret = vidioc_try_fmt(f, q_data->fmt);
> +	ret = vidioc_try_fmt(f, fmt);
>  	if (ret)
>  		return ret;
>  
> +	q_data->fmt = fmt;
> +	q_data->visible_width = f->fmt.pix_mp.width;
> +	q_data->visible_height = f->fmt.pix_mp.height;
>  	q_data->coded_width = f->fmt.pix_mp.width;
>  	q_data->coded_height = f->fmt.pix_mp.height;
>  

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Tiffany Lin <tiffany.lin@mediatek.com>
To: Alexandre Courbot <acourbot@chromium.org>
Cc: Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Rui Wang <gtk_ruiwang@mediatek.com>,
	Yunfei Dong <yunfei.dong@mediatek.com>,
	"Pi-Hsun Shih" <pihsun@chromium.org>,
	Maoguang Meng <maoguang.meng@mediatek.com>,
	<linux-media@vger.kernel.org>,
	<linux-mediatek@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 07/10] media: mtk-vcodec: venc: remove redundant code
Date: Fri, 19 Jun 2020 14:59:12 +0800	[thread overview]
Message-ID: <1592549952.23952.3.camel@mtksdaap41> (raw)
In-Reply-To: <20200520082723.96136-8-acourbot@chromium.org>

On Wed, 2020-05-20 at 17:27 +0900, Alexandre Courbot wrote:
> vidioc_try_fmt() does clamp height and width when called on the OUTPUT
> queue, so clamping them prior to calling this function is redundant. Set
> the queue's parameters after calling vidioc_try_fmt() so we can use the
> values it computed.
> 

vidioc_try_fmt clamps height and width only when f->type ==
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE

Does this cleanup pass v4l2 compliance test?
I recall compliance test will try different fmt and make sure driver
response enough information?


> Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
> ---
>  .../media/platform/mtk-vcodec/mtk_vcodec_enc.c   | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> index 05743a745a11..f0af78f112db 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> @@ -449,7 +449,6 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
>  	struct mtk_q_data *q_data;
>  	int ret, i;
>  	const struct mtk_video_fmt *fmt;
> -	struct v4l2_pix_format_mplane *pix_fmt_mp = &f->fmt.pix_mp;
>  
>  	vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
>  	if (!vq) {
> @@ -474,20 +473,13 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
>  		f->fmt.pix.pixelformat = fmt->fourcc;
>  	}
>  
> -	pix_fmt_mp->height = clamp(pix_fmt_mp->height,
> -				MTK_VENC_MIN_H,
> -				MTK_VENC_MAX_H);
> -	pix_fmt_mp->width = clamp(pix_fmt_mp->width,
> -				MTK_VENC_MIN_W,
> -				MTK_VENC_MAX_W);
> -
> -	q_data->visible_width = f->fmt.pix_mp.width;
> -	q_data->visible_height = f->fmt.pix_mp.height;
> -	q_data->fmt = fmt;
> -	ret = vidioc_try_fmt(f, q_data->fmt);
> +	ret = vidioc_try_fmt(f, fmt);
>  	if (ret)
>  		return ret;
>  
> +	q_data->fmt = fmt;
> +	q_data->visible_width = f->fmt.pix_mp.width;
> +	q_data->visible_height = f->fmt.pix_mp.height;
>  	q_data->coded_width = f->fmt.pix_mp.width;
>  	q_data->coded_height = f->fmt.pix_mp.height;
>  


  reply	other threads:[~2020-06-19  7:05 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-20  8:27 [PATCH 00/10] media: mtk-vcodec: venc: support for MT8183 Alexandre Courbot
2020-05-20  8:27 ` Alexandre Courbot
2020-05-20  8:27 ` [PATCH 01/10] media: mtk-vcodec: abstract firmware interface Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-08  9:29   ` Tiffany Lin
2020-06-08  9:29     ` Tiffany Lin
2020-06-08 10:16   ` Tiffany Lin
2020-06-08 10:16     ` Tiffany Lin
2020-06-08 10:41     ` Tiffany Lin
2020-06-08 10:41       ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 02/10] media: mtk-vcodec: add SCP firmware ops Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-08 10:47   ` Tiffany Lin
2020-06-08 10:47     ` Tiffany Lin
2020-06-16 13:17     ` Alexandre Courbot
2020-06-16 13:17       ` Alexandre Courbot
2020-06-24  7:56       ` Tiffany Lin
2020-06-24  7:56         ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 03/10] media: mtk-vcodec: venc: support SCP firmware Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-10  7:22   ` Tiffany Lin
2020-06-10  7:22     ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 04/10] media: mtk-vcodec: venc: handle firmware version field Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-16  9:04   ` Tiffany Lin
2020-06-16  9:04     ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 05/10] media: mtk-vcodec: venc: specify bitrate range per-chip Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-16  9:06   ` Tiffany Lin
2020-06-16  9:06     ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 06/10] media: mtk-vcodec: venc: specify supported formats per-chip Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-19  7:26   ` Tiffany Lin
2020-06-19  7:26     ` Tiffany Lin
2020-06-22 12:44     ` Alexandre Courbot
2020-06-23  1:28       ` Tiffany Lin
2020-06-26  4:54         ` Alexandre Courbot
2020-06-26  4:54           ` Alexandre Courbot
2020-05-20  8:27 ` [PATCH 07/10] media: mtk-vcodec: venc: remove redundant code Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-19  6:59   ` Tiffany Lin [this message]
2020-06-19  6:59     ` Tiffany Lin
2020-06-22 13:10     ` Alexandre Courbot
2020-06-23  1:37       ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 08/10] media: mtk-vcodec: add support for MT8183 encoder Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-19  7:12   ` Tiffany Lin
2020-06-19  7:12     ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 09/10] media: dt-bindings: mtk-vcodec: specify SCP node Alexandre Courbot
2020-05-20  8:27   ` Alexandre Courbot
2020-06-19  7:13   ` Tiffany Lin
2020-06-19  7:13     ` Tiffany Lin
2020-05-20  8:27 ` [PATCH 10/10] media: dt-bindings: mtk-vcodec: document mediatek, mt8183-vcodec-enc Alexandre Courbot
2020-05-20  8:27   ` [PATCH 10/10] media: dt-bindings: mtk-vcodec: document mediatek,mt8183-vcodec-enc Alexandre Courbot
2020-07-26 14:33 ` [PATCH 00/10] media: mtk-vcodec: venc: support for MT8183 Ezequiel Garcia
2020-07-26 14:33   ` Ezequiel Garcia
2020-07-27  9:06   ` Alexandre Courbot
2020-07-27  9:06     ` 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=1592549952.23952.3.camel@mtksdaap41 \
    --to=tiffany.lin@mediatek.com \
    --cc=acourbot@chromium.org \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=gtk_ruiwang@mediatek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=maoguang.meng@mediatek.com \
    --cc=pihsun@chromium.org \
    --cc=yunfei.dong@mediatek.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 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.