1.15. 编解码器控制参考

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

注意

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

1.15.1. 通用编解码器控制

1.15.1.1. 编解码器控制 ID

V4L2_CID_CODEC_CLASS (类)

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

V4L2_CID_MPEG_STREAM_TYPE

(枚举)

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 (整数)

MPEG 传输流的程序映射表数据包 ID (默认值为 16)

V4L2_CID_MPEG_STREAM_PID_AUDIO (整数)

MPEG 传输流的音频数据包 ID (默认值为 256)

V4L2_CID_MPEG_STREAM_PID_VIDEO (整数)

MPEG 传输流的视频数据包 ID (默认值为 260)

V4L2_CID_MPEG_STREAM_PID_PCR (整数)

MPEG 传输流中携带 PCR 字段的数据包 ID (默认值为 259)

V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (整数)

MPEG PES 的音频 ID

V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (整数)

MPEG PES 的视频 ID

V4L2_CID_MPEG_STREAM_VBI_FMT

(枚举)

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 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 v4l2_mpeg_audio_encoding -

MPEG 音频编码。此控件特定于多路复用 MPEG 流。可能的值为

V4L2_MPEG_AUDIO_ENCODING_LAYER_1

MPEG-1/2 Layer I 编码

V4L2_MPEG_AUDIO_ENCODING_LAYER_2

MPEG-1/2 Layer II 编码

V4L2_MPEG_AUDIO_ENCODING_LAYER_3

MPEG-1/2 Layer III 编码

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 v4l2_mpeg_audio_l1_bitrate -

MPEG-1/2 Layer I 比特率。可能的值为

V4L2_MPEG_AUDIO_L1_BITRATE_32K

32 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_64K

64 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_96K

96 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_128K

128 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_160K

160 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_192K

192 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_224K

224 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_256K

256 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_288K

288 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_320K

320 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_352K

352 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_384K

384 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_416K

416 千比特/秒

V4L2_MPEG_AUDIO_L1_BITRATE_448K

448 千比特/秒

V4L2_CID_MPEG_AUDIO_L2_BITRATE

(枚举)

enum v4l2_mpeg_audio_l2_bitrate -

MPEG-1/2 Layer II 比特率。可能的值为

V4L2_MPEG_AUDIO_L2_BITRATE_32K

32 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_48K

48 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_56K

56 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_64K

64 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_80K

80 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_96K

96 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_112K

112 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_128K

128 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_160K

160 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_192K

192 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_224K

224 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_256K

256 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_320K

320 千比特/秒

V4L2_MPEG_AUDIO_L2_BITRATE_384K

384 千比特/秒

V4L2_CID_MPEG_AUDIO_L3_BITRATE

(枚举)

enum v4l2_mpeg_audio_l3_bitrate -

MPEG-1/2 Layer III 比特率。可能的值为

V4L2_MPEG_AUDIO_L3_BITRATE_32K

32 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_40K

40 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_48K

48 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_56K

56 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_64K

64 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_80K

80 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_96K

96 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_112K

112 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_128K

128 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_160K

160 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_192K

192 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_224K

224 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_256K

256 千比特/秒

V4L2_MPEG_AUDIO_L3_BITRATE_320K

320 千比特/秒

V4L2_CID_MPEG_AUDIO_AAC_BITRATE (整数)

AAC 比特率,以比特每秒为单位。

V4L2_CID_MPEG_AUDIO_AC3_BITRATE

(枚举)

enum v4l2_mpeg_audio_ac3_bitrate -

AC-3 比特率。可能的值为

V4L2_MPEG_AUDIO_AC3_BITRATE_32K

32 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_40K

40 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_48K

48 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_56K

56 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_64K

64 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_80K

80 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_96K

96 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_112K

112 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_128K

128 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_160K

160 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_192K

192 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_224K

224 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_256K

256 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_320K

320 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_384K

384 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_448K

448 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_512K

512 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_576K

576 千比特/秒

V4L2_MPEG_AUDIO_AC3_BITRATE_640K

