lkml.org 
[lkml]   [2022]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 165/287] media: coda: Fix reported H264 profile
    Date
    From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

    commit 7110c08ea71953a7fc342f0b76046f72442cf26c upstream.

    The CODA960 manual states that ASO/FMO features of baseline are not
    supported, so for this reason this driver should only report
    constrained baseline support.

    This fixes negotiation issue with constrained baseline content
    on GStreamer 1.17.1.

    ASO/FMO features are unsupported for the encoder and untested for the
    decoder because there is currently no userspace support. Neither GStreamer
    parsers nor FFMPEG parsers support ASO/FMO.

    Cc: stable@vger.kernel.org
    Fixes: 42a68012e67c2 ("media: coda: add read-only h.264 decoder profile/level controls")
    Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
    Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
    Tested-by: Pascal Speck <kernel@iktek.de>
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/media/platform/coda/coda-common.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/drivers/media/platform/coda/coda-common.c
    +++ b/drivers/media/platform/coda/coda-common.c
    @@ -1894,8 +1894,8 @@ static void coda_encode_ctrls(struct cod
    0x0, V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED);
    v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
    V4L2_CID_MPEG_VIDEO_H264_PROFILE,
    - V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, 0x0,
    - V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE);
    + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE, 0x0,
    + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE);
    if (ctx->dev->devtype->product == CODA_HX4 ||
    ctx->dev->devtype->product == CODA_7541) {
    v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
    @@ -1977,7 +1977,7 @@ static void coda_decode_ctrls(struct cod
    ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
    &coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE,
    V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
    - ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
    + ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) |
    (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
    (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
    V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);

    \
     
     \ /
      Last update: 2022-06-13 14:10    [W:2.180 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site