2020-01-27 15:21:11

by Maxime Jourdan

[permalink] [raw]
Subject: [PATCH] media: meson: vdec: fix OUTPUT buffer size configuration

There's a bug currently where we always override the OUTPUT buffer size
in try_fmt to the default value (1M), preventing userspace from setting
a higher or lower size.

Now, only update the size in try_fmt if userspace passed 0.

Signed-off-by: Maxime Jourdan <[email protected]>
---

Note: this patch depends on Neil's series:
media: meson: vdec: Add compliant H264 support
https://patchwork.kernel.org/cover/11336953/

drivers/staging/media/meson/vdec/vdec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c
index 1be67b122546..2f30945ce916 100644
--- a/drivers/staging/media/meson/vdec/vdec.c
+++ b/drivers/staging/media/meson/vdec/vdec.c
@@ -519,7 +519,8 @@ vdec_try_fmt_common(struct amvdec_session *sess, u32 size,
output_size = get_output_size(pixmp->width, pixmp->height);

if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
- pfmt[0].sizeimage = sess->src_buffer_size;
+ if (!pfmt[0].sizeimage)
+ pfmt[0].sizeimage = sess->src_buffer_size;
pfmt[0].bytesperline = 0;
pixmp->num_planes = 1;
} else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
--
2.25.0


2020-02-06 08:01:43

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH] media: meson: vdec: fix OUTPUT buffer size configuration

On 27/01/2020 16:19, Maxime Jourdan wrote:
> There's a bug currently where we always override the OUTPUT buffer size
> in try_fmt to the default value (1M), preventing userspace from setting
> a higher or lower size.
>
> Now, only update the size in try_fmt if userspace passed 0.
>
> Signed-off-by: Maxime Jourdan <[email protected]>
> ---
>
> Note: this patch depends on Neil's series:
> media: meson: vdec: Add compliant H264 support
> https://patchwork.kernel.org/cover/11336953/
>
> drivers/staging/media/meson/vdec/vdec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c
> index 1be67b122546..2f30945ce916 100644
> --- a/drivers/staging/media/meson/vdec/vdec.c
> +++ b/drivers/staging/media/meson/vdec/vdec.c
> @@ -519,7 +519,8 @@ vdec_try_fmt_common(struct amvdec_session *sess, u32 size,
> output_size = get_output_size(pixmp->width, pixmp->height);
>
> if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
> - pfmt[0].sizeimage = sess->src_buffer_size;
> + if (!pfmt[0].sizeimage)
> + pfmt[0].sizeimage = sess->src_buffer_size;
> pfmt[0].bytesperline = 0;
> pixmp->num_planes = 1;
> } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
>


Will squash into v5 of "media: meson: vdec: Add compliant H264 support"

Thanks,
Neil