mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
media: v4l2-controls: Add control for background detection
Add a generic V4L2 boolean control V4L2_CID_MPEG_VIDEO_BACKGROUND_DETECTION that allows encoders to detect background regions in a frame and use fewer bits or skip mode to encode them, potentially reducing bitrate for streams with stationary scenes. Signed-off-by: Jackson Lee <jackson.lee@chipsnmedia.com> Signed-off-by: Nas Chung <nas.chung@chipsnmedia.com> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
committed by
Hans Verkuil
parent
b201571470
commit
5d801b5963
@@ -737,6 +737,12 @@ enum v4l2_mpeg_video_frame_skip_mode -
|
||||
Enable writing sample aspect ratio in the Video Usability
|
||||
Information. Applicable to the H264 encoder.
|
||||
|
||||
``V4L2_CID_MPEG_VIDEO_BACKGROUND_DETECTION (boolean)``
|
||||
If enabled, the encoder detect a background region in frame and
|
||||
use low bits or skip mode to encode the background region.
|
||||
If a lot of scenes are stationary or background, It may help to
|
||||
reduce the video bitrate. Applicable to the encoder.
|
||||
|
||||
.. _v4l2-mpeg-video-h264-vui-sar-idc:
|
||||
|
||||
``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC``
|
||||
|
||||
@@ -889,6 +889,7 @@ const char *v4l2_ctrl_get_name(u32 id)
|
||||
case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY: return "Display Delay";
|
||||
case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE: return "Display Delay Enable";
|
||||
case V4L2_CID_MPEG_VIDEO_AU_DELIMITER: return "Generate Access Unit Delimiters";
|
||||
case V4L2_CID_MPEG_VIDEO_BACKGROUND_DETECTION: return "Background Detection";
|
||||
case V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP: return "H263 I-Frame QP Value";
|
||||
case V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP: return "H263 P-Frame QP Value";
|
||||
case V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP: return "H263 B-Frame QP Value";
|
||||
@@ -1296,6 +1297,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
|
||||
case V4L2_CID_MPEG_VIDEO_MPEG4_QPEL:
|
||||
case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER:
|
||||
case V4L2_CID_MPEG_VIDEO_AU_DELIMITER:
|
||||
case V4L2_CID_MPEG_VIDEO_BACKGROUND_DETECTION:
|
||||
case V4L2_CID_WIDE_DYNAMIC_RANGE:
|
||||
case V4L2_CID_IMAGE_STABILIZATION:
|
||||
case V4L2_CID_RDS_RECEPTION:
|
||||
|
||||
@@ -464,6 +464,8 @@ enum v4l2_mpeg_video_intra_refresh_period_type {
|
||||
V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC = 1,
|
||||
};
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_BACKGROUND_DETECTION (V4L2_CID_CODEC_BASE + 238)
|
||||
|
||||
/* CIDs for the MPEG-2 Part 2 (H.262) codec */
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_CODEC_BASE+270)
|
||||
enum v4l2_mpeg_video_mpeg2_level {
|
||||
|
||||
Reference in New Issue
Block a user