Re: [PATCH v3 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 14:36 -0300, Fabio Estevam wrote:
> From: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> 
> Add H264 level 1.0, 4.1, 4.2 to the list of supported formats.
> While the hardware does not fully support these levels, it does
> 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")
> Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>
> Signed-off-by: Fabio Estevam <festevam@xxxxxxx>
> ---
> Changes since v2:
> - Remove 5.0 level and use Phillip's suggestion to get the correct
> levels
> being reported by v4l2h264enc:
> 
>                      h264_level 0x00990a67 (menu)   : min=0 max=13
> default=11 value=11
>                                 0: 1
>                                 5: 2
>                                 8: 3
>                                 9: 3.1
>                                 10: 3.2
>                                 11: 4
>                                 12: 4.1
>                                 13: 4.2
> 
>  drivers/media/platform/coda/coda-common.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/platform/coda/coda-common.c
> b/drivers/media/platform/coda/coda-common.c
> index 280d77f1567c..da8bc1f87ba0 100644
> --- a/drivers/media/platform/coda/coda-common.c
> +++ b/drivers/media/platform/coda/coda-common.c
> @@ -2349,12 +2349,15 @@ static void coda_encode_ctrls(struct coda_ctx
> *ctx)
>         if (ctx->dev->devtype->product == CODA_960) {
>                 v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
>                         V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> -                       V4L2_MPEG_VIDEO_H264_LEVEL_4_0,
> -                       ~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
> +                       V4L2_MPEG_VIDEO_H264_LEVEL_4_2,
> +                       ~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
> +                         (1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
>                           (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)),
>                         V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
>         }
>         v4l2_ctrl_new_std(&ctx->ctrls, &coda_ctrl_ops,

Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>

regards
Philipp




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux