1.15. 编解码器控制参考

下面描述了编解码器控制类别中的所有控制。首先是通用控制,然后是特定于某些硬件的控制。

注意

这些控制适用于所有编解码器,而不仅仅是 MPEG。定义前缀为 V4L2_CID_MPEG/V4L2_MPEG,因为这些控制最初是为 MPEG 编解码器设计的,后来扩展到涵盖所有编码格式。

1.15.1. 通用编解码器控制

1.15.1.1. 编解码器控制 ID

V4L2_CID_CODEC_CLASS (class)

编解码器类别描述符。对该控制调用 ioctls VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL 和 VIDIOC_QUERYMENU 将返回此控制类别的描述。例如,此描述可用作 GUI 中选项卡页面的标题。

V4L2_CID_MPEG_STREAM_TYPE

(enum)

enum v4l2_mpeg_stream_type -

MPEG-1、-2 或 -4 输出流类型。不能对此有任何假设。每个硬件 MPEG 编码器倾向于支持可用 MPEG 流类型的不同子集。此控制特定于复用 MPEG 流。当前定义的流类型有:

V4L2_MPEG_STREAM_TYPE_MPEG2_PS

MPEG-2 程序流

V4L2_MPEG_STREAM_TYPE_MPEG2_TS

MPEG-2 传输流

V4L2_MPEG_STREAM_TYPE_MPEG1_SS

MPEG-1 系统流

V4L2_MPEG_STREAM_TYPE_MPEG2_DVD

MPEG-2 DVD 兼容流

V4L2_MPEG_STREAM_TYPE_MPEG1_VCD

MPEG-1 VCD 兼容流

V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD

MPEG-2 SVCD 兼容流

V4L2_CID_MPEG_STREAM_PID_PMT (integer)

MPEG 传输流的节目映射表包 ID(默认 16)

V4L2_CID_MPEG_STREAM_PID_AUDIO (integer)

MPEG 传输流的音频包 ID(默认 256)

V4L2_CID_MPEG_STREAM_PID_VIDEO (integer)

MPEG 传输流的视频包 ID(默认 260)

V4L2_CID_MPEG_STREAM_PID_PCR (integer)

承载 PCR 字段的 MPEG 传输流的包 ID(默认 259)

V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (integer)

MPEG PES 的音频 ID

V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (integer)

MPEG PES 的视频 ID

V4L2_CID_MPEG_STREAM_VBI_FMT

(enum)

enum v4l2_mpeg_stream_vbi_fmt -

某些卡可以将 VBI 数据(例如,隐藏字幕、图文电视)嵌入到 MPEG 流中。此控制选择是否应嵌入 VBI 数据,以及如果嵌入,应使用哪种嵌入方法。可能的 VBI 格式列表取决于驱动程序。当前定义的 VBI 格式类型有:

V4L2_MPEG_STREAM_VBI_FMT_NONE

MPEG 流中无 VBI

V4L2_MPEG_STREAM_VBI_FMT_IVTV

私有包中的 VBI,IVTV 格式(在内核源文件 Documentation/userspace-api/media/drivers/cx2341x-uapi.rst 中有文档说明)

V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ

(enum)

enum v4l2_mpeg_audio_sampling_freq -

MPEG 音频采样频率。可能的值有:

V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100

44.1 kHz

V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000

48 kHz

V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000

32 kHz

V4L2_CID_MPEG_AUDIO_ENCODING

(enum)

enum v4l2_mpeg_audio_encoding -

MPEG 音频编码。此控制特定于复用 MPEG 流。可能的值有:

V4L2_MPEG_AUDIO_ENCODING_LAYER_1

MPEG-1/2 第一层编码

V4L2_MPEG_AUDIO_ENCODING_LAYER_2

MPEG-1/2 第二层编码

V4L2_MPEG_AUDIO_ENCODING_LAYER_3

MPEG-1/2 第三层编码

V4L2_MPEG_AUDIO_ENCODING_AAC

MPEG-2/4 AAC(高级音频编码)

V4L2_MPEG_AUDIO_ENCODING_AC3

AC-3 又名 ATSC A/52 编码

V4L2_CID_MPEG_AUDIO_L1_BITRATE

(enum)

enum v4l2_mpeg_audio_l1_bitrate -

MPEG-1/2 第一层比特率。可能的值有:

V4L2_MPEG_AUDIO_L1_BITRATE_32K

32 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_64K

64 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_96K

96 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_128K

128 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_160K

160 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_192K

192 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_224K

224 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_256K

256 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_288K

288 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_320K

320 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_352K

352 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_384K

384 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_416K

416 kbit/s

V4L2_MPEG_AUDIO_L1_BITRATE_448K

448 kbit/s

V4L2_CID_MPEG_AUDIO_L2_BITRATE

(enum)

enum v4l2_mpeg_audio_l2_bitrate -

MPEG-1/2 第二层比特率。可能的值有:

V4L2_MPEG_AUDIO_L2_BITRATE_32K

32 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_48K

48 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_56K

56 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_64K

64 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_80K

80 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_96K

96 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_112K

112 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_128K

128 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_160K

160 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_192K

192 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_224K

224 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_256K

256 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_320K

320 kbit/s

V4L2_MPEG_AUDIO_L2_BITRATE_384K

384 kbit/s

V4L2_CID_MPEG_AUDIO_L3_BITRATE

(enum)

enum v4l2_mpeg_audio_l3_bitrate -

MPEG-1/2 第三层比特率。可能的值有:

V4L2_MPEG_AUDIO_L3_BITRATE_32K

32 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_40K

40 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_48K

48 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_56K

56 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_64K

64 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_80K

80 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_96K

96 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_112K

112 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_128K

128 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_160K

160 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_192K

192 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_224K

224 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_256K

256 kbit/s

V4L2_MPEG_AUDIO_L3_BITRATE_320K

320 kbit/s

V4L2_CID_MPEG_AUDIO_AAC_BITRATE (integer)

AAC 比特率,单位为比特/秒。

V4L2_CID_MPEG_AUDIO_AC3_BITRATE

(enum)

enum v4l2_mpeg_audio_ac3_bitrate -

AC-3 比特率。可能的值有:

V4L2_MPEG_AUDIO_AC3_BITRATE_32K

32 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_40K

40 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_48K

48 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_56K

56 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_64K

64 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_80K

80 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_96K

96 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_112K

112 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_128K

128 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_160K

160 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_192K

192 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_224K

224 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_256K

256 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_320K

320 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_384K

384 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_448K

448 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_512K

512 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_576K

576 kbit/s

V4L2_MPEG_AUDIO_AC3_BITRATE_640K

640 kbit/s

V4L2_CID_MPEG_AUDIO_MODE

(enum)

enum v4l2_mpeg_audio_mode -

MPEG 音频模式。可能的值有:

V4L2_MPEG_AUDIO_MODE_STEREO

立体声

V4L2_MPEG_AUDIO_MODE_JOINT_STEREO

联合立体声

V4L2_MPEG_AUDIO_MODE_DUAL

双语

V4L2_MPEG_AUDIO_MODE_MONO

单声道

V4L2_CID_MPEG_AUDIO_MODE_EXTENSION

(enum)

enum v4l2_mpeg_audio_mode_extension -

联合立体声音频模式扩展。在第一层和第二层中,它们指示哪些子带处于强度立体声模式。所有其他子带都以立体声编码。第三层(尚未)支持。可能的值有:

V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4

子带 4-31 为强度立体声

V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8

子带 8-31 为强度立体声

V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12

子带 12-31 为强度立体声

V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16

子带 16-31 为强度立体声

V4L2_CID_MPEG_AUDIO_EMPHASIS

(enum)

enum v4l2_mpeg_audio_emphasis -

音频强调。可能的值有:

V4L2_MPEG_AUDIO_EMPHASIS_NONE

V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS

50/15 微秒强调

V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17

CCITT J.17

V4L2_CID_MPEG_AUDIO_CRC

(enum)

enum v4l2_mpeg_audio_crc -

CRC 方法。可能的值有:

V4L2_MPEG_AUDIO_CRC_NONE

V4L2_MPEG_AUDIO_CRC_CRC16

16 位奇偶校验

V4L2_CID_MPEG_AUDIO_MUTE (boolean)

捕获时使音频静音。这不是通过使音频硬件静音来完成的,因为音频硬件仍然会产生轻微的嘶嘶声,而是通过编码器本身来完成,从而保证固定且可重现的音频比特流。0 = 未静音,1 = 静音。

V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK

(enum)

enum v4l2_mpeg_audio_dec_playback -

确定单语音频应如何播放。可能的值有:

V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO

自动确定最佳播放模式。

V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO

立体声播放。

V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT

左声道播放。

V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT

右声道播放。

V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO

单声道播放。

V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO

左右声道交换的立体声播放。

V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK

(enum)

enum v4l2_mpeg_audio_dec_playback -

确定多语音频应如何播放。

V4L2_CID_MPEG_VIDEO_ENCODING

(enum)

enum v4l2_mpeg_video_encoding -

MPEG 视频编码方法。此控制特定于复用 MPEG 流。可能的值有:

V4L2_MPEG_VIDEO_ENCODING_MPEG_1

MPEG-1 视频编码

V4L2_MPEG_VIDEO_ENCODING_MPEG_2

MPEG-2 视频编码

V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC

MPEG-4 AVC (H.264) 视频编码

V4L2_CID_MPEG_VIDEO_ASPECT

(enum)

enum v4l2_mpeg_video_aspect -

视频宽高比。可能的值有:

V4L2_MPEG_VIDEO_ASPECT_1x1

V4L2_MPEG_VIDEO_ASPECT_4x3

V4L2_MPEG_VIDEO_ASPECT_16x9

V4L2_MPEG_VIDEO_ASPECT_221x100

V4L2_CID_MPEG_VIDEO_B_FRAMES (integer)

B 帧数量(默认 2)

V4L2_CID_MPEG_VIDEO_GOP_SIZE (integer)

GOP 大小(默认 12)

V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (boolean)

GOP 关闭(默认 1)

V4L2_CID_MPEG_VIDEO_PULLDOWN (boolean)

启用 3:2 pulldown(默认 0)

V4L2_CID_MPEG_VIDEO_BITRATE_MODE

(enum)

enum v4l2_mpeg_video_bitrate_mode -

视频比特率模式。可能的值有:

V4L2_MPEG_VIDEO_BITRATE_MODE_VBR

可变比特率

V4L2_MPEG_VIDEO_BITRATE_MODE_CBR

恒定比特率

V4L2_MPEG_VIDEO_BITRATE_MODE_CQ

恒定质量

V4L2_CID_MPEG_VIDEO_BITRATE (integer)

平均视频比特率,单位为比特/秒。

V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (integer)

峰值视频比特率,单位为比特/秒。必须大于或等于平均视频比特率。如果视频比特率模式设置为恒定比特率,则忽略此值。

V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (integer)

恒定质量级别控制。当 V4L2_CID_MPEG_VIDEO_BITRATE_MODE 值为 V4L2_MPEG_VIDEO_BITRATE_MODE_CQ 时,此控制适用。有效范围为 1 到 100,其中 1 表示最低质量,100 表示最高质量。编码器将决定适当的量化参数和比特率以生成所需的帧质量。

V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (enum)

enum v4l2_mpeg_video_frame_skip_mode -

指示编码器在何种条件下应跳过帧。如果编码帧会导致编码流大于所选数据限制,则该帧将被跳过。可能的值有:

V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED

帧跳过模式已禁用。

V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT

帧跳过模式已启用,缓冲区限制由所选级别设置,并由标准定义。

V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT

帧跳过模式已启用,缓冲区限制由 VBV (MPEG1/2/4)CPB (H264) 缓冲区大小 控制设置。

V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (integer)

对于每个捕获的帧,跳过此数量的后续帧(默认 0)。

V4L2_CID_MPEG_VIDEO_MUTE (boolean)

捕获时将视频“静音”为固定颜色。这对于测试很有用,可以生成固定的视频比特流。0 = 未静音,1 = 静音。

V4L2_CID_MPEG_VIDEO_MUTE_YUV (integer)

设置视频的“静音”颜色。提供的 32 位整数解释如下(位 0 = 最低有效位):

位 0:7

V 色度信息

位 8:15

U 色度信息

位 16:23

Y 亮度信息

位 24:31

必须为零。

V4L2_CID_MPEG_VIDEO_DEC_PTS (integer64)

此只读控制返回当前显示帧的 33 位视频演示时间戳(PTS),其定义在 ITU T-REC-H.222.0 和 ISO/IEC 13818-1 中。这与 ioctl VIDIOC_DECODER_CMD, VIDIOC_TRY_DECODER_CMD 中使用的 PTS 相同。

V4L2_CID_MPEG_VIDEO_DEC_FRAME (integer64)

此只读控制返回当前显示(已解码)帧的帧计数器。解码器启动时,此值将重置为 0。

V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR (integer64)

此控制在 YUV 颜色空间中设置隐藏颜色。它描述了客户端在参考帧丢失的情况下对错误隐藏颜色的偏好。解码器应使用首选颜色填充参考缓冲区,并将其用于未来的解码。该控制每个通道使用 16 位。适用于解码器。

8 位格式

10 位格式

12 位格式

Y 亮度

位 0:7

位 0:9

位 0:11

Cb 色度

位 16:23

位 16:25

位 16:27

Cr 色度

位 32:39

位 32:41

位 32:43

必须为零

位 48:63

位 48:63

位 48:63

V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (boolean)

如果启用,解码器预期每个缓冲区接收一个切片,否则解码器预期每个缓冲区接收一个完整帧。适用于解码器,所有编解码器。

V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (boolean)

如果启用显示延迟,则解码器在处理一定数量的 OUTPUT 缓冲区后,将被强制返回 CAPTURE 缓冲区(解码帧)。延迟可通过 V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY 设置。此功能可用于例如生成视频缩略图。适用于解码器。

V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (integer)

解码器显示延迟值。解码器在设置的“显示延迟”帧数后,将被强制返回解码帧。如果此数字较低,可能导致帧返回顺序混乱,此外硬件可能仍将返回的缓冲区用作后续帧的参考图片。

V4L2_CID_MPEG_VIDEO_AU_DELIMITER (boolean)

如果启用,则将生成 AUD (Access Unit Delimiter) NALU。这对于无需完全解析每个 NALU 即可找到帧的开始很有用。适用于 H264 和 HEVC 编码器。

V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (boolean)

启用在视频可用性信息中写入采样宽高比。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC

(enum)

enum v4l2_mpeg_video_h264_vui_sar_idc -

H.264 编码的 VUI 采样宽高比指示符。该值在标准中的表 E-1 中定义。适用于 H264 编码器。

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED

未指定

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1

1x1

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11

12x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11

10x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11

16x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33

40x33

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11

24x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11

20x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11

32x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33

80x33

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11

18x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11

15x11

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33

64x33

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99

160x99

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3

4x3

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2

3x2

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1

2x1

V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED

扩展 SAR

V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (integer)

H.264 VUI 编码的扩展采样宽高比宽度。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (integer)

H.264 VUI 编码的扩展采样宽高比高度。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_LEVEL

(enum)

enum v4l2_mpeg_video_h264_level -

H264 视频基本流的级别信息。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_LEVEL_1_0

级别 1.0

V4L2_MPEG_VIDEO_H264_LEVEL_1B

级别 1B

V4L2_MPEG_VIDEO_H264_LEVEL_1_1

级别 1.1

V4L2_MPEG_VIDEO_H264_LEVEL_1_2

级别 1.2

V4L2_MPEG_VIDEO_H264_LEVEL_1_3

级别 1.3

V4L2_MPEG_VIDEO_H264_LEVEL_2_0

级别 2.0

V4L2_MPEG_VIDEO_H264_LEVEL_2_1

级别 2.1

V4L2_MPEG_VIDEO_H264_LEVEL_2_2

级别 2.2

V4L2_MPEG_VIDEO_H264_LEVEL_3_0

级别 3.0

V4L2_MPEG_VIDEO_H264_LEVEL_3_1

级别 3.1

V4L2_MPEG_VIDEO_H264_LEVEL_3_2

级别 3.2

V4L2_MPEG_VIDEO_H264_LEVEL_4_0

级别 4.0

V4L2_MPEG_VIDEO_H264_LEVEL_4_1

级别 4.1

V4L2_MPEG_VIDEO_H264_LEVEL_4_2

级别 4.2

V4L2_MPEG_VIDEO_H264_LEVEL_5_0

级别 5.0

V4L2_MPEG_VIDEO_H264_LEVEL_5_1

级别 5.1

V4L2_MPEG_VIDEO_H264_LEVEL_5_2

级别 5.2

V4L2_MPEG_VIDEO_H264_LEVEL_6_0

级别 6.0

V4L2_MPEG_VIDEO_H264_LEVEL_6_1

级别 6.1

V4L2_MPEG_VIDEO_H264_LEVEL_6_2

级别 6.2

V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL

(enum)

enum v4l2_mpeg_video_mpeg2_level -

MPEG2 基本流的级别信息。适用于 MPEG2 编解码器。可能的值有:

V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW

低级别 (LL)

V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN

主级别 (ML)

V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440

高 1440 级别 (H-14)

V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH

高级别 (HL)

V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL

(enum)

enum v4l2_mpeg_video_mpeg4_level -

MPEG4 基本流的级别信息。适用于 MPEG4 编码器。可能的值有:

V4L2_MPEG_VIDEO_MPEG4_LEVEL_0

级别 0

V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B

级别 0b

V4L2_MPEG_VIDEO_MPEG4_LEVEL_1

级别 1

V4L2_MPEG_VIDEO_MPEG4_LEVEL_2

级别 2

V4L2_MPEG_VIDEO_MPEG4_LEVEL_3

级别 3

V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B

级别 3b

V4L2_MPEG_VIDEO_MPEG4_LEVEL_4

级别 4

V4L2_MPEG_VIDEO_MPEG4_LEVEL_5

级别 5

V4L2_CID_MPEG_VIDEO_H264_PROFILE

(enum)

enum v4l2_mpeg_video_h264_profile -

H264 的配置文件信息。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE

基线配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE

受限基线配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_MAIN

主配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED

扩展配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH

高配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10

高 10 配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422

高 422 配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE

高 444 预测配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA

高 10 帧内配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA

高 422 帧内配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA

高 444 帧内配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA

CAVLC 444 帧内配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE

可伸缩基线配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH

可伸缩高配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA

可伸缩高帧内配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH

立体声高配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH

多视图高配置文件

V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH

受限高配置文件

V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE

(enum)

enum v4l2_mpeg_video_mpeg2_profile -

MPEG2 的配置文件信息。适用于 MPEG2 编解码器。可能的值有:

V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE

简单配置文件 (SP)

V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN

主配置文件 (MP)

V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE

SNR 可伸缩配置文件 (SNR)

V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE

空间可伸缩配置文件 (Spt)

V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH

高配置文件 (HP)

V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW

多视图配置文件 (MVP)

V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE

(enum)

enum v4l2_mpeg_video_mpeg4_profile -

MPEG4 的配置文件信息。适用于 MPEG4 编码器。可能的值有:

V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE

简单配置文件

V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE

高级简单配置文件

V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE

核心配置文件

V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE

简单可伸缩配置文件

V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY

高级编码效率配置文件

V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (integer)

用于编码的最大参考图片数量。适用于编码器。

V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE

(enum)

enum v4l2_mpeg_video_multi_slice_mode -

确定编码器应如何处理帧的分片。适用于编码器。可能的值有:

V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE

每帧单个切片。

V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB

多个切片,每个切片设置最大宏块数量。

V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES

多个切片,每个切片设置最大字节大小。

V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (integer)

切片中宏块的最大数量。当 V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE 设置为 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB 时使用。适用于编码器。

V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (integer)

切片的最大字节大小。当 V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE 设置为 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES 时使用。适用于编码器。

V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE

(enum)

enum v4l2_mpeg_video_h264_loop_filter_mode -

H264 编码器的循环滤波器模式。可能的值有:

V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED

循环滤波器已启用。

V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED

循环滤波器已禁用。

V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY

循环滤波器在切片边界处禁用。

V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (integer)

循环滤波器 alpha 系数,定义在 H264 标准中。此值对应于 slice_alpha_c0_offset_div2 切片头字段,应在 -6 到 +6 范围内(含)。实际的 alpha 偏移 FilterOffsetA 是此值的两倍。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (integer)

循环滤波器 beta 系数,定义在 H264 标准中。此值对应于 slice_beta_offset_div2 切片头字段,应在 -6 到 +6 范围内(含)。实际的 beta 偏移 FilterOffsetB 是此值的两倍。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE

(enum)

enum v4l2_mpeg_video_h264_entropy_mode -

H264 的熵编码模式 - CABAC/CAVALC。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC

使用 CAVLC 熵编码。

V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC

使用 CABAC 熵编码。

V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (boolean)

为 H264 启用 8X8 变换。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (boolean)

为 H264 启用受限帧内预测。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (integer)

指定应添加到亮度量化参数以确定色度量化参数的偏移量。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (integer)

循环帧内宏块刷新。这是每个帧连续刷新宏块的数量。每个帧都会刷新一组连续的宏块,直到循环完成并从帧的顶部开始。将此控制设置为零表示宏块不会刷新。请注意,当 V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD 控制设置为非零值时,此控制将不生效。适用于 H264、H263 和 MPEG4 编码器。

V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE (enum)

enum v4l2_mpeg_video_intra_refresh_period_type -

设置帧内刷新类型。刷新整个帧的周期由 V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD 指定。请注意,如果此控制不存在,则未定义使用哪种刷新类型,由驱动程序决定。适用于 H264 和 HEVC 编码器。可能的值有:

V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM

整个帧在指定周期后完全随机刷新。

V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC

整个帧的宏块在指定周期后按循环顺序完全刷新。

V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD (integer)

帧内宏块刷新周期。这设置了刷新整个帧的周期。换句话说,这定义了整个帧将被帧内刷新的帧数。例如:将周期设置为 1 表示整个帧将被刷新,将周期设置为 2 表示一半的宏块将在 frameX 中进行帧内刷新,另一半宏块将在 frameX + 1 中刷新,依此类推。将周期设置为零表示未指定周期。请注意,如果客户端将此控制设置为非零值,则 V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB 控制将被忽略。适用于 H264 和 HEVC 编码器。

V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (boolean)

帧级速率控制启用。如果禁用此控制,则每种帧类型的量化参数是恒定的,并由适当的控制(例如 V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP)设置。如果启用帧速率控制,则量化参数会进行调整以满足所选的比特率。量化参数的最小值和最大值可以通过适当的控制(例如 V4L2_CID_MPEG_VIDEO_H263_MIN_QP)设置。适用于编码器。

V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (boolean)

宏块级速率控制启用。适用于 MPEG4 和 H264 编码器。

V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (boolean)

MPEG4 的四分之一像素运动估计。适用于 MPEG4 编码器。

V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (integer)

H263 I 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_H263_MIN_QP (integer)

H263 的最小量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_H263_MAX_QP (integer)

H263 的最大量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (integer)

H263 P 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (integer)

H263 B 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (integer)

H264 I 帧的量化参数。有效范围:0 到 51。

V4L2_CID_MPEG_VIDEO_H264_MIN_QP (integer)

H264 的最小量化参数。有效范围:0 到 51。

V4L2_CID_MPEG_VIDEO_H264_MAX_QP (integer)

H264 的最大量化参数。有效范围:0 到 51。

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (integer)

H264 P 帧的量化参数。有效范围:0 到 51。

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (integer)

H264 B 帧的量化参数。有效范围:0 到 51。

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (integer)

H264 I 帧的最小量化参数,用于将 I 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (integer)

H264 I 帧的最大量化参数,用于将 I 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (integer)

H264 P 帧的最小量化参数,用于将 P 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (integer)

H264 P 帧的最大量化参数,用于将 P 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP (integer)

H264 B 帧的最小量化参数,用于将 B 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP (integer)

H264 B 帧的最大量化参数,用于将 B 帧质量限制在一个范围内。有效范围:0 到 51。如果同时设置了 V4L2_CID_MPEG_VIDEO_H264_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (integer)

MPEG4 I 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (integer)

MPEG4 的最小量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (integer)

MPEG4 的最大量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (integer)

MPEG4 P 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (integer)

MPEG4 B 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_VBV_SIZE (integer)

视频缓冲区验证器(VBV)大小,单位为千字节,用作帧跳过的限制。VBV 在标准中定义为验证生成的流是否能成功解码的方法。标准将其描述为“概念上连接到编码器输出的假设解码器的一部分。其目的是限制编码器或编辑过程可能产生的数据速率的可变性。”适用于 MPEG1、MPEG2、MPEG4 编码器。

