media: coda: remove mask from decoder h.264 level control

Since levels are specified in terms of maximum values, there is no
reason to filter out lower levels than the supported maximum.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Philipp Zabel 2019-04-08 08:32:48 -04:00 committed by Mauro Carvalho Chehab
parent 75480ebf49
commit be9dd094e8
1 changed files with 4 additions and 18 deletions

View File

@ -2027,7 +2027,6 @@ static void coda_jpeg_encode_ctrls(struct coda_ctx *ctx)
static void coda_decode_ctrls(struct coda_ctx *ctx) static void coda_decode_ctrls(struct coda_ctx *ctx)
{ {
u64 mask;
u8 max; u8 max;
ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls, ctx->h264_profile_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
@ -2041,27 +2040,14 @@ static void coda_decode_ctrls(struct coda_ctx *ctx)
ctx->h264_profile_ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; ctx->h264_profile_ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
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)
max = V4L2_MPEG_VIDEO_H264_LEVEL_4_0; max = V4L2_MPEG_VIDEO_H264_LEVEL_4_0;
mask = ~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) | else if (ctx->dev->devtype->product == CODA_960)
(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));
} else if (ctx->dev->devtype->product == CODA_960) {
max = V4L2_MPEG_VIDEO_H264_LEVEL_4_1; max = V4L2_MPEG_VIDEO_H264_LEVEL_4_1;
mask = ~((1 << V4L2_MPEG_VIDEO_H264_LEVEL_2_0) | else
(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_1));
} else {
return; return;
}
ctx->h264_level_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls, ctx->h264_level_ctrl = v4l2_ctrl_new_std_menu(&ctx->ctrls,
&coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_LEVEL, max, mask, &coda_ctrl_ops, V4L2_CID_MPEG_VIDEO_H264_LEVEL, max, 0, max);
max);
if (ctx->h264_level_ctrl) if (ctx->h264_level_ctrl)
ctx->h264_level_ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY; ctx->h264_level_ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
} }