media: v4l2-ctrls: Add control for AUD generation
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 24 Nov 2020 00:01:37 +0000 (01:01 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 22 Mar 2021 08:24:59 +0000 (09:24 +0100)
Add a control to enable inserting of AUD NALU into encoded
bitstream.

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>
Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
drivers/media/v4l2-core/v4l2-ctrls.c
include/uapi/linux/v4l2-controls.h

index 86b23caf4be14cf508bc7b4e83c61338b967dfd6..9963c1c9a4d5d3889a8ba4dd54422f816ccef2e8 100644 (file)
@@ -694,6 +694,11 @@ enum v4l2_mpeg_video_frame_skip_mode -
     of display order, in addition the hardware may still be using the
     returned buffer as a reference picture for subsequent frames.
 
+``V4L2_CID_MPEG_VIDEO_AU_DELIMITER (boolean)``
+    If enabled then, AUD (Access Unit Delimiter) NALUs will be generated.
+    That could be useful to find the start of a frame without having to
+    fully parse each NALU. Applicable to the H264 and HEVC encoders.
+
 ``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (boolean)``
     Enable writing sample aspect ratio in the Video Usability
     Information. Applicable to the H264 encoder.
index 524e7abeba89381a5d6bf5c3cd3357a9df673ed4..ca50e21e283861a187504c380da65de5207b5ed0 100644 (file)
@@ -876,6 +876,7 @@ const char *v4l2_ctrl_get_name(u32 id)
        case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE:               return "Frame Skip Mode";
        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_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";
@@ -1250,6 +1251,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
        case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE:
        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_WIDE_DYNAMIC_RANGE:
        case V4L2_CID_IMAGE_STABILIZATION:
        case V4L2_CID_RDS_RECEPTION:
index 987fbd946e4c8ae33ab1099331381d02bd572fea..6f8c08507bf43fd61983fe753f6c02ea7014136b 100644 (file)
@@ -428,6 +428,7 @@ enum v4l2_mpeg_video_multi_slice_mode {
 #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE          (V4L2_CID_CODEC_BASE+228)
 #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME            (V4L2_CID_CODEC_BASE+229)
 #define V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID      (V4L2_CID_CODEC_BASE+230)
+#define V4L2_CID_MPEG_VIDEO_AU_DELIMITER               (V4L2_CID_CODEC_BASE+231)
 
 /* CIDs for the MPEG-2 Part 2 (H.262) codec */
 #define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL                        (V4L2_CID_CODEC_BASE+270)