V4L2_CID_MPEG_VIDEO_VBV_DELAY (integer)

设置 VBV 缓冲区控制的初始延迟,单位为毫秒。

V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (integer)

水平搜索范围定义了在参考图片中搜索和匹配当前宏块(MB)的最大水平搜索区域(以像素为单位)。此 V4L2 控制宏用于设置视频编码器中运动估计模块的水平搜索范围。

V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (integer)

垂直搜索范围定义了在参考图片中搜索和匹配当前宏块(MB)的最大垂直搜索区域(以像素为单位)。此 V4L2 控制宏用于设置视频编码器中运动估计模块的垂直搜索范围。

V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (button)

强制下一个排队缓冲区为关键帧。适用于编码器。这是一个通用的、与编解码器无关的关键帧控制。

V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (integer)

编码图片缓冲区(CPB)大小,单位为千字节,用作帧跳过的限制。CPB 在 H264 标准中定义为验证生成的流是否能成功解码的方法。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (integer)

H264 开放 GOP 中 I 帧之间的周期。在开放 GOP 的情况下,这是两个 I 帧之间的周期。IDR(即时解码刷新)帧之间的周期取自 GOP_SIZE 控制。IDR 帧代表即时解码刷新,是一种 I 帧,之后不再引用任何之前的帧。这意味着流可以从 IDR 帧重新开始,而无需存储或解码任何之前的帧。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_HEADER_MODE

(enum)

enum v4l2_mpeg_video_header_mode -

确定头是作为第一个缓冲区返回,还是与第一个帧一起返回。适用于编码器。可能的值有:

V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE

流头在第一个缓冲区中单独返回。

V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME

流头与第一个编码帧一起返回。

V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (boolean)

重复视频序列头。重复这些头使视频流的随机访问更容易。适用于 MPEG1、2 和 4 编码器。

V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (boolean)

启用 MPEG4 解码器的去块后处理滤波器。适用于 MPEG4 解码器。

V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES (integer)

MPEG4 的 vop_time_increment_resolution 值。适用于 MPEG4 编码器。

V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC (integer)

MPEG4 的 vop_time_increment 值。适用于 MPEG4 编码器。

V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (boolean)

启用在编码比特流中生成帧打包补充增强信息。帧打包 SEI 消息包含用于 3D 观看的 L 和 R 平面排列。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (boolean)

在帧打包 SEI 中将当前帧设置为 frame0。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE

(enum)

enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -

H264 SEI 的帧打包排列类型。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD

像素交替来自 L 和 R。

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN

L 和 R 按列交错。

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW

L 和 R 按行交错。

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE

L 在左侧,R 在右侧。

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM

L 在顶部,R 在底部。

V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL

每帧一个视图。

V4L2_CID_MPEG_VIDEO_H264_FMO (boolean)

在编码比特流中启用灵活宏块排序。它是一种用于重构图片中宏块排序的技术。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE

(enum)

enum v4l2_mpeg_video_h264_fmo_map_type -

使用 FMO 时,映射类型将图像划分为不同的宏块扫描模式。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES

切片以宏块运行长度顺序交错。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES

根据编码器和解码器都知道的数学函数分散宏块。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER

宏块排列成矩形区域或感兴趣区域。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT

切片组以循环方式从中心向外增长。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN

切片组以光栅扫描模式从左到右增长。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN

切片组以擦除扫描模式从上到下增长。

V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT

用户定义的映射类型。

V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (integer)

FMO 中切片组的数量。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION

(enum)

enum v4l2_mpeg_video_h264_fmo_change_dir -

指定光栅和擦除映射的切片组更改方向。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT

光栅扫描或向右擦除。

V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT

反向光栅扫描或向左擦除。

V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (integer)

指定光栅和擦除映射的第一个切片组的大小。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (integer)

指定交错映射的连续宏块数量。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_ASO (boolean)

在编码比特流中启用任意切片排序。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (integer)

指定 ASO 中的切片顺序。适用于 H264 编码器。提供的 32 位整数解释如下(位 0 = 最低有效位):

位 0:15

切片 ID

位 16:32

切片位置或顺序

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (boolean)

启用 H264 分层编码。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE

(enum)

enum v4l2_mpeg_video_h264_hierarchical_coding_type -

指定分层编码类型。适用于 H264 编码器。可能的值有:

V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B

分层 B 编码。

V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P

分层 P 编码。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (integer)

指定分层编码层数。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (integer)

为每个层指定用户定义的 QP。适用于 H264 编码器。提供的 32 位整数解释如下(位 0 = 最低有效位):

位 0:15

QP 值

位 16:32

层数

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR (integer)

指示 H264 编码器分层编码第 0 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR (integer)

指示 H264 编码器分层编码第 1 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR (integer)

指示 H264 编码器分层编码第 2 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR (integer)

指示 H264 编码器分层编码第 3 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR (integer)

指示 H264 编码器分层编码第 4 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR (integer)

指示 H264 编码器分层编码第 5 层的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR (integer)

指示 H264 编码器分层编码第 6 层的比特率 (bps)。

V4L2_CID_FWHT_I_FRAME_QP (integer)

FWHT I 帧的量化参数。有效范围:1 到 31。

V4L2_CID_FWHT_P_FRAME_QP (integer)

FWHT P 帧的量化参数。有效范围:1 到 31。

V4L2_CID_MPEG_VIDEO_AVERAGE_QP (integer)

此只读控制返回当前编码帧的平均 QP 值。该值适用于最后一个出队捕获缓冲区 (VIDIOC_DQBUF)。其有效范围取决于编码格式和参数。对于 H264,其有效范围为 0 到 51。对于 HEVC,8 位为 0 到 51,10 位为 0 到 63。对于 H263 和 MPEG4,其有效范围为 1 到 31。对于 VP8,其有效范围为 0 到 127。对于 VP9,其有效范围为 0 到 255。如果设置了编解码器的 MIN_QP 和 MAX_QP,则 QP 将满足这两个要求。编解码器需要始终使用指定的范围,而不是硬件自定义范围。适用于编码器。

1.15.2. MFC 5.1 MPEG 控制

