2018-09-14 14:27:37

by Kieran Bingham

[permalink] [raw]
Subject: [PATCH v2 1/2] media: vsp1: Document max_width restriction on SRU

The SRU is currently restricted to 256 pixels as part of the current
partition algorithm. Document that the actual capability of this
component is 288 pixels, but don't increase the implementation.

The extended partition algorithm may later choose to utilise a larger
input to support overlapping partitions which will improve the quality
of the output images.

Signed-off-by: Kieran Bingham <[email protected]>
---
drivers/media/platform/vsp1/vsp1_sru.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/media/platform/vsp1/vsp1_sru.c b/drivers/media/platform/vsp1/vsp1_sru.c
index d216707f64c9..19f91eb81134 100644
--- a/drivers/media/platform/vsp1/vsp1_sru.c
+++ b/drivers/media/platform/vsp1/vsp1_sru.c
@@ -314,6 +314,11 @@ static unsigned int sru_max_width(struct vsp1_entity *entity,
output = vsp1_entity_get_pad_format(&sru->entity, sru->entity.config,
SRU_PAD_SOURCE);

+ /*
+ * The maximum input width of the SRU is 288 input pixels, but 32
+ * pixels are reserved to support overlapping partition windows when
+ * scaling.
+ */
if (input->width != output->width)
return 512;
else
--
2.17.1



2018-09-14 14:27:24

by Kieran Bingham

[permalink] [raw]
Subject: [PATCH v2 2/2] media: vsp1: Document max_width restriction on UDS

The UDS is currently restricted based on a partition size of 256 pixels.
Document the actual restrictions, but don't increase the implementation.

The extended partition algorithm may later choose to utilise a larger
partition size to support overlapping partitions which will improve the
quality of the output images.

Signed-off-by: Kieran Bingham <[email protected]>
---
drivers/media/platform/vsp1/vsp1_uds.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/media/platform/vsp1/vsp1_uds.c b/drivers/media/platform/vsp1/vsp1_uds.c
index 75c613050151..e8340de85813 100644
--- a/drivers/media/platform/vsp1/vsp1_uds.c
+++ b/drivers/media/platform/vsp1/vsp1_uds.c
@@ -342,6 +342,14 @@ static unsigned int uds_max_width(struct vsp1_entity *entity,
UDS_PAD_SOURCE);
hscale = output->width / input->width;

+ /*
+ * The maximum width of the UDS is 304 pixels. These are input pixels
+ * in the event of up-scaling, and output pixels in the event of
+ * downscaling.
+ *
+ * To support overlapping parition windows we clamp at units of 256 and
+ * the remaining pixels are reserved.
+ */
if (hscale <= 2)
return 256;
else if (hscale <= 4)
--
2.17.1


2018-09-14 14:49:08

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] media: vsp1: Document max_width restriction on SRU

Hi Kieran,

Thank you for the patch.

Reviewed-by: Laurent Pinchart <[email protected]>

On Friday, 14 September 2018 17:26:51 EEST Kieran Bingham wrote:
> The SRU is currently restricted to 256 pixels as part of the current
> partition algorithm. Document that the actual capability of this
> component is 288 pixels, but don't increase the implementation.
>
> The extended partition algorithm may later choose to utilise a larger
> input to support overlapping partitions which will improve the quality
> of the output images.
>
> Signed-off-by: Kieran Bingham <[email protected]>
> ---
> drivers/media/platform/vsp1/vsp1_sru.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_sru.c
> b/drivers/media/platform/vsp1/vsp1_sru.c index d216707f64c9..19f91eb81134
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_sru.c
> +++ b/drivers/media/platform/vsp1/vsp1_sru.c
> @@ -314,6 +314,11 @@ static unsigned int sru_max_width(struct vsp1_entity
> *entity, output = vsp1_entity_get_pad_format(&sru->entity,
> sru->entity.config, SRU_PAD_SOURCE);
>
> + /*
> + * The maximum input width of the SRU is 288 input pixels, but 32
> + * pixels are reserved to support overlapping partition windows when
> + * scaling.
> + */
> if (input->width != output->width)
> return 512;
> else


--
Regards,

Laurent Pinchart




2018-09-14 14:49:21

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] media: vsp1: Document max_width restriction on UDS

Hi Kieran,

Thank you for the patch.

On Friday, 14 September 2018 17:26:52 EEST Kieran Bingham wrote:
> The UDS is currently restricted based on a partition size of 256 pixels.
> Document the actual restrictions, but don't increase the implementation.
>
> The extended partition algorithm may later choose to utilise a larger
> partition size to support overlapping partitions which will improve the
> quality of the output images.
>
> Signed-off-by: Kieran Bingham <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> drivers/media/platform/vsp1/vsp1_uds.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_uds.c
> b/drivers/media/platform/vsp1/vsp1_uds.c index 75c613050151..e8340de85813
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_uds.c
> +++ b/drivers/media/platform/vsp1/vsp1_uds.c
> @@ -342,6 +342,14 @@ static unsigned int uds_max_width(struct vsp1_entity
> *entity, UDS_PAD_SOURCE);
> hscale = output->width / input->width;
>
> + /*
> + * The maximum width of the UDS is 304 pixels. These are input pixels
> + * in the event of up-scaling, and output pixels in the event of
> + * downscaling.
> + *
> + * To support overlapping parition windows we clamp at units of 256 and
> + * the remaining pixels are reserved.
> + */
> if (hscale <= 2)
> return 256;
> else if (hscale <= 4)


--
Regards,

Laurent Pinchart




2018-09-14 16:58:53

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] media: vsp1: Document max_width restriction on UDS

Hello!

On 09/14/2018 05:26 PM, Kieran Bingham wrote:

> The UDS is currently restricted based on a partition size of 256 pixels.
> Document the actual restrictions, but don't increase the implementation.
>
> The extended partition algorithm may later choose to utilise a larger
> partition size to support overlapping partitions which will improve the
> quality of the output images.
>
> Signed-off-by: Kieran Bingham <[email protected]>
> ---
> drivers/media/platform/vsp1/vsp1_uds.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_uds.c b/drivers/media/platform/vsp1/vsp1_uds.c
> index 75c613050151..e8340de85813 100644
> --- a/drivers/media/platform/vsp1/vsp1_uds.c
> +++ b/drivers/media/platform/vsp1/vsp1_uds.c
> @@ -342,6 +342,14 @@ static unsigned int uds_max_width(struct vsp1_entity *entity,
> UDS_PAD_SOURCE);
> hscale = output->width / input->width;
>
> + /*
> + * The maximum width of the UDS is 304 pixels. These are input pixels
> + * in the event of up-scaling, and output pixels in the event of
> + * downscaling.
> + *
> + * To support overlapping parition windows we clamp at units of 256 and

Partition.

> + * the remaining pixels are reserved.
> + */
> if (hscale <= 2)
> return 256;
> else if (hscale <= 4)

MBR, Sergei