media: v4l2-ctrls: Add encoder constant quality control

When V4L2_CID_MPEG_VIDEO_BITRATE_MODE value is
V4L2_MPEG_VIDEO_BITRATE_MODE_CQ, encoder will produce
constant quality output indicated by
V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY control value.
Encoder will choose appropriate quantization parameter
and bitrate to produce requested frame quality level.

Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Maheshwar Ajja
2020-05-23 03:05:26 +02:00
committed by Mauro Carvalho Chehab
parent 73d513e45a
commit 4ad1b0d410
3 changed files with 14 additions and 0 deletions

View File

@@ -581,6 +581,8 @@ enum v4l2_mpeg_video_bitrate_mode -
- Variable bitrate
* - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
- Constant bitrate
* - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``
- Constant quality
@@ -592,6 +594,14 @@ enum v4l2_mpeg_video_bitrate_mode -
the average video bitrate. It is ignored if the video bitrate mode
is set to constant bitrate.
``V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (integer)``
Constant quality level control. This control is applicable when
``V4L2_CID_MPEG_VIDEO_BITRATE_MODE`` value is
``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``. Valid range is 1 to 100
where 1 indicates lowest quality and 100 indicates highest quality.
Encoder will decide the appropriate quantization parameter and
bitrate to produce requested frame quality.
``V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (integer)``
For every captured frame, skip this many subsequent frames (default
0).