Re: [PATCH v2 2/2] media: coda: Add more H264 levels for CODA960

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mi, 2022-03-09 at 11:33 -0300, Fabio Estevam wrote:
> From: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> 
> This add H264 level 4.1, 4.2 and 5.0 to the list of supported
> formats.
> While the hardware does not fully support these levels, it do support
> most of them. The constraints on frame size and pixel formats already
> cover the limitation.
> 
> This fixes negotiation of level on GStreamer 1.17.1.
> 
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 42a68012e67c2 ("media: coda: add read-only h.264 decoder
> profile/level controls")
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>
> Tested-by: Pascal Speck <kernel@xxxxxxxx>
> Signed-off-by: Fabio Estevam <festevam@xxxxxxx>
> ---
> Changes since v1:
> - None - only added Pascal's Tested-by tag.
> 
>  drivers/media/platform/coda/coda-common.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/coda/coda-common.c
> b/drivers/media/platform/coda/coda-common.c
> index 53b2dd1b268c..f1234ad24f65 100644
> --- a/drivers/media/platform/coda/coda-common.c
> +++ b/drivers/media/platform/coda/coda-common.c
> @@ -2364,7 +2364,10 @@ static void coda_encode_ctrls(struct coda_ctx
> *ctx)
>                           (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
>                           (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
>                           (1 << V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
> -                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_0)),
> +                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
> +                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
> +                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
> +                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_5_0)),

I still think this is wrong [1], the vendor only advertises support for
level 4.0. At least level 5.0 must be dropped, as we don't support the
frame size requirement.

[1] https://lore.kernel.org/all/110980fea9c24ee449487b5d28822dccf7962494.camel@xxxxxxxxxxxxxx/#t

>                         V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
>         }
>         v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,
> @@ -2437,7 +2440,7 @@ static void coda_decode_ctrls(struct coda_ctx
> *ctx)
>             ctx->dev->devtype->product == CODA_7541)
>                 max = V4L2_MPEG_VIDEO_H264_LEVEL_4_0;
>         else if (ctx->dev->devtype->product == CODA_960)
> -               max = V4L2_MPEG_VIDEO_H264_LEVEL_4_1;
> +               max = V4L2_MPEG_VIDEO_H264_LEVEL_5_0;

I'm not so sure about this one, but I think it is wrong as well, for
the same reason. Nicolas wanted to reduce this to level 4.2 in v2 [2].

[2] https://lore.kernel.org/all/f409d4ddad0a352ca7ec84699c94a64e5dbf0407.camel@xxxxxxxxxxxxx/

regards
Philipp




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux