All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de,
	mchehab@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de,
	daniel.almeida@collabora.com, nicolas.dufresne@collabora.co.uk
Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com
Subject: Re: [PATCH v3 13/13] media: verisilicon: Conditionnaly ignore native formats
Date: Wed, 25 Jan 2023 13:39:44 +0100	[thread overview]
Message-ID: <87f60e3e-4d91-5fed-eeaa-406e0a47a684@xs4all.nl> (raw)
In-Reply-To: <20230111165931.753763-14-benjamin.gaignard@collabora.com>

Typo in Subject line: Conditionnaly -> Conditionally

Regards,

	Hans

On 1/11/23 17:59, Benjamin Gaignard wrote:
> AV1 film grain feature requires to use the postprocessor to produce
> valid frames. In such case the driver shouldn't propose native pixels
> format but only post-processed pixels format.
> Additionally if when setting a control a value could change capture
> queue pixels formats it is needed to call hantro_reset_raw_fmt().
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> ---
> v3:
> - Reset raw pixel formats list when bit depth or film grain feature
>   values change.
> 
>  drivers/media/platform/verisilicon/hantro.h      |  3 +++
>  drivers/media/platform/verisilicon/hantro_drv.c  | 11 ++++++++++-
>  .../media/platform/verisilicon/hantro_postproc.c |  4 ++++
>  drivers/media/platform/verisilicon/hantro_v4l2.c | 16 +++++++++++++++-
>  drivers/media/platform/verisilicon/hantro_v4l2.h |  1 +
>  5 files changed, 33 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index a98cb40a8d3b..7a5357e810fb 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -231,6 +231,8 @@ struct hantro_dev {
>   * @ctrl_handler:	Control handler used to register controls.
>   * @jpeg_quality:	User-specified JPEG compression quality.
>   * @bit_depth:		Bit depth of current frame
> + * @need_postproc:	Set to true if the bitstream features require to
> + *			use the post-processor.
>   *
>   * @codec_ops:		Set of operations related to codec mode.
>   * @postproc:		Post-processing context.
> @@ -258,6 +260,7 @@ struct hantro_ctx {
>  	struct v4l2_ctrl_handler ctrl_handler;
>  	int jpeg_quality;
>  	int bit_depth;
> +	bool need_postproc;
>  
>  	const struct hantro_codec_ops *codec_ops;
>  	struct hantro_postproc_ctx postproc;
> diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> index 4fc6dea16ae6..ef99f0f0fc53 100644
> --- a/drivers/media/platform/verisilicon/hantro_drv.c
> +++ b/drivers/media/platform/verisilicon/hantro_drv.c
> @@ -340,12 +340,21 @@ static int hantro_av1_s_ctrl(struct v4l2_ctrl *ctrl)
>  	switch (ctrl->id) {
>  	case V4L2_CID_STATELESS_AV1_SEQUENCE:
>  		int bit_depth = ctrl->p_new.p_av1_sequence->bit_depth;
> +		bool need_postproc = false;
>  
>  		if (vb2_is_streaming(v4l2_m2m_get_src_vq(ctx->fh.m2m_ctx)))
>  			if (ctx->bit_depth != bit_depth)
>  				return -EINVAL;
>  
> -		ctx->bit_depth = bit_depth;
> +		if (ctrl->p_new.p_av1_sequence->flags
> +		    & V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT)
> +			need_postproc = true;
> +
> +		if (ctx->bit_depth != bit_depth || ctx->need_postproc != need_postproc) {
> +			ctx->bit_depth = bit_depth;
> +			ctx->need_postproc = need_postproc;
> +			hantro_reset_raw_fmt(ctx);
> +		}
>  		break;
>  	default:
>  		return -EINVAL;
> diff --git a/drivers/media/platform/verisilicon/hantro_postproc.c b/drivers/media/platform/verisilicon/hantro_postproc.c
> index 7dc39519a2ee..293e5612e2ce 100644
> --- a/drivers/media/platform/verisilicon/hantro_postproc.c
> +++ b/drivers/media/platform/verisilicon/hantro_postproc.c
> @@ -57,6 +57,10 @@ bool hantro_needs_postproc(const struct hantro_ctx *ctx,
>  {
>  	if (ctx->is_encoder)
>  		return false;
> +
> +	if (ctx->need_postproc)
> +		return true;
> +
>  	return fmt->postprocessed;
>  }
>  
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index bbe79dbd2cd9..7566fe86f624 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.c
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
> @@ -38,6 +38,11 @@ hantro_get_formats(const struct hantro_ctx *ctx, unsigned int *num_fmts)
>  {
>  	const struct hantro_fmt *formats;
>  
> +	if (ctx->need_postproc) {
> +		*num_fmts = 0;
> +		return NULL;
> +	}
> +
>  	if (ctx->is_encoder) {
>  		formats = ctx->dev->variant->enc_fmts;
>  		*num_fmts = ctx->dev->variant->num_enc_fmts;
> @@ -132,6 +137,15 @@ hantro_get_default_fmt(const struct hantro_ctx *ctx, bool bitstream)
>  		    hantro_check_depth_match(ctx, &formats[i]))
>  			return &formats[i];
>  	}
> +
> +	formats = hantro_get_postproc_formats(ctx, &num_fmts);
> +	for (i = 0; i < num_fmts; i++) {
> +		if (bitstream == (formats[i].codec_mode !=
> +				  HANTRO_MODE_NONE) &&
> +		    hantro_check_depth_match(ctx, &formats[i]))
> +			return &formats[i];
> +	}
> +
>  	return NULL;
>  }
>  
> @@ -404,7 +418,7 @@ hantro_reset_encoded_fmt(struct hantro_ctx *ctx)
>  		hantro_set_fmt_out(ctx, fmt);
>  }
>  
> -static void
> +void
>  hantro_reset_raw_fmt(struct hantro_ctx *ctx)
>  {
>  	const struct hantro_fmt *raw_vpu_fmt;
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.h b/drivers/media/platform/verisilicon/hantro_v4l2.h
> index 64f6f57e9d7a..f642560aed93 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.h
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.h
> @@ -21,6 +21,7 @@
>  extern const struct v4l2_ioctl_ops hantro_ioctl_ops;
>  extern const struct vb2_ops hantro_queue_ops;
>  
> +void hantro_reset_raw_fmt(struct hantro_ctx *ctx);
>  void hantro_reset_fmts(struct hantro_ctx *ctx);
>  int hantro_get_format_depth(u32 fourcc);
>  const struct hantro_fmt *


WARNING: multiple messages have this Message-ID (diff)
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de,
	mchehab@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de,
	daniel.almeida@collabora.com, nicolas.dufresne@collabora.co.uk
Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com
Subject: Re: [PATCH v3 13/13] media: verisilicon: Conditionnaly ignore native formats
Date: Wed, 25 Jan 2023 13:39:44 +0100	[thread overview]
Message-ID: <87f60e3e-4d91-5fed-eeaa-406e0a47a684@xs4all.nl> (raw)
In-Reply-To: <20230111165931.753763-14-benjamin.gaignard@collabora.com>

Typo in Subject line: Conditionnaly -> Conditionally

Regards,

	Hans

On 1/11/23 17:59, Benjamin Gaignard wrote:
> AV1 film grain feature requires to use the postprocessor to produce
> valid frames. In such case the driver shouldn't propose native pixels
> format but only post-processed pixels format.
> Additionally if when setting a control a value could change capture
> queue pixels formats it is needed to call hantro_reset_raw_fmt().
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> ---
> v3:
> - Reset raw pixel formats list when bit depth or film grain feature
>   values change.
> 
>  drivers/media/platform/verisilicon/hantro.h      |  3 +++
>  drivers/media/platform/verisilicon/hantro_drv.c  | 11 ++++++++++-
>  .../media/platform/verisilicon/hantro_postproc.c |  4 ++++
>  drivers/media/platform/verisilicon/hantro_v4l2.c | 16 +++++++++++++++-
>  drivers/media/platform/verisilicon/hantro_v4l2.h |  1 +
>  5 files changed, 33 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index a98cb40a8d3b..7a5357e810fb 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -231,6 +231,8 @@ struct hantro_dev {
>   * @ctrl_handler:	Control handler used to register controls.
>   * @jpeg_quality:	User-specified JPEG compression quality.
>   * @bit_depth:		Bit depth of current frame
> + * @need_postproc:	Set to true if the bitstream features require to
> + *			use the post-processor.
>   *
>   * @codec_ops:		Set of operations related to codec mode.
>   * @postproc:		Post-processing context.
> @@ -258,6 +260,7 @@ struct hantro_ctx {
>  	struct v4l2_ctrl_handler ctrl_handler;
>  	int jpeg_quality;
>  	int bit_depth;
> +	bool need_postproc;
>  
>  	const struct hantro_codec_ops *codec_ops;
>  	struct hantro_postproc_ctx postproc;
> diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> index 4fc6dea16ae6..ef99f0f0fc53 100644
> --- a/drivers/media/platform/verisilicon/hantro_drv.c
> +++ b/drivers/media/platform/verisilicon/hantro_drv.c
> @@ -340,12 +340,21 @@ static int hantro_av1_s_ctrl(struct v4l2_ctrl *ctrl)
>  	switch (ctrl->id) {
>  	case V4L2_CID_STATELESS_AV1_SEQUENCE:
>  		int bit_depth = ctrl->p_new.p_av1_sequence->bit_depth;
> +		bool need_postproc = false;
>  
>  		if (vb2_is_streaming(v4l2_m2m_get_src_vq(ctx->fh.m2m_ctx)))
>  			if (ctx->bit_depth != bit_depth)
>  				return -EINVAL;
>  
> -		ctx->bit_depth = bit_depth;
> +		if (ctrl->p_new.p_av1_sequence->flags
> +		    & V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT)
> +			need_postproc = true;
> +
> +		if (ctx->bit_depth != bit_depth || ctx->need_postproc != need_postproc) {
> +			ctx->bit_depth = bit_depth;
> +			ctx->need_postproc = need_postproc;
> +			hantro_reset_raw_fmt(ctx);
> +		}
>  		break;
>  	default:
>  		return -EINVAL;
> diff --git a/drivers/media/platform/verisilicon/hantro_postproc.c b/drivers/media/platform/verisilicon/hantro_postproc.c
> index 7dc39519a2ee..293e5612e2ce 100644
> --- a/drivers/media/platform/verisilicon/hantro_postproc.c
> +++ b/drivers/media/platform/verisilicon/hantro_postproc.c
> @@ -57,6 +57,10 @@ bool hantro_needs_postproc(const struct hantro_ctx *ctx,
>  {
>  	if (ctx->is_encoder)
>  		return false;
> +
> +	if (ctx->need_postproc)
> +		return true;
> +
>  	return fmt->postprocessed;
>  }
>  
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index bbe79dbd2cd9..7566fe86f624 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.c
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
> @@ -38,6 +38,11 @@ hantro_get_formats(const struct hantro_ctx *ctx, unsigned int *num_fmts)
>  {
>  	const struct hantro_fmt *formats;
>  
> +	if (ctx->need_postproc) {
> +		*num_fmts = 0;
> +		return NULL;
> +	}
> +
>  	if (ctx->is_encoder) {
>  		formats = ctx->dev->variant->enc_fmts;
>  		*num_fmts = ctx->dev->variant->num_enc_fmts;
> @@ -132,6 +137,15 @@ hantro_get_default_fmt(const struct hantro_ctx *ctx, bool bitstream)
>  		    hantro_check_depth_match(ctx, &formats[i]))
>  			return &formats[i];
>  	}
> +
> +	formats = hantro_get_postproc_formats(ctx, &num_fmts);
> +	for (i = 0; i < num_fmts; i++) {
> +		if (bitstream == (formats[i].codec_mode !=
> +				  HANTRO_MODE_NONE) &&
> +		    hantro_check_depth_match(ctx, &formats[i]))
> +			return &formats[i];
> +	}
> +
>  	return NULL;
>  }
>  
> @@ -404,7 +418,7 @@ hantro_reset_encoded_fmt(struct hantro_ctx *ctx)
>  		hantro_set_fmt_out(ctx, fmt);
>  }
>  
> -static void
> +void
>  hantro_reset_raw_fmt(struct hantro_ctx *ctx)
>  {
>  	const struct hantro_fmt *raw_vpu_fmt;
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.h b/drivers/media/platform/verisilicon/hantro_v4l2.h
> index 64f6f57e9d7a..f642560aed93 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.h
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.h
> @@ -21,6 +21,7 @@
>  extern const struct v4l2_ioctl_ops hantro_ioctl_ops;
>  extern const struct vb2_ops hantro_queue_ops;
>  
> +void hantro_reset_raw_fmt(struct hantro_ctx *ctx);
>  void hantro_reset_fmts(struct hantro_ctx *ctx);
>  int hantro_get_format_depth(u32 fourcc);
>  const struct hantro_fmt *


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

WARNING: multiple messages have this Message-ID (diff)
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de,
	mchehab@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de,
	daniel.almeida@collabora.com, nicolas.dufresne@collabora.co.uk
Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com
Subject: Re: [PATCH v3 13/13] media: verisilicon: Conditionnaly ignore native formats
Date: Wed, 25 Jan 2023 13:39:44 +0100	[thread overview]
Message-ID: <87f60e3e-4d91-5fed-eeaa-406e0a47a684@xs4all.nl> (raw)
In-Reply-To: <20230111165931.753763-14-benjamin.gaignard@collabora.com>

Typo in Subject line: Conditionnaly -> Conditionally

Regards,

	Hans

On 1/11/23 17:59, Benjamin Gaignard wrote:
> AV1 film grain feature requires to use the postprocessor to produce
> valid frames. In such case the driver shouldn't propose native pixels
> format but only post-processed pixels format.
> Additionally if when setting a control a value could change capture
> queue pixels formats it is needed to call hantro_reset_raw_fmt().
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> ---
> v3:
> - Reset raw pixel formats list when bit depth or film grain feature
>   values change.
> 
>  drivers/media/platform/verisilicon/hantro.h      |  3 +++
>  drivers/media/platform/verisilicon/hantro_drv.c  | 11 ++++++++++-
>  .../media/platform/verisilicon/hantro_postproc.c |  4 ++++
>  drivers/media/platform/verisilicon/hantro_v4l2.c | 16 +++++++++++++++-
>  drivers/media/platform/verisilicon/hantro_v4l2.h |  1 +
>  5 files changed, 33 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index a98cb40a8d3b..7a5357e810fb 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -231,6 +231,8 @@ struct hantro_dev {
>   * @ctrl_handler:	Control handler used to register controls.
>   * @jpeg_quality:	User-specified JPEG compression quality.
>   * @bit_depth:		Bit depth of current frame
> + * @need_postproc:	Set to true if the bitstream features require to
> + *			use the post-processor.
>   *
>   * @codec_ops:		Set of operations related to codec mode.
>   * @postproc:		Post-processing context.
> @@ -258,6 +260,7 @@ struct hantro_ctx {
>  	struct v4l2_ctrl_handler ctrl_handler;
>  	int jpeg_quality;
>  	int bit_depth;
> +	bool need_postproc;
>  
>  	const struct hantro_codec_ops *codec_ops;
>  	struct hantro_postproc_ctx postproc;
> diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> index 4fc6dea16ae6..ef99f0f0fc53 100644
> --- a/drivers/media/platform/verisilicon/hantro_drv.c
> +++ b/drivers/media/platform/verisilicon/hantro_drv.c
> @@ -340,12 +340,21 @@ static int hantro_av1_s_ctrl(struct v4l2_ctrl *ctrl)
>  	switch (ctrl->id) {
>  	case V4L2_CID_STATELESS_AV1_SEQUENCE:
>  		int bit_depth = ctrl->p_new.p_av1_sequence->bit_depth;
> +		bool need_postproc = false;
>  
>  		if (vb2_is_streaming(v4l2_m2m_get_src_vq(ctx->fh.m2m_ctx)))
>  			if (ctx->bit_depth != bit_depth)
>  				return -EINVAL;
>  
> -		ctx->bit_depth = bit_depth;
> +		if (ctrl->p_new.p_av1_sequence->flags
> +		    & V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT)
> +			need_postproc = true;
> +
> +		if (ctx->bit_depth != bit_depth || ctx->need_postproc != need_postproc) {
> +			ctx->bit_depth = bit_depth;
> +			ctx->need_postproc = need_postproc;
> +			hantro_reset_raw_fmt(ctx);
> +		}
>  		break;
>  	default:
>  		return -EINVAL;
> diff --git a/drivers/media/platform/verisilicon/hantro_postproc.c b/drivers/media/platform/verisilicon/hantro_postproc.c
> index 7dc39519a2ee..293e5612e2ce 100644
> --- a/drivers/media/platform/verisilicon/hantro_postproc.c
> +++ b/drivers/media/platform/verisilicon/hantro_postproc.c
> @@ -57,6 +57,10 @@ bool hantro_needs_postproc(const struct hantro_ctx *ctx,
>  {
>  	if (ctx->is_encoder)
>  		return false;
> +
> +	if (ctx->need_postproc)
> +		return true;
> +
>  	return fmt->postprocessed;
>  }
>  
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index bbe79dbd2cd9..7566fe86f624 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.c
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
> @@ -38,6 +38,11 @@ hantro_get_formats(const struct hantro_ctx *ctx, unsigned int *num_fmts)
>  {
>  	const struct hantro_fmt *formats;
>  
> +	if (ctx->need_postproc) {
> +		*num_fmts = 0;
> +		return NULL;
> +	}
> +
>  	if (ctx->is_encoder) {
>  		formats = ctx->dev->variant->enc_fmts;
>  		*num_fmts = ctx->dev->variant->num_enc_fmts;
> @@ -132,6 +137,15 @@ hantro_get_default_fmt(const struct hantro_ctx *ctx, bool bitstream)
>  		    hantro_check_depth_match(ctx, &formats[i]))
>  			return &formats[i];
>  	}
> +
> +	formats = hantro_get_postproc_formats(ctx, &num_fmts);
> +	for (i = 0; i < num_fmts; i++) {
> +		if (bitstream == (formats[i].codec_mode !=
> +				  HANTRO_MODE_NONE) &&
> +		    hantro_check_depth_match(ctx, &formats[i]))
> +			return &formats[i];
> +	}
> +
>  	return NULL;
>  }
>  
> @@ -404,7 +418,7 @@ hantro_reset_encoded_fmt(struct hantro_ctx *ctx)
>  		hantro_set_fmt_out(ctx, fmt);
>  }
>  
> -static void
> +void
>  hantro_reset_raw_fmt(struct hantro_ctx *ctx)
>  {
>  	const struct hantro_fmt *raw_vpu_fmt;
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.h b/drivers/media/platform/verisilicon/hantro_v4l2.h
> index 64f6f57e9d7a..f642560aed93 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.h
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.h
> @@ -21,6 +21,7 @@
>  extern const struct v4l2_ioctl_ops hantro_ioctl_ops;
>  extern const struct vb2_ops hantro_queue_ops;
>  
> +void hantro_reset_raw_fmt(struct hantro_ctx *ctx);
>  void hantro_reset_fmts(struct hantro_ctx *ctx);
>  int hantro_get_format_depth(u32 fourcc);
>  const struct hantro_fmt *


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-01-25 12:39 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-11 16:59 [PATCH v3 00/13] AV1 stateless decoder for RK3588 Benjamin Gaignard
2023-01-11 16:59 ` Benjamin Gaignard
2023-01-11 16:59 ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 01/13] dt-bindings: media: rockchip-vpu: Add rk3588 vpu compatible Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 02/13] v4l2-common: Add support for fractional bpp Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 03/13] media: Add NV12_10LE40_4L4 pixel format Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 04/13] media: verisilicon: Get bit depth for V4L2_PIX_FMT_NV12_10LE40_4L4 Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 05/13] media: verisilicon: Add AV1 decoder mode and controls Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 06/13] media: verisilicon: Save bit depth for AV1 decoder Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 07/13] media: verisilicon: Check AV1 bitstreams bit depth Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-12  5:49   ` kernel test robot
2023-01-12  5:49     ` kernel test robot
2023-01-11 16:59 ` [PATCH v3 08/13] media: verisilicon: Compute motion vectors size for AV1 frames Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 09/13] media: verisilicon: Add AV1 entropy helpers Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-25 12:18   ` Hans Verkuil
2023-01-25 12:18     ` Hans Verkuil
2023-01-25 12:18     ` Hans Verkuil
2023-01-25 12:33     ` Benjamin Gaignard
2023-01-25 12:33       ` Benjamin Gaignard
2023-01-25 12:33       ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 10/13] media: verisilicon: Add Rockchip AV1 decoder Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-12  7:40   ` kernel test robot
2023-01-12  7:40     ` kernel test robot
2023-01-25 12:37   ` Hans Verkuil
2023-01-25 12:37     ` Hans Verkuil
2023-01-11 16:59 ` [PATCH v3 11/13] media: verisilicon: Add film grain feature to AV1 driver Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 12/13] media: verisilicon: Enable AV1 decoder on rk3588 Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59 ` [PATCH v3 13/13] media: verisilicon: Conditionnaly ignore native formats Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-11 16:59   ` Benjamin Gaignard
2023-01-12  9:52   ` kernel test robot
2023-01-12  9:52     ` kernel test robot
2023-01-25 12:39   ` Hans Verkuil [this message]
2023-01-25 12:39     ` Hans Verkuil
2023-01-25 12:39     ` Hans Verkuil
2023-01-25  9:54 ` [PATCH v3 00/13] AV1 stateless decoder for RK3588 Hans Verkuil
2023-01-25  9:54   ` Hans Verkuil
2023-01-25  9:54   ` Hans Verkuil
2023-01-25 10:16   ` Benjamin Gaignard
2023-01-25 10:16     ` Benjamin Gaignard
2023-01-25 10:16     ` Benjamin Gaignard

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=87f60e3e-4d91-5fed-eeaa-406e0a47a684@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=benjamin.gaignard@collabora.com \
    --cc=daniel.almeida@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=heiko@sntech.de \
    --cc=kernel@collabora.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mchehab@kernel.org \
    --cc=nicolas.dufresne@collabora.co.uk \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.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.