media: coda: Fix reported H264 profile
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: 42a68012e6
("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>
This commit is contained in:
Родитель
d387c6f640
Коммит
7110c08ea7
|
@ -2332,8 +2332,8 @@ static void coda_encode_ctrls(struct coda_ctx *ctx)
|
||||||
V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET, -12, 12, 1, 0);
|
V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET, -12, 12, 1, 0);
|
||||||
v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
|
v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
|
||||||
V4L2_CID_MPEG_VIDEO_H264_PROFILE,
|
V4L2_CID_MPEG_VIDEO_H264_PROFILE,
|
||||||
V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, 0x0,
|
V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE, 0x0,
|
||||||
V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE);
|
V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE);
|
||||||
if (ctx->dev->devtype->product == CODA_HX4 ||
|
if (ctx->dev->devtype->product == CODA_HX4 ||
|
||||||
ctx->dev->devtype->product == CODA_7541) {
|
ctx->dev->devtype->product == CODA_7541) {
|
||||||
v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
|
v4l2_ctrl_new_std_menu(&ctx->ctrls, &coda_ctrl_ops,
|
||||||
|
@ -2414,7 +2414,7 @@ static void coda_decode_ctrls(struct coda_ctx *ctx)
|
||||||
ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
|
ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
|
||||||
&coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE,
|
&coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE,
|
||||||
V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
|
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_MAIN) |
|
||||||
(1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
|
(1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
|
||||||
V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
|
V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче