media: cedrus: Specify H264 startcode and decoding mode

The cedrus VPU is slice-based and expects V4L2_PIX_FMT_H264_SLICE
buffers to contain H264 slices with no start code.

Expose this to userspace with the newly added menu control.

These two controls are specified as mandatory for applications,
but we mark them as non-required on the driver side for
backwards compatibility.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Ezequiel Garcia 2019-08-16 13:01:28 -03:00 коммит произвёл Mauro Carvalho Chehab
Родитель 3f715c64be
Коммит 341772b82a
1 изменённых файлов: 18 добавлений и 0 удалений

Просмотреть файл

@ -77,6 +77,24 @@ static const struct cedrus_control cedrus_controls[] = {
.codec = CEDRUS_CODEC_H264,
.required = true,
},
{
.cfg = {
.id = V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE,
.max = V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED,
.def = V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED,
},
.codec = CEDRUS_CODEC_H264,
.required = false,
},
{
.cfg = {
.id = V4L2_CID_MPEG_VIDEO_H264_START_CODE,
.max = V4L2_MPEG_VIDEO_H264_START_CODE_NONE,
.def = V4L2_MPEG_VIDEO_H264_START_CODE_NONE,
},
.codec = CEDRUS_CODEC_H264,
.required = false,
},
};
#define CEDRUS_CONTROLS_COUNT ARRAY_SIZE(cedrus_controls)