640 千比特/秒

V4L2_CID_MPEG_AUDIO_MODE

(枚举)

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 v4l2_mpeg_audio_mode_extension -

联合立体声音频模式扩展。在 Layer I 和 II 中,它们指示哪些子带处于强度立体声中。所有其他子带都以立体声编码。Layer III 尚不支持。可能的值为

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 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 v4l2_mpeg_audio_crc -

CRC 方法。可能的值为

V4L2_MPEG_AUDIO_CRC_NONE

V4L2_MPEG_AUDIO_CRC_CRC16

16 位奇偶校验

V4L2_CID_MPEG_AUDIO_MUTE (布尔值)

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

V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK

(枚举)

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 v4l2_mpeg_audio_dec_playback -

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

V4L2_CID_MPEG_VIDEO_ENCODING

(枚举)

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 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 (整数)

B 帧的数量(默认值为 2)

V4L2_CID_MPEG_VIDEO_GOP_SIZE (整数)

GOP 大小(默认值为 12)

V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (布尔值)

GOP 闭合(默认值为 1)

V4L2_CID_MPEG_VIDEO_PULLDOWN (布尔值)

启用 3:2 下拉(默认值为 0)

V4L2_CID_MPEG_VIDEO_BITRATE_MODE

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (整数)

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

V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (整数)

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

V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_MUTE (布尔值)

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

V4L2_CID_MPEG_VIDEO_MUTE_YUV (整数)

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

位 0:7

V 色度信息

位 8:15

U 色度信息

位 16:23

Y 亮度信息

位 24:31

必须为零。

V4L2_CID_MPEG_VIDEO_DEC_PTS (整数64)

此只读控件返回当前显示帧的 33 位视频呈现时间戳,如 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 (整数64)

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

V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR (整数64)

此控件在 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 (布尔值)

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

V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (布尔值)

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

V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (整数)

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

V4L2_CID_MPEG_VIDEO_AU_DELIMITER (布尔值)

如果启用,则将生成 AUD(访问单元分隔符)NALU。这可能有助于在无需完全解析每个 NALU 的情况下找到帧的开头。适用于 H264 和 HEVC 编码器。

V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (布尔值)

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

V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (整数)

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

V4L2_CID_MPEG_VIDEO_H264_LEVEL

(枚举)

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 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 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 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 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 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 (整数)

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

V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (整数)

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

V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (整数)

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

V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE

(枚举)

enum v4l2_mpeg_video_h264_entropy_mode -

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

V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC

使用 CAVLC 熵编码。

V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC

使用 CABAC 熵编码。

V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (布尔值)

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

V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (布尔值)

为 H264 启用约束帧内预测。适用于 H264 编码器。

V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (整数)

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

V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (整数)

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

V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE (枚举)

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

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

V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD (整数)

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

V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (布尔值)

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

V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (布尔值)

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

V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (布尔值)

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

V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H263_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H263_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_VBV_SIZE (整数)

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

V4L2_CID_MPEG_VIDEO_VBV_DELAY (整数)

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

V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (整数)

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

V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (整数)

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

V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (按钮)

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

V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (整数)

编码图像缓冲区 (Coded Picture Buffer, CPB) 的大小,单位为千字节 (KB),用作帧跳过的限制。CPB 在 H.264 标准中被定义为验证产生的码流是否能够成功解码的一种方法。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (整数)

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

V4L2_CID_MPEG_VIDEO_HEADER_MODE

(枚举)

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 (布尔值)

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

V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (布尔值)

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

V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES (整数)

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

V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC (整数)

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

V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (布尔值)

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

V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (布尔值)

将当前帧设置为帧打包 SEI 中的 frame0。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE

(枚举)

enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -

H.264 SEI 的帧打包排列类型。适用于 H.264 编码器。可能的值为

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 (布尔值)

启用编码比特流中的灵活宏块排序。这是一种用于重构图片中宏块顺序的技术。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE

(枚举)