以下 MPEG 类控制处理特定于三星 S5P 系列 SoC 中存在的多格式编解码器 5.1 设备的 MPEG 解码和编码设置。

1.15.2.1. MFC 5.1 控制 ID

V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (boolean)

如果启用显示延迟,则解码器在处理一定数量的 OUTPUT 缓冲区后,将被强制返回 CAPTURE 缓冲区(解码帧)。延迟可通过 V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY 设置。此功能可用于例如生成视频缩略图。适用于 H264 解码器。

注意

此控制已弃用。请改用标准 V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE 控制。

V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (integer)

H264 解码器的显示延迟值。解码器在设置的“显示延迟”帧数后,将被强制返回解码帧。如果此数字较低,可能导致帧返回顺序混乱,此外硬件可能仍将返回的缓冲区用作后续帧的参考图片。

注意

此控制已弃用。请改用标准 V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY 控制。

V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (integer)

用于编码 P 帧的参考图片数量。适用于 H264 编码器。

V4L2_CID_MPEG_MFC51_VIDEO_PADDING (boolean)

编码器中的填充启用 - 使用颜色而不是重复边框像素。适用于编码器。

V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (integer)

编码器中的填充颜色。适用于编码器。提供的 32 位整数解释如下(位 0 = 最低有效位):

位 0:7

V 色度信息

位 8:15

U 色度信息

位 16:23

Y 亮度信息

位 24:31

必须为零。

V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (integer)

MFC 速率控制的反应系数。适用于编码器。

注意

  1. 仅当帧级 RC 启用时有效。

  2. 对于严格 CBR,此字段必须较小(例如 2 ~ 10)。对于 VBR,此字段必须较大(例如 100 ~ 1000)。

  3. 不建议使用大于 FRAME_RATE * (10^9 / BIT_RATE) 的数字。

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (boolean)

暗区自适应速率控制。仅当 H.264 和宏块级 RC 启用时有效(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE)。适用于 H264 编码器。

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (boolean)

平滑区域自适应速率控制。仅当 H.264 和宏块级 RC 启用时有效(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE)。适用于 H264 编码器。

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (boolean)

静态区域自适应速率控制。仅当 H.264 和宏块级 RC 启用时有效(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE)。适用于 H264 编码器。

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (boolean)

活动区域自适应速率控制。仅当 H.264 和宏块级 RC 启用时有效(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE)。适用于 H264 编码器。

V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE

(enum)

注意

此控制已弃用。请改用标准 V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE 控制。

enum v4l2_mpeg_mfc51_video_frame_skip_mode -

指示编码器在何种条件下应跳过帧。如果编码帧会导致编码流大于所选数据限制,则该帧将被跳过。可能的值有:

V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED

帧跳过模式已禁用。

V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT

帧跳过模式已启用,缓冲区限制由所选级别设置,并由标准定义。

V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT

帧跳过模式已启用,缓冲区限制由 VBV (MPEG1/2/4) 或 CPB (H264) 缓冲区大小控制设置。

V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (integer)

启用固定目标比特的速率控制。如果启用此设置,则编码器的速率控制逻辑将计算 GOP 的平均比特率并将其保持在设定比特率目标之下或等于。否则,速率控制逻辑将计算流的整体平均比特率并将其保持在设定比特率之下或等于。在第一种情况下,整个流的平均比特率将小于设定比特率。这是因为平均值是针对较少数量的帧计算的,另一方面,启用此设置将确保流满足严格的带宽限制。适用于编码器。

V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE

(enum)

enum v4l2_mpeg_mfc51_video_force_frame_type -

为下一个排队缓冲区强制指定帧类型。适用于编码器。可能的值有:

V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED

强制特定帧类型已禁用。

V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME

强制为 I 帧。

V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED

强制为非编码帧。

1.15.3. CX2341x MPEG 控制

以下 MPEG 类控制处理特定于 Conexant CX23415 和 CX23416 MPEG 编码芯片的 MPEG 编码设置。

1.15.3.1. CX2341x 控制 ID

V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE

(enum)

enum v4l2_mpeg_cx2341x_video_spatial_filter_mode -

设置空间滤波器模式(默认 MANUAL)。可能的值有:

V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL

手动选择滤波器

V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO

自动选择滤波器

V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))

空间滤波器的设置。0 = 关闭,15 = 最大值。(默认值为 0。)

V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE

(enum)

enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -

选择用于亮度空间滤波器的算法(默认 1D_HOR)。可能的值:

V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF

无滤波器

V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR

一维水平

V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT

一维垂直

V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE

二维可分离

V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE

二维对称不可分离

V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE

(enum)

enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -

选择色度空间滤波器的算法(默认 1D_HOR)。可能的值有:

V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF

无滤波器

V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR

一维水平

V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE

(enum)

enum v4l2_mpeg_cx2341x_video_temporal_filter_mode -

设置时域滤波器模式(默认 MANUAL)。可能的值有:

V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL

手动选择滤波器

V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO

自动选择滤波器

V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))

时域滤波器的设置。0 = 关闭,31 = 最大值。(全尺寸捕获默认值为 8,缩放捕获默认值为 0。)

V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE

(enum)

enum v4l2_mpeg_cx2341x_video_median_filter_type -

中值滤波器类型(默认 OFF)。可能的值有:

V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF

无滤波器

V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR

水平滤波器

V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT

垂直滤波器

V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT

水平和垂直滤波器

V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG

对角线滤波器

V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))

亮度中值滤波器启用阈值(默认 0)

V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))

亮度中值滤波器启用阈值以下(默认 255)

V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))

色度中值滤波器启用阈值(默认 0)

V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))

色度中值滤波器启用阈值以下(默认 255)

V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (boolean)

CX2341X MPEG 编码器可以在每四个视频帧之间插入一个空的 MPEG-2 PES 包。包大小为 2048 字节,包括 packet_start_code_prefix 和 stream_id 字段。stream_id 为 0xBF(私有流 2)。有效载荷由 0x00 字节组成,由应用程序填充。0 = 不插入,1 = 插入包。

1.15.4. VPX 控制参考

VPX 控制包括 VPx 视频编解码器编码参数的控制。

1.15.4.1. VPX 控制 ID

V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS

(enum)

enum v4l2_vp8_num_partitions -

VP8 编码器中使用的令牌分区数量。可能的值有:

V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION

1 个系数分区

V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS

2 个系数分区

V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS

4 个系数分区

V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS

8 个系数分区

V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (boolean)

设置此项可在帧内模式决策中阻止帧内 4x4 模式。

V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES

(enum)

enum v4l2_vp8_num_ref_frames -

用于编码 P 帧的参考图片数量。可能的值有:

V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME

将搜索最后编码的帧

V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME

将在最后编码的帧、黄金帧和备用参考 (altref) 帧中搜索两帧。编码器实现将决定选择哪两帧。

V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME

将搜索最后编码的帧、黄金帧和 altref 帧。

V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (integer)

指示循环滤波器级别。循环滤波器级别的调整通过相对于基线循环滤波器值的 delta 值完成。

V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (integer)

此参数影响循环滤波器。任何大于零的值都会削弱循环滤波器上的去块效应。

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (integer)

设置黄金帧的刷新周期。周期以帧数为单位定义。对于值为“n”,从第一个关键帧开始的每第 n 帧将被视为黄金帧。例如,对于编码序列 0, 1, 2, 3, 4, 5, 6, 7,如果黄金帧刷新周期设置为 4,则帧 0, 4, 8 等将被视为黄金帧,因为帧 0 始终是关键帧。

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL

(enum)

enum v4l2_vp8_golden_frame_sel -

选择用于编码的黄金帧。可能的值有:

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV

使用 (n-2) 帧作为黄金帧,当前帧索引为“n”。

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD

使用由 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD 指示的前一个特定帧作为黄金帧。

V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (integer)

VP8 的最小量化参数。

V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (integer)

VP8 的最大量化参数。

V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (integer)

VP8 I 帧的量化参数。

V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (integer)

VP8 P 帧的量化参数。

V4L2_CID_MPEG_VIDEO_VP8_PROFILE

(enum)

enum v4l2_mpeg_video_vp8_profile -

此控制允许为 VP8 编码器选择配置文件。这也用于枚举 VP8 编码器或解码器支持的配置文件。可能的值有:

V4L2_MPEG_VIDEO_VP8_PROFILE_0

配置文件 0

V4L2_MPEG_VIDEO_VP8_PROFILE_1

配置文件 1

V4L2_MPEG_VIDEO_VP8_PROFILE_2

配置文件 2

V4L2_MPEG_VIDEO_VP8_PROFILE_3

配置文件 3

V4L2_CID_MPEG_VIDEO_VP9_PROFILE

(enum)

enum v4l2_mpeg_video_vp9_profile -

此控制允许为 VP9 编码器选择配置文件。这也用于枚举 VP9 编码器或解码器支持的配置文件。可能的值有:

V4L2_MPEG_VIDEO_VP9_PROFILE_0

配置文件 0

V4L2_MPEG_VIDEO_VP9_PROFILE_1

配置文件 1

V4L2_MPEG_VIDEO_VP9_PROFILE_2

配置文件 2

V4L2_MPEG_VIDEO_VP9_PROFILE_3

配置文件 3

V4L2_CID_MPEG_VIDEO_VP9_LEVEL (enum)

enum v4l2_mpeg_video_vp9_level -

此控制允许为 VP9 编码器选择级别。这也用于枚举 VP9 编码器或解码器支持的级别。更多信息可以在 webmproject 找到。可能的值有:

V4L2_MPEG_VIDEO_VP9_LEVEL_1_0

级别 1

V4L2_MPEG_VIDEO_VP9_LEVEL_1_1

级别 1.1

V4L2_MPEG_VIDEO_VP9_LEVEL_2_0

级别 2

V4L2_MPEG_VIDEO_VP9_LEVEL_2_1

级别 2.1

V4L2_MPEG_VIDEO_VP9_LEVEL_3_0

级别 3

V4L2_MPEG_VIDEO_VP9_LEVEL_3_1

级别 3.1

V4L2_MPEG_VIDEO_VP9_LEVEL_4_0

级别 4

V4L2_MPEG_VIDEO_VP9_LEVEL_4_1

级别 4.1

V4L2_MPEG_VIDEO_VP9_LEVEL_5_0

级别 5

V4L2_MPEG_VIDEO_VP9_LEVEL_5_1

级别 5.1

V4L2_MPEG_VIDEO_VP9_LEVEL_5_2

级别 5.2

V4L2_MPEG_VIDEO_VP9_LEVEL_6_0

级别 6

V4L2_MPEG_VIDEO_VP9_LEVEL_6_1

级别 6.1

V4L2_MPEG_VIDEO_VP9_LEVEL_6_2

级别 6.2

1.15.5. 高效视频编码 (HEVC/H.265) 控制参考

HEVC/H.265 控制包括 HEVC/H.265 视频编解码器编码参数的控制。

1.15.5.1. HEVC/H.265 控制 ID

V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)

HEVC 的最小量化参数。有效范围:8 位为 0 到 51,10 位为 0 到 63。

V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)

HEVC 的最大量化参数。有效范围:8 位为 0 到 51,10 位为 0 到 63。

V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)

HEVC I 帧的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)

HEVC P 帧的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)

HEVC B 帧的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP (integer)

HEVC I 帧的最小量化参数,用于将 I 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP (integer)

HEVC I 帧的最大量化参数,用于将 I 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP (integer)

HEVC P 帧的最小量化参数,用于将 P 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP (integer)

HEVC P 帧的最大量化参数,用于将 P 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP (integer)

HEVC B 帧的最小量化参数,用于将 B 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP (integer)

HEVC B 帧的最大量化参数,用于将 B 帧质量限制在一个范围内。有效范围:8 位为 0 到 51,10 位为 0 到 63。如果同时设置了 V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,则应选择量化参数以满足两个要求。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)

HIERARCHICAL_QP 允许主机通过 HIERARCHICAL_QP_LAYER 为每个时域层指定量化参数值。仅当 HIERARCHICAL_CODING_LAYER 大于 1 时有效。将控制值设置为 1 可启用对层 QP 值的设置。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE

(enum)

enum v4l2_mpeg_video_hevc_hier_coding_type -

选择分层编码类型进行编码。可能的值有:

V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B

使用 B 帧进行分层编码。

V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P

使用 P 帧进行分层编码。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)

选择分层编码层。在正常编码(非分层编码)中,应为零。可能的值为 [0, 6]。0 表示分层编码层 0,1 表示分层编码层 1,依此类推。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)