enum v4l2_mpeg_video_h264_fmo_map_type -

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

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 (整数)

FMO 中的切片组数量。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION

(枚举)

enum v4l2_mpeg_video_h264_fmo_change_dir -

指定光栅和擦拭映射的切片组更改方向。适用于 H.264 编码器。可能的值为

V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT

光栅扫描或向右擦拭。

V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT

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

V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (整数)

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

V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (整数)

指定交错映射的连续宏块数。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_ASO (布尔值)

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

V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (整数)

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

位 0:15

切片 ID

位 16:32

切片位置或顺序

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (布尔值)

启用 H.264 分层编码。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE

(枚举)

enum v4l2_mpeg_video_h264_hierarchical_coding_type -

指定分层编码类型。适用于 H.264 编码器。可能的值为

V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B

分层 B 编码。

V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P

分层 P 编码。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (整数)

指定分层编码层的数量。适用于 H.264 编码器。

V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (整数)

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

位 0:15

QP 值

位 16:32

层数

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR (整数)

指示 H.264 编码器分层编码层 0 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR (整数)

指示 H.264 编码器分层编码层 1 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR (整数)

指示 H.264 编码器分层编码层 2 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR (整数)

指示 H.264 编码器分层编码层 3 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR (整数)

指示 H.264 编码器分层编码层 4 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR (整数)

指示 H.264 编码器分层编码层 5 的比特率 (bps)。

V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR (整数)

指示 H.264 编码器分层编码层 6 的比特率 (bps)。

V4L2_CID_FWHT_I_FRAME_QP (整数)

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

V4L2_CID_FWHT_P_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_AVERAGE_QP (整数)

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

1.15.2. MFC 5.1 MPEG 控制

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

1.15.2.1. MFC 5.1 控制 ID

V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (布尔值)

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

注意

此控件已弃用。请改用标准的 V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY 控件。

V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (整数)

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

注意

此控件已弃用。请改用标准的 V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY 控件。

V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (整数)

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

V4L2_CID_MPEG_MFC51_VIDEO_PADDING (布尔值)

编码器中的填充启用 - 使用颜色代替重复的边界像素。适用于编码器。

V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (整数)

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

位 0:7

V 色度信息

位 8:15

U 色度信息

位 16:23

Y 亮度信息

位 24:31

必须为零。

V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (整数)

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 (布尔值)

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

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (布尔值)

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

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (布尔值)

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

V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (布尔值)

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

V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE

(枚举)

注意

此控件已弃用。请改用标准的 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 (整数)

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

V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE

(枚举)

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 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 (整数 (0-15))

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

V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE

(枚举)

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 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 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 (整数 (0-31))

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

V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE

(枚举)

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 (整数 (0-255))

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

V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (整数 (0-255))

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

V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (整数 (0-255))

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

V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (整数 (0-255))

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

V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (布尔值)

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 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 (布尔值)

设置此项可以防止在帧内模式决策中使用帧内 4x4 模式。

V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES

(枚举)

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 (整数)

指示环路滤波器级别。环路滤波器级别的调整是通过相对于基线环路滤波器值的增量值来完成的。

V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (整数)

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

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (整数)

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

V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL

(枚举)

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 (整数)

VP8 的最小量化参数。

V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (整数)

VP8 的最大量化参数。

V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (整数)

VP8 的 I 帧的量化参数。

V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (整数)

VP8 的 P 帧的量化参数。

V4L2_CID_MPEG_VIDEO_VP8_PROFILE

(枚举)

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 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 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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (整数)

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 (整数)

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 (整数)

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 (整数)

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 (整数)

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 (整数)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_PROFILE

(枚举)

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 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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_TIER

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE

(枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE

(枚举)

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 (Clean Random Access Unit) 图片编码。

V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR

使用 IDR (瞬时解码刷新) 图像编码。

V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (布尔值)

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

V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (枚举)

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 (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (整数)

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

V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (整数)

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

V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (整数)

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

V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (整数)

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