指示分层编码层 0 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)

指示分层编码层 1 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)

指示分层编码层 2 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)

指示分层编码层 3 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)

指示分层编码层 4 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)

指示分层编码层 5 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)

指示分层编码层 6 的量化参数。有效范围:[V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP, V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP]。

V4L2_CID_MPEG_VIDEO_HEVC_PROFILE

(enum)

enum v4l2_mpeg_video_hevc_profile -

选择 HEVC 编码器的所需配置文件。

V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN

主配置文件。

V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE

主静态图片配置文件。

V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10

主 10 配置。

V4L2_CID_MPEG_VIDEO_HEVC_LEVEL

(enum)

enum v4l2_mpeg_video_hevc_level -

选择 HEVC 编码器所需的级别。

V4L2_MPEG_VIDEO_HEVC_LEVEL_1

级别 1.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_2

级别 2.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1

级别 2.1

V4L2_MPEG_VIDEO_HEVC_LEVEL_3

级别 3.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1

级别 3.1

V4L2_MPEG_VIDEO_HEVC_LEVEL_4

级别 4.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1

级别 4.1

V4L2_MPEG_VIDEO_HEVC_LEVEL_5

级别 5.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1

级别 5.1

V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2

级别 5.2

V4L2_MPEG_VIDEO_HEVC_LEVEL_6

级别 6.0

V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1

级别 6.1

V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2

级别 6.2

V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (integer)

指示一秒内均匀间隔的子间隔(称为刻度)的数量。这是一个 16 位无符号整数,最大值为 0xffff,最小值为 1。

V4L2_CID_MPEG_VIDEO_HEVC_TIER

(enum)

enum v4l2_mpeg_video_hevc_tier -

TIER_FLAG 指定 HEVC 编码图片的层级信息。层级旨在处理最大比特率不同的应用。将此标志设置为 0 将 HEVC 层级选择为主层级,将此标志设置为 1 则表示高层级。高层级适用于需要高比特率的应用。

V4L2_MPEG_VIDEO_HEVC_TIER_MAIN

主层级。

V4L2_MPEG_VIDEO_HEVC_TIER_HIGH

高层级。

V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (integer)

选择 HEVC 最大编码单元深度。

V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE

(enum)

enum v4l2_mpeg_video_hevc_loop_filter_mode -

HEVC 编码器的环路滤波模式。可能的值为

V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED

循环滤波器已禁用。

V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED

循环滤波器已启用。

V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY

循环滤波器在切片边界处禁用。

V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (integer)

选择 HEVC 环路滤波器 beta 偏移。有效范围是 [-6, +6]。

V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (integer)

选择 HEVC 环路滤波器 tc 偏移。有效范围是 [-6, +6]。

V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE

(enum)

enum v4l2_mpeg_video_hevc_hier_refresh_type -

选择 HEVC 编码器的刷新类型。主机必须通过 V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD 指定周期。

V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE

使用 B 帧进行分层编码。

V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA

使用 CRA(干净随机访问单元)图片编码。

V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR

使用 IDR(即时解码刷新)图片编码。

V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (integer)

选择 HEVC 编码器的刷新周期。这指定了两个 CRA/IDR 图像之间 I 图像的数量。仅当 REFRESH_TYPE 不为 0 时,此设置才有效。

V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (boolean)

指示 HEVC 无损编码。设置为 0 禁用无损编码。设置为 1 启用无损编码。

V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (boolean)

指示 HEVC 编码器的常量帧内预测。指定约束帧内预测,其中帧内最大编码单元 (LCU) 预测仅通过使用残差数据和相邻帧内 LCU 的解码样本来执行。将值设置为 1 启用常量帧内预测,将值设置为 0 禁用常量帧内预测。

V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (boolean)

指示 HEVC 编码器的波前并行处理。设置为 0 禁用该功能,设置为 1 启用波前并行处理。

V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (boolean)

将值设置为 1 可启用 HEVC 编码器的 P 帧和 B 帧组合。

V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (boolean)

指示 HEVC 编码器的时间标识符,通过将值设置为 1 启用。

V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (boolean)

当设置为 1 时,表示双线性插值有条件地用于 CVS 中的帧内预测滤波过程。当设置为 0 时,表示双线性插值未用于 CVS 中。

V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (integer)

指示合并候选运动矢量的最大数量。值范围为 0 到 4。

V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (boolean)

指示 HEVC 编码器的时间运动矢量预测。设置为 1 启用预测。设置为 0 禁用预测。

V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (boolean)

指定 HEVC 是否生成一个包含长度字段大小而非起始码模式的码流。长度字段的大小可通过 V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD 控制进行配置。将值设置为 0 禁用不带起始码模式的编码。将值设置为 1 启用不带起始码模式的编码。

V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (enum)

enum v4l2_mpeg_video_hevc_size_of_length_field -

指示长度字段的大小。当启用 WITHOUT_STARTCODE_ENABLE 编码时,此项有效。

V4L2_MPEG_VIDEO_HEVC_SIZE_0

生成起始码模式(正常)。

V4L2_MPEG_VIDEO_HEVC_SIZE_1

生成长度字段大小而非起始码模式,长度为 1。

V4L2_MPEG_VIDEO_HEVC_SIZE_2

生成长度字段大小而非起始码模式,长度为 2。

V4L2_MPEG_VIDEO_HEVC_SIZE_4

生成长度字段大小而非起始码模式,长度为 4。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (integer)

指示 HEVC 编码器分层编码层 0 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (integer)

指示 HEVC 编码器分层编码层 1 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (integer)

指示 HEVC 编码器分层编码层 2 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (integer)

指示 HEVC 编码器分层编码层 3 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (integer)

指示 HEVC 编码器分层编码层 4 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (integer)

指示 HEVC 编码器分层编码层 5 的比特率。

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (integer)

指示 HEVC 编码器分层编码层 6 的比特率。

V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (integer)

选择 HEVC 编码器所需的 P 参考图像数量。P 帧可以使用 1 或 2 个帧作为参考。

V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (integer)

指示是否在每个 IDR 生成 SPS 和 PPS。设置为 0 禁用在每个 IDR 生成 SPS 和 PPS。设置为 1 启用在每个 IDR 生成 SPS 和 PPS。