Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Stateless Codec Control Reference

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

1.16. Tài liệu tham khảo kiểm soát Codec không trạng thái

Lớp điều khiển Stateless Codec nhằm hỗ trợ bộ giải mã và mã hóa không trạng thái (tức là bộ tăng tốc phần cứng).

Các trình điều khiển này thường được ZZ0000ZZ hỗ trợ, và xử lý các định dạng pixel được phân tích cú pháp như V4L2_PIX_FMT_H264_SLICE.

1.16.1. ID kiểm soát Codec không trạng thái

ZZ0000ZZ

Bộ mô tả lớp Codec không quốc tịch.

ZZ0001ZZ

Chỉ định bộ tham số trình tự (như được trích xuất từ dòng bit) cho dữ liệu lát H264 được liên kết. Điều này bao gồm các tham số cần thiết để định cấu hình giải mã phần cứng không trạng thái đường ống cho H264. Các tham số dòng bit được xác định theo tới ZZ0000ZZ, phần 7.4.2.1.1 “Dữ liệu cài đặt tham số trình tự Ngữ nghĩa”. Để biết thêm tài liệu, hãy tham khảo ở trên đặc điểm kỹ thuật, trừ khi có một nhận xét rõ ràng nêu rõ mặt khác.

type v4l2_ctrl_h264_sps
struct v4l2_ctrl_h264_sps

__u8

profile_idc

__u8

constraint_set_flags

See Sequence Parameter Set Constraints Set Flags

__u8

level_idc

__u8

seq_parameter_set_id

__u8

chroma_format_idc

__u8

bit_depth_luma_minus8

__u8

bit_depth_chroma_minus8

__u8

log2_max_frame_num_minus4

__u8

pic_order_cnt_type

__u8

log2_max_pic_order_cnt_lsb_minus4

__u8

max_num_ref_frames

__u8

num_ref_frames_in_pic_order_cnt_cycle

__s32

offset_for_ref_frame[255]

__s32

offset_for_non_ref_pic

__s32

offset_for_top_to_bottom_field

__u16

pic_width_in_mbs_minus1

__u16

pic_height_in_map_units_minus1

__u32

flags

See Sequence Parameter Set Flags

ZZ0000ZZ

V4L2_H264_SPS_CONSTRAINT_SET0_FLAG

0x00000001

V4L2_H264_SPS_CONSTRAINT_SET1_FLAG

0x00000002

V4L2_H264_SPS_CONSTRAINT_SET2_FLAG

0x00000004

V4L2_H264_SPS_CONSTRAINT_SET3_FLAG

0x00000008

V4L2_H264_SPS_CONSTRAINT_SET4_FLAG

0x00000010

V4L2_H264_SPS_CONSTRAINT_SET5_FLAG

0x00000020

ZZ0000ZZ

V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE

0x00000001

V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS

0x00000002

V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO

0x00000004

V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED

0x00000008

V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY

0x00000010

V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD

0x00000020

V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE

0x00000040

ZZ0001ZZ

Chỉ định bộ tham số hình ảnh (như được trích xuất từ dòng bit) cho dữ liệu lát H264 được liên kết. Điều này bao gồm các tham số cần thiết để định cấu hình giải mã phần cứng không trạng thái đường ống cho H264. Các tham số dòng bit được xác định theo tới ZZ0000ZZ, phần 7.4.2.2 “Bộ tham số hình ảnh RBSP Ngữ nghĩa”. Để biết thêm tài liệu, hãy tham khảo ở trên đặc điểm kỹ thuật, trừ khi có một nhận xét rõ ràng nêu rõ mặt khác.

type v4l2_ctrl_h264_pps
struct v4l2_ctrl_h264_pps

__u8

pic_parameter_set_id

__u8

seq_parameter_set_id

__u8

num_slice_groups_minus1

__u8

num_ref_idx_l0_default_active_minus1

__u8

num_ref_idx_l1_default_active_minus1

__u8

weighted_bipred_idc

__s8

pic_init_qp_minus26

__s8

pic_init_qs_minus26

__s8

chroma_qp_index_offset

__s8

second_chroma_qp_index_offset

__u16

flags

See Picture Parameter Set Flags

ZZ0000ZZ

V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE

0x0001

V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT

0x0002

V4L2_H264_PPS_FLAG_WEIGHTED_PRED

0x0004

V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT

0x0008

V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED

0x0010

V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT

0x0020

V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE

0x0040

V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT

0x0080

V4L2_CID_STATELESS_H264_SCALING_MATRIX must be used for this picture.

ZZ0001ZZ

Chỉ định ma trận chia tỷ lệ (như được trích xuất từ dòng bit) cho dữ liệu lát cắt H264 liên quan. Các tham số dòng bit là được xác định theo ZZ0000ZZ, phần 7.4.2.1.1.1 “Tỷ lệ Liệt kê ngữ nghĩa”. Để biết thêm tài liệu, hãy tham khảo ở trên đặc điểm kỹ thuật, trừ khi có một nhận xét rõ ràng nêu rõ mặt khác.

type v4l2_ctrl_h264_scaling_matrix
struct v4l2_ctrl_h264_scaling_matrix

__u8

scaling_list_4x4[6][16]

Scaling matrix after applying the inverse scanning process. Expected list order is Intra Y, Intra Cb, Intra Cr, Inter Y, Inter Cb, Inter Cr. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_8x8[6][64]

Scaling matrix after applying the inverse scanning process. Expected list order is Intra Y, Inter Y, Intra Cb, Inter Cb, Intra Cr, Inter Cr. The values on each scaling list are expected in raster scan order.

ZZ0001ZZ

Chỉ định các tham số lát cắt (như được trích xuất từ dòng bit) cho dữ liệu lát H264 liên quan. Điều này bao gồm những điều cần thiết các tham số để định cấu hình đường dẫn giải mã phần cứng không trạng thái cho H264. Các tham số dòng bit được xác định theo ZZ0000ZZ, phần 7.4.3 “Ngữ nghĩa của tiêu đề lát cắt”. Để biết thêm tài liệu, hãy tham khảo đặc điểm kỹ thuật ở trên, trừ khi có một nhận xét rõ ràng nêu khác.

type v4l2_ctrl_h264_slice_params
struct v4l2_ctrl_h264_slice_params

__u32

header_bit_size

Offset in bits to slice_data() from the beginning of this slice.

__u32

first_mb_in_slice

__u8

slice_type

__u8

colour_plane_id

__u8

redundant_pic_cnt

__u8

cabac_init_idc

__s8

slice_qp_delta

__s8

slice_qs_delta

__u8

disable_deblocking_filter_idc

__s8

slice_alpha_c0_offset_div2

__s8

slice_beta_offset_div2

__u8

num_ref_idx_l0_active_minus1

If num_ref_idx_active_override_flag is not set, this field must be set to the value of num_ref_idx_l0_default_active_minus1

__u8

num_ref_idx_l1_active_minus1

If num_ref_idx_active_override_flag is not set, this field must be set to the value of num_ref_idx_l1_default_active_minus1

__u8

reserved

Applications and drivers must set this to zero.

struct v4l2_h264_reference

ref_pic_list0[32]

Reference picture list after applying the per-slice modifications

struct v4l2_h264_reference

ref_pic_list1[32]

Reference picture list after applying the per-slice modifications

__u32

flags

See Slice Parameter Flags

ZZ0000ZZ

V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED

0x00000001

V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH

0x00000002

ZZ0001ZZ

Bảng trọng lượng dự đoán được xác định theo ZZ0000ZZ, phần 7.4.3.2 “Ngữ nghĩa bảng trọng số dự đoán”. Bảng trọng số dự đoán phải được ứng dụng thông qua theo các điều kiện được giải thích trong phần 7.3.3 “Tiêu đề lát cắt cú pháp”.

type v4l2_ctrl_h264_pred_weights
struct v4l2_ctrl_h264_pred_weights

__u16

luma_log2_weight_denom

__u16

chroma_log2_weight_denom

struct v4l2_h264_weight_factors

weight_factors[2]

The weight factors at index 0 are the weight factors for the reference list 0, the one at index 1 for the reference list 1.

type v4l2_h264_weight_factors
struct v4l2_h264_weight_factors

__s16

luma_weight[32]

__s16

luma_offset[32]

__s16

chroma_weight[32][2]

__s16

chroma_offset[32][2]

ZZ0000ZZ

type v4l2_h264_reference
struct v4l2_h264_reference

__u8

fields

Specifies how the picture is referenced. See Reference Fields

__u8

index

Index into the v4l2_ctrl_h264_decode_params.dpb array.

ZZ0000ZZ

V4L2_H264_TOP_FIELD_REF

0x1

The top field in field pair is used for short-term reference.

V4L2_H264_BOTTOM_FIELD_REF

0x2

The bottom field in field pair is used for short-term reference.

V4L2_H264_FRAME_REF

0x3

The frame (or the top/bottom fields, if it’s a field pair) is used for short-term reference.

ZZ0001ZZ

Chỉ định các tham số giải mã (như được trích xuất từ dòng bit) cho dữ liệu lát H264 liên quan. Điều này bao gồm những điều cần thiết các tham số để định cấu hình đường dẫn giải mã phần cứng không trạng thái cho H264. Các tham số dòng bit được xác định theo ZZ0000ZZ. Để biết thêm tài liệu, hãy tham khảo ở trên đặc điểm kỹ thuật, trừ khi có một nhận xét rõ ràng nêu rõ mặt khác.

type v4l2_ctrl_h264_decode_params
struct v4l2_ctrl_h264_decode_params

struct v4l2_h264_dpb_entry

dpb[16]

__u16

nal_ref_idc

NAL reference ID value coming from the NAL Unit header

__u16

frame_num

__s32

top_field_order_cnt

Picture Order Count for the coded top field

__s32

bottom_field_order_cnt

Picture Order Count for the coded bottom field

__u16

idr_pic_id

__u16

pic_order_cnt_lsb

__s32

delta_pic_order_cnt_bottom

__s32

delta_pic_order_cnt0

__s32

delta_pic_order_cnt1

__u32

dec_ref_pic_marking_bit_size

Size in bits of the dec_ref_pic_marking() syntax element.

__u32

pic_order_cnt_bit_size

Combined size in bits of the picture order count related syntax elements: pic_order_cnt_lsb, delta_pic_order_cnt_bottom, delta_pic_order_cnt0, and delta_pic_order_cnt1.

__u32

slice_group_change_cycle

__u32

reserved

Applications and drivers must set this to zero.

__u32

flags

See Decode Parameters Flags

ZZ0000ZZ

V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC

0x00000001

That picture is an IDR picture

V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC

0x00000002

V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD

0x00000004

V4L2_H264_DECODE_PARAM_FLAG_PFRAME

0x00000008

V4L2_H264_DECODE_PARAM_FLAG_BFRAME

0x00000010

type v4l2_h264_dpb_entry
struct v4l2_h264_dpb_entry

__u64

reference_ts

Timestamp of the V4L2 capture buffer to use as reference, used with B-coded and P-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u32

pic_num

For short term references, this must match the derived value PicNum (8-28) and for long term references it must match the derived value LongTermPicNum (8-29). When decoding frames (as opposed to fields) pic_num is the same as FrameNumWrap.

__u16

frame_num

For short term references, this must match the frame_num value from the slice header syntax (the driver will wrap the value if needed). For long term references, this must be set to the value of long_term_frame_idx described in the dec_ref_pic_marking() syntax.

__u8

fields

Specifies how the DPB entry is referenced. See Reference Fields

__u8

reserved[5]

Applications and drivers must set this to zero.

__s32

top_field_order_cnt

__s32

bottom_field_order_cnt

__u32

flags

See DPB Entry Flags

ZZ0000ZZ

V4L2_H264_DPB_ENTRY_FLAG_VALID

0x00000001

The DPB entry is valid (non-empty) and should be considered.

V4L2_H264_DPB_ENTRY_FLAG_ACTIVE

0x00000002

The DPB entry is used for reference.

V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM

0x00000004

The DPB entry is used for long-term reference.

V4L2_H264_DPB_ENTRY_FLAG_FIELD

0x00000008

The DPB entry is a single field or a complementary field pair.

ZZ0000ZZ

Chỉ định chế độ giải mã sẽ sử dụng. Hiện tại hiển thị dựa trên lát cắt và giải mã dựa trên khung nhưng các chế độ mới có thể được thêm vào sau này. Điều khiển này được sử dụng làm công cụ sửa đổi cho V4L2_PIX_FMT_H264_SLICE định dạng pixel. Các ứng dụng hỗ trợ V4L2_PIX_FMT_H264_SLICE được yêu cầu đặt điều khiển này để chỉ định chế độ giải mã đó là điều được mong đợi cho bộ đệm. Trình điều khiển có thể hiển thị một hoặc nhiều chế độ giải mã, tùy thuộc vào về những gì họ có thể hỗ trợ.

type v4l2_stateless_h264_decode_mode

V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED

0

Decoding is done at the slice granularity. The OUTPUT buffer must contain a single slice. When this mode is selected, the V4L2_CID_STATELESS_H264_SLICE_PARAMS control shall be set. When multiple slices compose a frame, use of V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF flag is required.

V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED

1

Decoding is done at the frame granularity, The OUTPUT buffer must contain all slices needed to decode the frame. The OUTPUT buffer must also contain both fields. This mode will be supported by devices that parse the slice(s) header(s) in hardware. When this mode is selected, the V4L2_CID_STATELESS_H264_SLICE_PARAMS control shall not be set.

ZZ0000ZZ

Chỉ định mã bắt đầu lát cắt H264 dự kiến cho mỗi lát cắt. Điều khiển này được sử dụng làm công cụ sửa đổi cho V4L2_PIX_FMT_H264_SLICE định dạng pixel. Các ứng dụng hỗ trợ V4L2_PIX_FMT_H264_SLICE được yêu cầu đặt điều khiển này để chỉ định mã bắt đầu đó là điều được mong đợi cho bộ đệm. Trình điều khiển có thể hiển thị một hoặc nhiều mã bắt đầu, tùy thuộc vào về những gì họ có thể hỗ trợ.

type v4l2_stateless_h264_start_code

V4L2_STATELESS_H264_START_CODE_NONE

0

Selecting this value specifies that H264 slices are passed to the driver without any start code. The bitstream data should be according to ITU-T Rec. H.264 Specification (04/2017 Edition) 7.3.1 NAL unit syntax, hence contains emulation prevention bytes when required.

V4L2_STATELESS_H264_START_CODE_ANNEX_B

1

Selecting this value specifies that H264 slices are expected to be prefixed by Annex B start codes. According to ITU-T Rec. H.264 Specification (04/2017 Edition) valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.

ZZ0000ZZ

Chỉ định các tham số FWHT (Fast Walsh Hadamard Transform) (như được trích xuất từ dòng bit) cho dữ liệu FWHT được liên kết. Điều này bao gồm những điều cần thiết các tham số để định cấu hình đường dẫn giải mã phần cứng không trạng thái cho FWHT. Codec này dành riêng cho trình điều khiển thử nghiệm vicodec.

type v4l2_ctrl_fwht_params
struct v4l2_ctrl_fwht_params

__u64

backward_ref_ts

Timestamp of the V4L2 capture buffer to use as backward reference, used with P-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u32

version

The version of the codec. Set to V4L2_FWHT_VERSION.

__u32

width

The width of the frame.

__u32

height

The height of the frame.

__u32

flags

The flags of the frame, see FWHT Flags.

__u32

colorspace

The colorspace of the frame, from enum v4l2_colorspace.

__u32

xfer_func

The transfer function, from enum v4l2_xfer_func.

__u32

ycbcr_enc

The Y’CbCr encoding, from enum v4l2_ycbcr_encoding.

__u32

quantization

The quantization range, from enum v4l2_quantization.

1.16.2. Cờ FWHT

V4L2_FWHT_FL_IS_INTERLACED

0x00000001

Set if this is an interlaced format.

V4L2_FWHT_FL_IS_BOTTOM_FIRST

0x00000002

Set if this is a bottom-first (NTSC) interlaced format.

V4L2_FWHT_FL_IS_ALTERNATE

0x00000004

Set if each ‘frame’ contains just one field.

V4L2_FWHT_FL_IS_BOTTOM_FIELD

0x00000008

If V4L2_FWHT_FL_IS_ALTERNATE was set, then this is set if this ‘frame’ is the bottom field, else it is the top field.

V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED

0x00000010

Set if the Y’ (luma) plane is uncompressed.

V4L2_FWHT_FL_CB_IS_UNCOMPRESSED

0x00000020

Set if the Cb plane is uncompressed.

V4L2_FWHT_FL_CR_IS_UNCOMPRESSED

0x00000040

Set if the Cr plane is uncompressed.

V4L2_FWHT_FL_CHROMA_FULL_HEIGHT

0x00000080

Set if the chroma plane has the same height as the luma plane, else the chroma plane is half the height of the luma plane.

V4L2_FWHT_FL_CHROMA_FULL_WIDTH

0x00000100

Set if the chroma plane has the same width as the luma plane, else the chroma plane is half the width of the luma plane.

V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED

0x00000200

Set if the alpha plane is uncompressed.

V4L2_FWHT_FL_I_FRAME

0x00000400

Set if this is an I-frame.

V4L2_FWHT_FL_COMPONENTS_NUM_MSK

0x00070000

The number of color components minus one.

V4L2_FWHT_FL_PIXENC_MSK

0x00180000

The mask for the pixel encoding.

V4L2_FWHT_FL_PIXENC_YUV

0x00080000

Set if the pixel encoding is YUV.

V4L2_FWHT_FL_PIXENC_RGB

0x00100000

Set if the pixel encoding is RGB.

V4L2_FWHT_FL_PIXENC_HSV

0x00180000

Set if the pixel encoding is HSV.

ZZ0001ZZ

Chỉ định các tham số khung cho dữ liệu khung được phân tích cú pháp VP8 được liên kết. Điều này bao gồm các tham số cần thiết cho định cấu hình đường dẫn giải mã phần cứng không trạng thái cho VP8. Các tham số dòng bit được xác định theo ZZ0000ZZ.

type v4l2_ctrl_vp8_frame
struct v4l2_ctrl_vp8_frame

struct v4l2_vp8_segment

segment

Structure with segment-based adjustments metadata.

struct v4l2_vp8_loop_filter

lf

Structure with loop filter level adjustments metadata.

struct v4l2_vp8_quantization

quant

Structure with VP8 dequantization indices metadata.

struct v4l2_vp8_entropy

entropy

Structure with VP8 entropy coder probabilities metadata.

struct v4l2_vp8_entropy_coder_state

coder_state

Structure with VP8 entropy coder state.

__u16

width

The width of the frame. Must be set for all frames.

__u16

height

The height of the frame. Must be set for all frames.

__u8

horizontal_scale

Horizontal scaling factor.

__u8

vertical_scale

Vertical scaling factor.

__u8

version

Bitstream version.

__u8

prob_skip_false

Indicates the probability that the macroblock is not skipped.

__u8

prob_intra

Indicates the probability that a macroblock is intra-predicted.

__u8

prob_last

Indicates the probability that the last reference frame is used for inter-prediction

__u8

prob_gf

Indicates the probability that the golden reference frame is used for inter-prediction

__u8

num_dct_parts

Number of DCT coefficients partitions. Must be one of: 1, 2, 4, or 8.

__u32

first_part_size

Size of the first partition, i.e. the control partition.

__u32

first_part_header_bits

Size in bits of the first partition header portion.

__u32

dct_part_sizes[8]

DCT coefficients sizes.

__u64

last_frame_ts

Timestamp for the V4L2 capture buffer to use as last reference frame, used with inter-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

golden_frame_ts

Timestamp for the V4L2 capture buffer to use as last reference frame, used with inter-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

alt_frame_ts

Timestamp for the V4L2 capture buffer to use as alternate reference frame, used with inter-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

flags

See Frame Flags

ZZ0000ZZ

V4L2_VP8_FRAME_FLAG_KEY_FRAME

0x01

Indicates if the frame is a key frame.

V4L2_VP8_FRAME_FLAG_EXPERIMENTAL

0x02

Experimental bitstream.

V4L2_VP8_FRAME_FLAG_SHOW_FRAME

0x04

Show frame flag, indicates if the frame is for display.

V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF

0x08

Enable/disable skipping of macroblocks with no non-zero coefficients.

V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN

0x10

Sign of motion vectors when the golden frame is referenced.

V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT

0x20

Sign of motion vectors when the alt frame is referenced.

type v4l2_vp8_entropy_coder_state
struct v4l2_vp8_entropy_coder_state

__u8

range

coder state value for “Range”

__u8

value

coder state value for “Value”-

__u8

bit_count

number of bits left.

__u8

padding

Applications and drivers must set this to zero.

type v4l2_vp8_segment
struct v4l2_vp8_segment

__s8

quant_update[4]

Signed quantizer value update.

__s8

lf_update[4]

Signed loop filter level value update.

__u8

segment_probs[3]

Segment probabilities.

__u8

padding

Applications and drivers must set this to zero.

__u32

flags

See Segment Flags

ZZ0000ZZ

V4L2_VP8_SEGMENT_FLAG_ENABLED

0x01

Enable/disable segment-based adjustments.

V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP

0x02

Indicates if the macroblock segmentation map is updated in this frame.

V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA

0x04

Indicates if the segment feature data is updated in this frame.

V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE

0x08

If is set, the segment feature data mode is delta-value. If cleared, it’s absolute-value.

type v4l2_vp8_loop_filter
struct v4l2_vp8_loop_filter

__s8

ref_frm_delta[4]

Reference adjustment (signed) delta value.

__s8

mb_mode_delta[4]

Macroblock prediction mode adjustment (signed) delta value.

__u8

sharpness_level

Sharpness level

__u8

level

Filter level

__u16

padding

Applications and drivers must set this to zero.

__u32

flags

See Loop Filter Flags

ZZ0000ZZ

V4L2_VP8_LF_ADJ_ENABLE

0x01

Enable/disable macroblock-level loop filter adjustment.

V4L2_VP8_LF_DELTA_UPDATE

0x02

Indicates if the delta values used in an adjustment are updated.

V4L2_VP8_LF_FILTER_TYPE_SIMPLE

0x04

If set, indicates the filter type is simple. If cleared, the filter type is normal.

type v4l2_vp8_quantization
struct v4l2_vp8_quantization

__u8

y_ac_qi

Luma AC coefficient table index.

__s8

y_dc_delta

Luma DC delta value.

__s8

y2_dc_delta

Y2 block DC delta value.

__s8

y2_ac_delta

Y2 block AC delta value.

__s8

uv_dc_delta

Chroma DC delta value.

__s8

uv_ac_delta

Chroma AC delta value.

__u16

padding

Applications and drivers must set this to zero.

type v4l2_vp8_entropy
struct v4l2_vp8_entropy

__u8

coeff_probs[4][8][3][11]

Coefficient update probabilities.

__u8

y_mode_probs[4]

Luma mode update probabilities.

__u8

uv_mode_probs[3]

Chroma mode update probabilities.

__u8

mv_probs[2][19]

MV decoding update probabilities.

__u8

padding[3]

Applications and drivers must set this to zero.

ZZ0001ZZ

Chỉ định các tham số trình tự (như được trích xuất từ dòng bit) cho dữ liệu lát MPEG-2 liên quan. Điều này bao gồm các trường khớp với cú pháp các phần tử từ phần tiêu đề trình tự và phần mở rộng trình tự của dòng bit được chỉ định bởi ZZ0000ZZ.

type v4l2_ctrl_mpeg2_sequence
struct v4l2_ctrl_mpeg2_sequence

__u16

horizontal_size

The width of the displayable part of the frame’s luminance component.

__u16

vertical_size

The height of the displayable part of the frame’s luminance component.

__u32

vbv_buffer_size

Used to calculate the required size of the video buffering verifier, defined (in bits) as: 16 * 1024 * vbv_buffer_size.

__u16

profile_and_level_indication

The current profile and level indication as extracted from the bitstream.

__u8

chroma_format

The chrominance sub-sampling format (1: 4:2:0, 2: 4:2:2, 3: 4:4:4).

__u8

flags

See MPEG-2 Sequence Flags.

ZZ0000ZZ

V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE

0x01

Indication that all the frames for the sequence are progressive instead of interlaced.

ZZ0001ZZ

Chỉ định các tham số hình ảnh (như được trích xuất từ dòng bit) cho dữ liệu lát MPEG-2 liên quan. Điều này bao gồm các trường khớp với cú pháp các phần tử từ tiêu đề ảnh và phần mở rộng mã hóa ảnh của dòng bit được chỉ định bởi ZZ0000ZZ.

type v4l2_ctrl_mpeg2_picture
struct v4l2_ctrl_mpeg2_picture

__u64

backward_ref_ts

Timestamp of the V4L2 capture buffer to use as backward reference, used with B-coded and P-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

forward_ref_ts

Timestamp for the V4L2 capture buffer to use as forward reference, used with B-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u32

flags

See MPEG-2 Picture Flags.

__u8

f_code[2][2]

Motion vector codes.

__u8

picture_coding_type

Picture coding type for the frame covered by the current slice (V4L2_MPEG2_PIC_CODING_TYPE_I, V4L2_MPEG2_PIC_CODING_TYPE_P or V4L2_MPEG2_PIC_CODING_TYPE_B).

__u8

picture_structure

Picture structure (1: interlaced top field, 2: interlaced bottom field, 3: progressive frame).

__u8

intra_dc_precision

Precision of Discrete Cosine transform (0: 8 bits precision, 1: 9 bits precision, 2: 10 bits precision, 3: 11 bits precision).

__u8

reserved[5]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST

0x00000001

If set and it’s an interlaced stream, top field is output first.

V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT

0x00000002

If set only frame-DCT and frame prediction are used.

V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV

0x00000004

If set motion vectors are coded for intra macroblocks.

V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE

0x00000008

This flag affects the inverse quantization process.

V4L2_MPEG2_PIC_FLAG_INTRA_VLC

0x00000010

This flag affects the decoding of transform coefficient data.

V4L2_MPEG2_PIC_FLAG_ALT_SCAN

0x00000020

This flag affects the decoding of transform coefficient data.

V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST

0x00000040

This flag affects the decoding process of progressive frames.

V4L2_MPEG2_PIC_FLAG_PROGRESSIVE

0x00000080

Indicates whether the current frame is progressive.

ZZ0000ZZ

Chỉ định ma trận lượng tử hóa, theo thứ tự quét ngoằn ngoèo, cho dữ liệu lát MPEG-2 liên quan. Điều khiển này được khởi tạo bởi kernel tới các giá trị mặc định của ma trận. Nếu một dòng bit truyền một giá trị do người dùng xác định tải ma trận lượng tử hóa, các ứng dụng dự kiến sẽ sử dụng điều khiển này. Các ứng dụng cũng dự kiến sẽ đặt chế độ tải điều khiển mặc định các giá trị, nếu ma trận lượng tử hóa cần được đặt lại, ví dụ như trên một tiêu đề trình tự. Quá trình này được quy định tại mục 6.3.7. “Mở rộng ma trận lượng tử” của đặc tả.

type v4l2_ctrl_mpeg2_quantisation
struct v4l2_ctrl_mpeg2_quantisation

__u8

intra_quantiser_matrix[64]

The quantisation matrix coefficients for intra-coded frames, in zigzag scanning order. It is relevant for both luma and chroma components, although it can be superseded by the chroma-specific matrix for non-4:2:0 YUV formats.

__u8

non_intra_quantiser_matrix[64]

The quantisation matrix coefficients for non-intra-coded frames, in zigzag scanning order. It is relevant for both luma and chroma components, although it can be superseded by the chroma-specific matrix for non-4:2:0 YUV formats.

__u8

chroma_intra_quantiser_matrix[64]

The quantisation matrix coefficients for the chominance component of intra-coded frames, in zigzag scanning order. Only relevant for non-4:2:0 YUV formats.

__u8

chroma_non_intra_quantiser_matrix[64]

The quantisation matrix coefficients for the chrominance component of non-intra-coded frames, in zigzag scanning order. Only relevant for non-4:2:0 YUV formats.

ZZ0001ZZ

Lưu trữ các bản cập nhật xác suất VP9 dưới dạng được phân tích cú pháp từ khung nén hiện tại tiêu đề. Giá trị bằng 0 trong phần tử mảng có nghĩa là không có bản cập nhật nào liên quan xác suất. Các cập nhật liên quan đến vectơ chuyển động chứa một giá trị mới hoặc bằng 0. Tất cả các bản cập nhật khác chứa các giá trị được dịch bằng inv_map_table[] (xem phần 6.3.5 trong ZZ0000ZZ).

type v4l2_ctrl_vp9_compressed_hdr
struct v4l2_ctrl_vp9_compressed_hdr

__u8

tx_mode

Specifies the TX mode. See TX Mode for more details.

__u8

tx8[2][1]

TX 8x8 probabilities delta.

__u8

tx16[2][2]

TX 16x16 probabilities delta.

__u8

tx32[2][3]

TX 32x32 probabilities delta.

__u8

coef[4][2][2][6][6][3]

Coefficient probabilities delta.

__u8

skip[3]

Skip probabilities delta.

__u8

inter_mode[7][3]

Inter prediction mode probabilities delta.

__u8

interp_filter[4][2]

Interpolation filter probabilities delta.

__u8

is_inter[4]

Is inter-block probabilities delta.

__u8

comp_mode[5]

Compound prediction mode probabilities delta.

__u8

single_ref[5][2]

Single reference probabilities delta.

__u8

comp_ref[5]

Compound reference probabilities delta.

__u8

y_mode[4][9]

Y prediction mode probabilities delta.

__u8

uv_mode[10][9]

UV prediction mode probabilities delta.

__u8

partition[16][3]

Partition probabilities delta.

__u8

mv.joint[3]

Motion vector joint probabilities delta.

__u8

mv.sign[2]

Motion vector sign probabilities delta.

__u8

mv.classes[2][10]

Motion vector class probabilities delta.

__u8

mv.class0_bit[2]

Motion vector class0 bit probabilities delta.

__u8

mv.bits[2][10]

Motion vector bits probabilities delta.

__u8

mv.class0_fr[2][2][3]

Motion vector class0 fractional bit probabilities delta.

__u8

mv.fr[2][3]

Motion vector fractional bit probabilities delta.

__u8

mv.class0_hp[2]

Motion vector class0 high precision fractional bit probabilities delta.

__u8

mv.hp[2]

Motion vector high precision fractional bit probabilities delta.

ZZ0000ZZ

V4L2_VP9_TX_MODE_ONLY_4X4

0

Transform size is 4x4.

V4L2_VP9_TX_MODE_ALLOW_8X8

1

Transform size can be up to 8x8.

V4L2_VP9_TX_MODE_ALLOW_16X16

2

Transform size can be up to 16x16.

V4L2_VP9_TX_MODE_ALLOW_32X32

3

transform size can be up to 32x32.

V4L2_VP9_TX_MODE_SELECT

4

Bitstream contains the transform size for each block.

Xem phần ‘Ngữ nghĩa chế độ Tx 7.3.1’ của thông số kỹ thuật ZZ0000ZZ để biết thêm chi tiết.

ZZ0001ZZ

Chỉ định các tham số khung cho yêu cầu giải mã khung VP9 được liên kết. Điều này bao gồm các tham số cần thiết để định cấu hình phần cứng không trạng thái đường dẫn giải mã cho VP9. Các tham số dòng bit được xác định theo tới ZZ0000ZZ.

type v4l2_ctrl_vp9_frame
struct v4l2_ctrl_vp9_frame

struct v4l2_vp9_loop_filter

lf

Loop filter parameters. See struct v4l2_vp9_loop_filter for more details.

struct v4l2_vp9_quantization

quant

Quantization parameters. See v4l2_vp9_quantization for more details.

struct v4l2_vp9_segmentation

seg

Segmentation parameters. See v4l2_vp9_segmentation for more details.

__u32

flags

Combination of V4L2_VP9_FRAME_FLAG_* flags. See Frame Flags.

__u16

compressed_header_size

Compressed header size in bytes.

__u16

uncompressed_header_size

Uncompressed header size in bytes.

__u16

frame_width_minus_1

Add 1 to get the frame width expressed in pixels. See section 7.2.3 in VP9.

__u16

frame_height_minus_1

Add 1 to get the frame height expressed in pixels. See section 7.2.3 in VP9.

__u16

render_width_minus_1

Add 1 to get the expected render width expressed in pixels. This is not used during the decoding process but might be used by HW scalers to prepare a frame that’s ready for scanout. See section 7.2.4 in VP9.

__u16

render_height_minus_1

Add 1 to get the expected render height expressed in pixels. This is not used during the decoding process but might be used by HW scalers to prepare a frame that’s ready for scanout. See section 7.2.4 in VP9.

__u64

last_frame_ts

“last” reference buffer timestamp. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

golden_frame_ts

“golden” reference buffer timestamp. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u64

alt_frame_ts

“alt” reference buffer timestamp. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u8

ref_frame_sign_bias

a bitfield specifying whether the sign bias is set for a given reference frame. See Reference Frame Sign Bias for more details.

__u8

reset_frame_context

specifies whether the frame context should be reset to default values. See Reset Frame Context for more details.

__u8

frame_context_idx

Frame context that should be used/updated.

__u8

profile

VP9 profile. Can be 0, 1, 2 or 3.

__u8

bit_depth

Component depth in bits. Can be 8, 10 or 12. Note that not all profiles support 10 and/or 12 bits depths.

__u8

interpolation_filter

Specifies the filter selection used for performing inter prediction. See Interpolation Filter for more details.

__u8

tile_cols_log2

Specifies the base 2 logarithm of the width of each tile (where the width is measured in units of 8x8 blocks). Shall be less than or equal to 6.

__u8

tile_rows_log2

Specifies the base 2 logarithm of the height of each tile (where the height is measured in units of 8x8 blocks).

__u8

reference_mode

Specifies the type of inter prediction to be used. See Reference Mode for more details. Note that this is derived as part of the compressed header parsing process and for this reason should have been part of :c:type: v4l2_ctrl_vp9_compressed_hdr optional control. It is safe to set this value to zero if the driver does not require compressed headers.

__u8

reserved[7]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_VP9_FRAME_FLAG_KEY_FRAME

0x001

The frame is a key frame.

V4L2_VP9_FRAME_FLAG_SHOW_FRAME

0x002

The frame should be displayed.

V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT

0x004

The decoding should be error resilient.

V4L2_VP9_FRAME_FLAG_INTRA_ONLY

0x008

The frame does not reference other frames.

V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV

0x010

The frame can use high precision motion vectors.

V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX

0x020

Frame context should be updated after decoding.

V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE

0x040

Parallel decoding is used.

V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING

0x080

Vertical subsampling is enabled.

V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING

0x100

Horizontal subsampling is enabled.

V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING

0x200

The full UV range is used.

ZZ0000ZZ

V4L2_VP9_SIGN_BIAS_LAST

0x1

Sign bias is set for the last reference frame.

V4L2_VP9_SIGN_BIAS_GOLDEN

0x2

Sign bias is set for the golden reference frame.

V4L2_VP9_SIGN_BIAS_ALT

0x2

Sign bias is set for the alt reference frame.

ZZ0000ZZ

V4L2_VP9_RESET_FRAME_CTX_NONE

0

Do not reset any frame context.

V4L2_VP9_RESET_FRAME_CTX_SPEC

1

Reset the frame context pointed to by v4l2_ctrl_vp9_frame.frame_context_idx.

V4L2_VP9_RESET_FRAME_CTX_ALL

2

Reset all frame contexts.

Xem phần ‘7.2 Ngữ nghĩa tiêu đề không nén’ của đặc tả ZZ0000ZZ để biết thêm chi tiết.

ZZ0000ZZ

V4L2_VP9_INTERP_FILTER_EIGHTTAP

0

Eight tap filter.

V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH

1

Eight tap smooth filter.

V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP

2

Eeight tap sharp filter.

V4L2_VP9_INTERP_FILTER_BILINEAR

3

Bilinear filter.

V4L2_VP9_INTERP_FILTER_SWITCHABLE

4

Filter selection is signaled at the block level.

Xem phần ‘7.2.7 Ngữ nghĩa bộ lọc nội suy’ của đặc tả ZZ0000ZZ để biết thêm chi tiết.

ZZ0000ZZ

V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE

0

Indicates that all the inter blocks use only a single reference frame to generate motion compensated prediction.

V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE

1

Requires all the inter blocks to use compound mode. Single reference frame prediction is not allowed.

V4L2_VP9_REFERENCE_MODE_SELECT

2

Allows each individual inter block to select between single and compound prediction modes.

Xem phần ‘7.3.6 Ngữ nghĩa chế độ tham chiếu khung’ của thông số kỹ thuật ZZ0000ZZ để biết thêm chi tiết.

type v4l2_vp9_segmentation

Mã hóa các tham số lượng tử hóa. Xem phần ‘7.2.10 Phân đoạn cú pháp params’ của đặc tả ZZ0000ZZ để biết thêm chi tiết.

struct v4l2_vp9_segmentation

__u8

feature_data[8][4]

Data attached to each feature. Data entry is only valid if the feature is enabled. The array shall be indexed with segment number as the first dimension (0..7) and one of V4L2_VP9_SEG_* as the second dimension. See Segment Feature IDs.

__u8

feature_enabled[8]

Bitmask defining which features are enabled in each segment. The value for each segment is a combination of V4L2_VP9_SEGMENT_FEATURE_ENABLED(id) values where id is one of V4L2_VP9_SEG_*. See Segment Feature IDs.

__u8

tree_probs[7]

Specifies the probability values to be used when decoding a Segment-ID. See ‘5.15 Segmentation map’ section of VP9 for more details.

__u8

pred_probs[3]

Specifies the probability values to be used when decoding a Predicted-Segment-ID. See ‘6.4.14 Get segment id syntax’ section of VP9 for more details.

__u8

flags

Combination of V4L2_VP9_SEGMENTATION_FLAG_* flags. See Segmentation Flags.

__u8

reserved[5]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_VP9_SEG_LVL_ALT_Q

0

Quantizer segment feature.

V4L2_VP9_SEG_LVL_ALT_L

1

Loop filter segment feature.

V4L2_VP9_SEG_LVL_REF_FRAME

2

Reference frame segment feature.

V4L2_VP9_SEG_LVL_SKIP

3

Skip segment feature.

V4L2_VP9_SEG_LVL_MAX

4

Number of segment features.

ZZ0000ZZ

V4L2_VP9_SEGMENTATION_FLAG_ENABLED

0x01

Indicates that this frame makes use of the segmentation tool.

V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP

0x02

Indicates that the segmentation map should be updated during the decoding of this frame.

V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE

0x04

Indicates that the updates to the segmentation map are coded relative to the existing segmentation map.

V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA

0x08

Indicates that new parameters are about to be specified for each segment.

V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE

0x10

Indicates that the segmentation parameters represent the actual values to be used.

type v4l2_vp9_quantization

Mã hóa các tham số lượng tử hóa. Xem phần ‘7.2.9 Thông số lượng tử hóa cú pháp’ của đặc tả VP9 để biết thêm chi tiết.

struct v4l2_vp9_quantization

__u8

base_q_idx

Indicates the base frame qindex.

__s8

delta_q_y_dc

Indicates the Y DC quantizer relative to base_q_idx.

__s8

delta_q_uv_dc

Indicates the UV DC quantizer relative to base_q_idx.

__s8

delta_q_uv_ac

Indicates the UV AC quantizer relative to base_q_idx.

__u8

reserved[4]

Applications and drivers must set this to zero.

type v4l2_vp9_loop_filter

Cấu trúc này chứa tất cả các tham số liên quan đến bộ lọc vòng lặp. Xem phần ‘7.2.8 Ngữ nghĩa bộ lọc vòng lặp’ của đặc tả ZZ0000ZZ để biết thêm chi tiết.

struct v4l2_vp9_loop_filter

__s8

ref_deltas[4]

Contains the adjustment needed for the filter level based on the chosen reference frame.

__s8

mode_deltas[2]

Contains the adjustment needed for the filter level based on the chosen mode.

__u8

level

Indicates the loop filter strength.

__u8

sharpness

Indicates the sharpness level.

__u8

flags

Combination of V4L2_VP9_LOOP_FILTER_FLAG_* flags. See Loop Filter Flags.

__u8

reserved[7]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED

0x1

When set, the filter level depends on the mode and reference frame used to predict a block.

V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE

0x2

When set, the bitstream contains additional syntax elements that specify which mode and reference frame deltas are to be updated.

ZZ0001ZZ

Chỉ định các trường Bộ tham số trình tự (như được trích xuất từ dòng bit) cho dữ liệu lát HEVC được liên kết. Các tham số dòng bit này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 7.4.3.2 “Bộ tham số trình tự RBSP ngữ nghĩa” của đặc tả.

type v4l2_ctrl_hevc_sps
struct v4l2_ctrl_hevc_sps

__u8

video_parameter_set_id

Specifies the value of the vps_video_parameter_set_id of the active VPS as described in section “7.4.3.2.1 General sequence parameter set RBSP semantics” of H.265 specifications.

__u8

seq_parameter_set_id

Provides an identifier for the SPS for reference by other syntax elements as described in section “7.4.3.2.1 General sequence parameter set RBSP semantics” of H.265 specifications.

__u16

pic_width_in_luma_samples

Specifies the width of each decoded picture in units of luma samples.

__u16

pic_height_in_luma_samples

Specifies the height of each decoded picture in units of luma samples.

__u8

bit_depth_luma_minus8

This value plus 8 specifies the bit depth of the samples of the luma array.

__u8

bit_depth_chroma_minus8

This value plus 8 specifies the bit depth of the samples of the chroma arrays.

__u8

log2_max_pic_order_cnt_lsb_minus4

Specifies the value of the variable MaxPicOrderCntLsb.

__u8

sps_max_dec_pic_buffering_minus1

This value plus 1 specifies the maximum required size of the decoded picture buffer for the coded video sequence (CVS).

__u8

sps_max_num_reorder_pics

Indicates the maximum allowed number of pictures.

__u8

sps_max_latency_increase_plus1

Used to signal MaxLatencyPictures, which indicates the maximum number of pictures that can precede any picture in output order and follow that picture in decoding order.

__u8

log2_min_luma_coding_block_size_minus3

This value plus 3 specifies the minimum luma coding block size.

__u8

log2_diff_max_min_luma_coding_block_size

Specifies the difference between the maximum and minimum luma coding block size.

__u8

log2_min_luma_transform_block_size_minus2

This value plus 2 specifies the minimum luma transform block size.

__u8

log2_diff_max_min_luma_transform_block_size

Specifies the difference between the maximum and minimum luma transform block size.

__u8

max_transform_hierarchy_depth_inter

Specifies the maximum hierarchy depth for transform units of coding units coded in inter prediction mode.

__u8

max_transform_hierarchy_depth_intra

Specifies the maximum hierarchy depth for transform units of coding units coded in intra prediction mode.

__u8

pcm_sample_bit_depth_luma_minus1

This value plus 1 specifies the number of bits used to represent each of PCM sample values of the luma component.

__u8

pcm_sample_bit_depth_chroma_minus1

Specifies the number of bits used to represent each of PCM sample values of the chroma components.

__u8

log2_min_pcm_luma_coding_block_size_minus3

Plus 3 specifies the minimum size of coding blocks.

__u8

log2_diff_max_min_pcm_luma_coding_block_size

Specifies the difference between the maximum and minimum size of coding blocks.

__u8

num_short_term_ref_pic_sets

Specifies the number of st_ref_pic_set() syntax structures included in the SPS.

__u8

num_long_term_ref_pics_sps

Specifies the number of candidate long-term reference pictures that are specified in the SPS.

__u8

chroma_format_idc

Specifies the chroma sampling.

__u8

sps_max_sub_layers_minus1

This value plus 1 specifies the maximum number of temporal sub-layers.

__u64

flags

See Sequence Parameter Set Flags

ZZ0000ZZ

V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE

0x00000001

V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED

0x00000002

V4L2_HEVC_SPS_FLAG_AMP_ENABLED

0x00000004

V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET

0x00000008

V4L2_HEVC_SPS_FLAG_PCM_ENABLED

0x00000010

V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED

0x00000020

V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT

0x00000040

V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED

0x00000080

V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED

0x00000100

ZZ0001ZZ

Chỉ định các trường Bộ tham số hình ảnh (như được trích xuất từ dòng bit) cho dữ liệu lát HEVC được liên kết. Các tham số dòng bit này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 7.4.3.3 “Bộ tham số hình ảnh RBSP ngữ nghĩa” của đặc tả.

type v4l2_ctrl_hevc_pps
struct v4l2_ctrl_hevc_pps

__u8

pic_parameter_set_id

Identifies the PPS for reference by other syntax elements.

__u8

num_extra_slice_header_bits

Specifies the number of extra slice header bits that are present in the slice header RBSP for coded pictures referring to the PPS.

__u8

num_ref_idx_l0_default_active_minus1

This value plus 1 specifies the inferred value of num_ref_idx_l0_active_minus1.

__u8

num_ref_idx_l1_default_active_minus1

This value plus 1 specifies the inferred value of num_ref_idx_l1_active_minus1.

__s8

init_qp_minus26

This value plus 26 specifies the initial value of SliceQp Y for each slice referring to the PPS.

__u8

diff_cu_qp_delta_depth

Specifies the difference between the luma coding tree block size and the minimum luma coding block size of coding units that convey cu_qp_delta_abs and cu_qp_delta_sign_flag.

__s8

pps_cb_qp_offset

Specifies the offsets to the luma quantization parameter Cb.

__s8

pps_cr_qp_offset

Specifies the offsets to the luma quantization parameter Cr.

__u8

num_tile_columns_minus1

This value plus 1 specifies the number of tile columns partitioning the picture.

__u8

num_tile_rows_minus1

This value plus 1 specifies the number of tile rows partitioning the picture.

__u8

column_width_minus1[20]

This value plus 1 specifies the width of the i-th tile column in units of coding tree blocks.

__u8

row_height_minus1[22]

This value plus 1 specifies the height of the i-th tile row in units of coding tree blocks.

__s8

pps_beta_offset_div2

Specifies the default deblocking parameter offsets for beta divided by 2.

__s8

pps_tc_offset_div2

Specifies the default deblocking parameter offsets for tC divided by 2.

__u8

log2_parallel_merge_level_minus2

This value plus 2 specifies the value of the variable Log2ParMrgLevel.

__u8

padding[4]

Applications and drivers must set this to zero.

__u64

flags

See Picture Parameter Set Flags

ZZ0000ZZ

V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED

0x00000001

V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT

0x00000002

V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED

0x00000004

V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT

0x00000008

V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED

0x00000010

V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED

0x00000020

V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED

0x00000040

V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT

0x00000080

V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED

0x00000100

V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED

0x00000200

V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED

0x00000400

V4L2_HEVC_PPS_FLAG_TILES_ENABLED

0x00000800

V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED

0x00001000

V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED

0x00002000

V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED

0x00004000

V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED

0x00008000

V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER

0x00010000

V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT

0x00020000

V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT

0x00040000

V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT

0x00080000

Specifies the presence of deblocking filter control syntax elements in the PPS

V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING

0x00100000

Specifies that tile column boundaries and likewise tile row boundaries are distributed uniformly across the picture

ZZ0001ZZ

Chỉ định các tham số lát cắt cụ thể khác nhau, đặc biệt là từ đơn vị NAL tiêu đề, tiêu đề phân đoạn lát cắt chung và tham số dự đoán có trọng số các phần của dòng bit. Các tham số dòng bit này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 7.4.7 “Tiêu đề phân đoạn lát cắt chung ngữ nghĩa” của đặc tả. Điều khiển này là một mảng 1 chiều có kích thước động, Cờ V4L2_CTRL_FLAG_DYNAMIC_ARRAY phải được đặt khi sử dụng nó.

type v4l2_ctrl_hevc_slice_params
struct v4l2_ctrl_hevc_slice_params

__u32

bit_size

Size (in bits) of the current slice data.

__u32

data_byte_offset

Offset (in byte) to the video data in the current slice data.

__u32

num_entry_point_offsets

Specifies the number of entry point offset syntax elements in the slice header. When the driver supports it, the V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS must be set.

__u8

nal_unit_type

Specifies the coding type of the slice (B, P or I).

__u8

nuh_temporal_id_plus1

Minus 1 specifies a temporal identifier for the NAL unit.

__u8

slice_type

(V4L2_HEVC_SLICE_TYPE_I, V4L2_HEVC_SLICE_TYPE_P or V4L2_HEVC_SLICE_TYPE_B).

__u8

colour_plane_id

Specifies the colour plane associated with the current slice.

__s32

slice_pic_order_cnt

Specifies the picture order count.

__u8

num_ref_idx_l0_active_minus1

This value plus 1 specifies the maximum reference index for reference picture list 0 that may be used to decode the slice.

__u8

num_ref_idx_l1_active_minus1

This value plus 1 specifies the maximum reference index for reference picture list 1 that may be used to decode the slice.

__u8

collocated_ref_idx

Specifies the reference index of the collocated picture used for temporal motion vector prediction.

__u8

five_minus_max_num_merge_cand

Specifies the maximum number of merging motion vector prediction candidates supported in the slice subtracted from 5.

__s8

slice_qp_delta

Specifies the initial value of QpY to be used for the coding blocks in the slice.

__s8

slice_cb_qp_offset

Specifies a difference to be added to the value of pps_cb_qp_offset.

__s8

slice_cr_qp_offset

Specifies a difference to be added to the value of pps_cr_qp_offset.

__s8

slice_act_y_qp_offset

Specifies the offset to the luma of quantization parameter qP derived in section 8.6.2

__s8

slice_act_cb_qp_offset

Specifies the offset to the cb of quantization parameter qP derived in section 8.6.2

__s8

slice_act_cr_qp_offset

Specifies the offset to the cr of quantization parameter qP derived in section 8.6.2

__s8

slice_beta_offset_div2

Specifies the deblocking parameter offsets for beta divided by 2.

__s8

slice_tc_offset_div2

Specifies the deblocking parameter offsets for tC divided by 2.

__u8

pic_struct

Indicates whether a picture should be displayed as a frame or as one or more fields.

__u32

slice_segment_addr

Specifies the address of the first coding tree block in the slice segment.

__u8

ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The list of L0 reference elements as indices in the DPB.

__u8

ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The list of L1 reference elements as indices in the DPB.

__u16

short_term_ref_pic_set_size

Specifies the size, in bits, of the short-term reference picture set, described as st_ref_pic_set() in the specification, included in the slice header or SPS (section 7.3.6.1).

__u16

long_term_ref_pic_set_size

Specifies the size, in bits, of the long-term reference picture set include in the slice header or SPS. It is the number of bits in the conditional block if(long_term_ref_pics_present_flag) in section 7.3.6.1 of the specification.

__u8

padding

Applications and drivers must set this to zero.

struct v4l2_hevc_pred_weight_table

pred_weight_table

The prediction weight coefficients for inter-picture prediction.

__u64

flags

See Slice Parameters Flags

ZZ0000ZZ

V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA

0x00000001

V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA

0x00000002

V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED

0x00000004

V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO

0x00000008

V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT

0x00000010

V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0

0x00000020

V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV

0x00000040

V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED

0x00000080

V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED

0x00000100

V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT

0x00000200

ZZ0001ZZ

Chỉ định độ lệch điểm nhập theo byte. Điều khiển này là một mảng có kích thước động. Số điểm vào phần bù được báo cáo bởi trường ZZ0002ZZ. Tham số dòng bit này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 7.4.7.1 “Tiêu đề phân đoạn lát cắt chung ngữ nghĩa” của đặc tả. Khi nhiều lát được gửi trong một yêu cầu, độ dài của mảng này phải là tổng của num_entry_point_offsets của tất cả lát trong yêu cầu.

ZZ0001ZZ

Chỉ định các tham số ma trận chia tỷ lệ HEVC được sử dụng cho quy trình chia tỷ lệ đối với các hệ số biến đổi. Các ma trận và tham số này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 7.4.5 “Ngữ nghĩa dữ liệu danh sách tỷ lệ” của đặc điểm kỹ thuật.

type v4l2_ctrl_hevc_scaling_matrix
struct v4l2_ctrl_hevc_scaling_matrix

__u8

scaling_list_4x4[6][16]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_8x8[6][64]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_16x16[6][64]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_32x32[2][64]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_dc_coef_16x16[6]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

__u8

scaling_list_dc_coef_32x32[2]

Scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.

type v4l2_hevc_dpb_entry
struct v4l2_hevc_dpb_entry

__u64

timestamp

Timestamp of the V4L2 capture buffer to use as reference, used with B-coded and P-coded frames. The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__u8

flags

Long term flag for the reference frame (V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE). The flag is set as described in the ITU HEVC specification chapter “8.3.2 Decoding process for reference picture set”.

__u8

field_pic

Whether the reference is a field picture or a frame. See HEVC dpb field pic Flags

__s32

pic_order_cnt_val

The picture order count of the current picture.

__u8

padding[2]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_HEVC_SEI_PIC_STRUCT_FRAME

0

(progressive) Frame

V4L2_HEVC_SEI_PIC_STRUCT_TOP_FIELD

1

Top field

V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_FIELD

2

Bottom field

V4L2_HEVC_SEI_PIC_STRUCT_TOP_BOTTOM

3

Top field, bottom field, in that order

V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_TOP

4

Bottom field, top field, in that order

V4L2_HEVC_SEI_PIC_STRUCT_TOP_BOTTOM_TOP

5

Top field, bottom field, top field repeated, in that order

V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM

6

Bottom field, top field, bottom field repeated, in that order

V4L2_HEVC_SEI_PIC_STRUCT_FRAME_DOUBLING

7

Frame doubling

V4L2_HEVC_SEI_PIC_STRUCT_FRAME_TRIPLING

8

Frame tripling

V4L2_HEVC_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM

9

Top field paired with previous bottom field in output order

V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP

10

Bottom field paired with previous top field in output order

V4L2_HEVC_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM

11

Top field paired with next bottom field in output order

V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP

12

Bottom field paired with next top field in output order

type v4l2_hevc_pred_weight_table
struct v4l2_hevc_pred_weight_table

__s8

delta_luma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The difference of the weighting factor applied to the luma prediction value for list 0.

__s8

luma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The additive offset applied to the luma prediction value for list 0.

__s8

delta_chroma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]

The difference of the weighting factor applied to the chroma prediction value for list 0.

__s8

chroma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]

The difference of the additive offset applied to the chroma prediction values for list 0.

__s8

delta_luma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The difference of the weighting factor applied to the luma prediction value for list 1.

__s8

luma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The additive offset applied to the luma prediction value for list 1.

__s8

delta_chroma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]

The difference of the weighting factor applied to the chroma prediction value for list 1.

__s8

chroma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]

The difference of the additive offset applied to the chroma prediction values for list 1.

__u8

luma_log2_weight_denom

The base 2 logarithm of the denominator for all luma weighting factors.

__s8

delta_chroma_log2_weight_denom

The difference of the base 2 logarithm of the denominator for all chroma weighting factors.

__u8

padding[6]

Applications and drivers must set this to zero.

ZZ0000ZZ

Chỉ định chế độ giải mã sẽ sử dụng. Hiện tại hiển thị dựa trên lát cắt và giải mã dựa trên khung nhưng các chế độ mới có thể được thêm vào sau này. Điều khiển này được sử dụng làm công cụ sửa đổi cho V4L2_PIX_FMT_HEVC_SLICE định dạng pixel. Các ứng dụng hỗ trợ V4L2_PIX_FMT_HEVC_SLICE được yêu cầu đặt điều khiển này để chỉ định chế độ giải mã đó là điều được mong đợi cho bộ đệm. Trình điều khiển có thể hiển thị một hoặc nhiều chế độ giải mã, tùy thuộc vào về những gì họ có thể hỗ trợ.

type v4l2_stateless_hevc_decode_mode

V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED

0

Decoding is done at the slice granularity. The OUTPUT buffer must contain a single slice.

V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED

1

Decoding is done at the frame granularity. The OUTPUT buffer must contain all slices needed to decode the frame.

ZZ0000ZZ

Chỉ định mã bắt đầu lát cắt HEVC dự kiến cho mỗi lát cắt. Điều khiển này được sử dụng làm công cụ sửa đổi cho V4L2_PIX_FMT_HEVC_SLICE định dạng pixel. Các ứng dụng hỗ trợ V4L2_PIX_FMT_HEVC_SLICE được yêu cầu đặt điều khiển này để chỉ định mã bắt đầu đó là điều được mong đợi cho bộ đệm. Trình điều khiển có thể hiển thị một hoặc nhiều mã bắt đầu, tùy thuộc vào về những gì họ có thể hỗ trợ.

type v4l2_stateless_hevc_start_code

V4L2_STATELESS_HEVC_START_CODE_NONE

0

Selecting this value specifies that HEVC slices are passed to the driver without any start code. The bitstream data should be according to ITU H.265/HEVC 7.3.1.1 General NAL unit syntax, hence contains emulation prevention bytes when required.

V4L2_STATELESS_HEVC_START_CODE_ANNEX_B

1

Selecting this value specifies that HEVC slices are expected to be prefixed by Annex B start codes. According to ITU H.265/HEVC valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.

ZZ0000ZZ

Chỉ định mã định danh ưu tiên cho đơn vị NAL, sẽ được áp dụng cho lớp cơ sở. Theo mặc định, giá trị này được đặt thành 0 cho lớp cơ sở, và lớp tiếp theo sẽ có ID ưu tiên được gán là 1, 2, 3, v.v. Bộ mã hóa video không thể quyết định id ưu tiên được áp dụng cho một lớp, vì vậy điều này phải đến từ khách hàng. Điều này có thể áp dụng cho H264 và Phạm vi hợp lệ là từ 0 đến 63. Nguồn Rec. ITU-T H.264 (06/2019); G.7.4.1.1, G.8.8.1.

ZZ0000ZZ

Chỉ định số lượng khung Tham chiếu Dài hạn (LTR) tối đa tại bất kỳ thời điểm nào thời gian nhất định mà bộ mã hóa có thể giữ. Điều này có thể áp dụng cho bộ mã hóa H264 và HEVC.

ZZ0000ZZ

Sau khi thiết lập điều khiển này, khung sẽ được xếp hàng tiếp theo sẽ được đánh dấu là khung Tham chiếu dài hạn (LTR) và đưa ra chỉ số LTR này nằm trong khoảng từ 0 đến LTR_COUNT-1. Điều này có thể áp dụng cho bộ mã hóa H264 và HEVC. Nguồn Rec. ITU-T H.264 (06/2019); Bảng 7.9

ZZ0000ZZ

Chỉ định (các) khung Tham chiếu Dài hạn (LTR) sẽ được sử dụng cho mã hóa khung tiếp theo được xếp hàng đợi sau khi cài đặt điều khiển này. Điều này cung cấp một mặt nạ bit bao gồm các bit [0, LTR_COUNT-1]. Điều này có thể áp dụng cho bộ mã hóa H264 và HEVC.

ZZ0001ZZ

Chỉ định các tham số giải mã khác nhau, đặc biệt là thứ tự hình ảnh tham chiếu count (POC) cho tất cả các danh sách (ngắn, dài, trước, hiện tại, sau) và số lượng mục cho mỗi người trong số họ. Các tham số này được xác định theo ZZ0000ZZ. Chúng được mô tả trong phần 8.3 “Quy trình giải mã lát cắt” của đặc điểm kỹ thuật.

type v4l2_ctrl_hevc_decode_params
struct v4l2_ctrl_hevc_decode_params

__s32

pic_order_cnt_val

PicOrderCntVal as described in section 8.3.1 “Decoding process for picture order count” of the specification.

__u16

short_term_ref_pic_set_size

Specifies the size, in bits, of the short-term reference picture set, of the first slice described as st_ref_pic_set() in the specification, included in the slice header or SPS (section 7.3.6.1).

__u16

long_term_ref_pic_set_size

Specifies the size, in bits, of the long-term reference picture set, of the first slice included in the slice header or SPS. It is the number of bits in the conditional block if(long_term_ref_pics_present_flag) in section 7.3.6.1 of the specification.

__u8

num_active_dpb_entries

The number of entries in dpb.

__u8

num_poc_st_curr_before

The number of reference pictures in the short-term set that come before the current frame.

__u8

num_poc_st_curr_after

The number of reference pictures in the short-term set that come after the current frame.

__u8

num_poc_lt_curr

The number of reference pictures in the long-term set.

__u8

poc_st_curr_before[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

PocStCurrBefore as described in section 8.3.2 “Decoding process for reference picture set”: provides the index of the short term before references in DPB array.

__u8

poc_st_curr_after[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

PocStCurrAfter as described in section 8.3.2 “Decoding process for reference picture set”: provides the index of the short term after references in DPB array.

__u8

poc_lt_curr[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

PocLtCurr as described in section 8.3.2 “Decoding process for reference picture set”: provides the index of the long term references in DPB array.

__u8

num_delta_pocs_of_ref_rps_idx

When the short_term_ref_pic_set_sps_flag in the slice header is equal to 0, it is the same as the derived value NumDeltaPocs[RefRpsIdx]. It can be used to parse the RPS data in slice headers instead of skipping it with @short_term_ref_pic_set_size. When the value of short_term_ref_pic_set_sps_flag in the slice header is equal to 1, num_delta_pocs_of_ref_rps_idx shall be set to 0.

struct v4l2_hevc_dpb_entry

dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]

The decoded picture buffer, for meta-data about reference frames.

__u64

flags

See Decode Parameters Flags

ZZ0000ZZ

V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC

0x00000001

V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC

0x00000002

V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR

0x00000004

ZZ0003ZZ

Tập hợp con của điều khiển ZZ0000ZZ. Nó mở rộng nó với danh sách các tham số của bộ tham chiếu dài hạn. Các tham số này được xác định theo ZZ0001ZZ. Chúng được mô tả trong phần 7.4.3.2.1 “Bộ tham số trình tự chung Ngữ nghĩa RBSP” của đặc tả. Điều khiển này là một mảng 1 chiều có kích thước động. Các giá trị trong mảng nên được bỏ qua khi một trong hai num_long_term_ref_pics_sps là 0 hoặc Cờ V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT không được đặt trong ZZ0002ZZ.

type v4l2_ctrl_hevc_ext_sps_lt_rps
struct v4l2_ctrl_hevc_ext_sps_lt_rps

__u16

lt_ref_pic_poc_lsb_sps

Long term reference picture order count as described in section 7.4.3.2.1 “General sequence parameter set RBSP semantics” of the specification.

__u16

flags

See Extended Long-Term RPS Flags

ZZ0000ZZ

V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_USED_LT

0x00000001

Specifies if the long-term reference picture is used 7.4.3.2.1 “General sequence parameter set RBSP semantics” of the specification.

ZZ0002ZZ

Tập hợp con của điều khiển ZZ0000ZZ. Nó mở rộng nó với danh sách các tham số bộ tham chiếu ngắn hạn. Các tham số này được xác định theo ZZ0001ZZ. Chúng được mô tả trong phần 7.4.8 “Bộ ảnh tham khảo ngắn hạn ngữ nghĩa” của đặc tả. Điều khiển này là một mảng 1 chiều có kích thước động. Các giá trị trong mảng nên được bỏ qua khi num_short_term_ref_pic_sets là 0.

type v4l2_ctrl_hevc_ext_sps_st_rps
struct v4l2_ctrl_hevc_ext_sps_st_rps

__u8

delta_idx_minus1

Specifies the delta compare to the index. See details in section 7.4.8 “Short-term reference picture set semantics” of the specification.

__u8

delta_rps_sign

Sign of the delta as specified in section 7.4.8 “Short-term reference picture set semantics” of the specification.

__u8

num_negative_pics

Number of short-term RPS entries that have picture order count values less than the picture order count value of the current picture.

__u8

num_positive_pics

Number of short-term RPS entries that have picture order count values greater than the picture order count value of the current picture.

__u32

used_by_curr_pic

Bit i specifies if short-term RPS i is used by the current picture.

__u32

use_delta_flag

Bit i specifies if short-term RPS i is included in the short-term RPS entries.

__u16

abs_delta_rps_minus1

Absolute delta RPS as specified in section 7.4.8 “Short-term reference picture set semantics” of the specification.

__u16

delta_poc_s0_minus1[16]

Specifies the negative picture order count delta for the i-th entry in the short-term RPS. See details in section 7.4.8 “Short-term reference picture set semantics” of the specification.

__u16

delta_poc_s1_minus1[16]

Specifies the positive picture order count delta for the i-th entry in the short-term RPS. See details in section 7.4.8 “Short-term reference picture set semantics” of the specification.

__u16

flags

See Extended Short-Term RPS Flags

ZZ0000ZZ

V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED

0x00000001

Specifies if the short-term RPS is predicted from another short term RPS. See details in section 7.4.8 “Short-term reference picture set semantics” of the specification.

ZZ0001ZZ

Đại diện cho Chuỗi AV1 OBU (Đơn vị dòng bit mở). Xem phần 5.5 “Cú pháp tiêu đề trình tự OBU” trong ZZ0000ZZ để biết thêm chi tiết.

type v4l2_ctrl_av1_sequence
struct v4l2_ctrl_av1_sequence

__u32

flags

See AV1 Sequence Flags.

__u8

seq_profile

Specifies the features that can be used in the coded video sequence.

__u8

order_hint_bits

Specifies the number of bits used for the order_hint field at each frame.

__u8

bit_depth

the bit depth to use for the sequence as described in section 5.5.2 “Color config syntax” in AV1 for more details.

__u8

reserved

Applications and drivers must set this to zero.

__u16

max_frame_width_minus_1

Specifies the maximum frame width minus 1 for the frames represented by this sequence header.

__u16

max_frame_height_minus_1

Specifies the maximum frame height minus 1 for the frames represented by this sequence header.

ZZ0000ZZ

V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE

0x00000001

If set, specifies that the coded video sequence contains only one coded frame. If not set, specifies that the coded video sequence contains one or more coded frames.

V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK

0x00000002

If set, indicates that superblocks contain 128x128 luma samples. When equal to 0, it indicates that superblocks contain 64x64 luma samples. The number of contained chroma samples depends on subsampling_x and subsampling_y.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA

0x00000004

If set, specifies that the use_filter_intra syntax element may be present. If not set, specifies that the use_filter_intra syntax element will not be present.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER

0x00000008

Specifies whether the intra edge filtering process should be enabled.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND

0x00000010

If set, specifies that the mode info for inter blocks may contain the syntax element interintra. If not set, specifies that the syntax element interintra will not be present.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND

0x00000020

If set, specifies that the mode info for inter blocks may contain the syntax element compound_type. If not set, specifies that the syntax element compound_type will not be present.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION

0x00000040

If set, indicates that the allow_warped_motion syntax element may be present. If not set, indicates that the allow_warped_motion syntax element will not be present.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER

0x00000080

If set, indicates that the inter prediction filter type may be specified independently in the horizontal and vertical directions. If the flag is equal to 0, only one filter type may be specified, which is then used in both directions.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT

0x00000100

If set, indicates that tools based on the values of order hints may be used. If not set, indicates that tools based on order hints are disabled.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP

0x00000200

If set, indicates that the distance weights process may be used for inter prediction.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS

0x00000400

If set, indicates that the use_ref_frame_mvs syntax element may be present. If not set, indicates that the use_ref_frame_mvs syntax element will not be present.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES

0x00000800

If set, specifies that the use_superres syntax element will be present in the uncompressed header. If not set, specifies that the use_superres syntax element will not be present (instead use_superres will be set to 0 in the uncompressed header without being read).

V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF

0x00001000

If set, specifies that cdef filtering may be enabled. If not set, specifies that cdef filtering is disabled.

V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION

0x00002000

If set, specifies that loop restoration filtering may be enabled. If not set, specifies that loop restoration filtering is disabled.

V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME

0x00004000

If set, indicates that the video does not contain U and V color planes. If not set, indicates that the video contains Y, U, and V color planes.

V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE

0x00008000

If set, signals full swing representation, i.e. “Full Range Quantization”. If not set, signals studio swing representation, i.e. “Limited Range Quantization”.

V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X

0x00010000

Specify the chroma subsampling format.

V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y

0x00020000

Specify the chroma subsampling format.

V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT

0x00040000

Specifies whether film grain parameters are present in the coded video sequence.

V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q

0x00080000

If set, indicates that the U and V planes may have separate delta quantizer values. If not set, indicates that the U and V planes will share the same delta quantizer value.

ZZ0001ZZ

Đại diện cho một ô AV1 duy nhất bên trong Nhóm ô AV1. Lưu ý rằng MiRowStart, MiRowEnd, MiColStart và MiColEnd có thể được lấy từ struct v4l2_av1_tile_info trong struct v4l2_ctrl_av1_frame sử dụng brick_row và gạch_col. Xem phần 6.10.1 “Ngữ nghĩa nhóm khối ảnh chung OBU” trong ZZ0000ZZ để biết thêm chi tiết.

type v4l2_ctrl_av1_tile_group_entry
struct v4l2_ctrl_av1_tile_group_entry

__u32

tile_offset

Offset from the OBU data, i.e. where the coded tile data actually starts.

__u32

tile_size

Specifies the size in bytes of the coded tile. Equivalent to “TileSize” in AV1.

__u32

tile_row

Specifies the row of the current tile. Equivalent to “TileRow” in AV1.

__u32

tile_col

Specifies the column of the current tile. Equivalent to “TileColumn” in AV1.

type v4l2_av1_warp_model

AV1 Warp Model as described in section 3 “Symbols and abbreviated terms” of AV1.

V4L2_AV1_WARP_MODEL_IDENTITY

0

Warp model is just an identity transform.

V4L2_AV1_WARP_MODEL_TRANSLATION

1

Warp model is a pure translation.

V4L2_AV1_WARP_MODEL_ROTZOOM

2

Warp model is a rotation + symmetric zoom + translation.

V4L2_AV1_WARP_MODEL_AFFINE

3

Warp model is a general affine transform.

type v4l2_av1_reference_frame

Khung tham chiếu AV1 như được mô tả trong phần 6.10.24 “Ngữ nghĩa khung tham chiếu” của ZZ0000ZZ.

V4L2_AV1_REF_INTRA_FRAME

0

Intra Frame Reference.

V4L2_AV1_REF_LAST_FRAME

1

Last Frame Reference.

V4L2_AV1_REF_LAST2_FRAME

2

Last2 Frame Reference.

V4L2_AV1_REF_LAST3_FRAME

3

Last3 Frame Reference.

V4L2_AV1_REF_GOLDEN_FRAME

4

Golden Frame Reference.

V4L2_AV1_REF_BWDREF_FRAME

5

BWD Frame Reference.

V4L2_AV1_REF_ALTREF2_FRAME

6

ALTREF2 Frame Reference.

V4L2_AV1_REF_ALTREF_FRAME

7

ALTREF Frame Reference.

type v4l2_av1_global_motion

Các thông số Chuyển động toàn cầu AV1 như được mô tả trong phần 6.8.17 “Ngữ nghĩa thông số chuyển động toàn cầu” của ZZ0000ZZ.

struct v4l2_av1_global_motion

__u8

flags[V4L2_AV1_TOTAL_REFS_PER_FRAME]

A bitfield containing the flags per reference frame. See AV1 Global Motion Flags for more details.

enum v4l2_av1_warp_model

type[V4L2_AV1_TOTAL_REFS_PER_FRAME]

The type of global motion transform used.

__s32

params[V4L2_AV1_TOTAL_REFS_PER_FRAME][6]

This field has the same meaning as “gm_params” in AV1.

__u8

invalid

Bitfield indicating whether the global motion params are invalid for a given reference frame. See section 7.11.3.6 Setup shear process and the variable “warpValid”. Use V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) to create a suitable mask.

__u8

reserved[3]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL

0x00000001

Specifies whether global motion parameters are present for a particular reference frame.

V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM

0x00000002

Specifies whether a particular reference frame uses rotation and zoom global motion.

V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION

0x00000004

Specifies whether a particular reference frame uses translation global motion

type v4l2_av1_frame_restoration_type

Loại khôi phục khung AV1.

V4L2_AV1_FRAME_RESTORE_NONE

0

No filtering is applied.

V4L2_AV1_FRAME_RESTORE_WIENER

1

Wiener filter process is invoked.

V4L2_AV1_FRAME_RESTORE_SGRPROJ

2

Self guided filter process is invoked.

V4L2_AV1_FRAME_RESTORE_SWITCHABLE

3

Restoration filter is swichtable.

type v4l2_av1_loop_restoration

Khôi phục vòng lặp AV1 như được mô tả trong phần 6.10.15 “Thông số khôi phục vòng lặp ngữ nghĩa” của ZZ0000ZZ.

struct v4l2_av1_loop_restoration

__u8

flags

See AV1 Loop Restoration Flags.

__u8

lr_unit_shift

Specifies if the luma restoration size should be halved.

__u8

lr_uv_shift

Specifies if the chroma size should be half the luma size.

__u8

reserved

Applications and drivers must set this to zero.

v4l2_av1_frame_restoration_type

frame_restoration_type[V4L2_AV1_NUM_PLANES_MAX]

Specifies the type of restoration used for each plane.

__u8

loop_restoration_size[V4L2_AV1_MAX_NUM_PLANES]

Specifies the size of loop restoration units in units of samples in the current plane.

ZZ0000ZZ

V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR

0x00000001

Retains the same meaning as UsesLr in AV1.

V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR

0x00000002

Retains the same meaning as UsesChromaLr in AV1.

type v4l2_av1_cdef

Ngữ nghĩa của thông số AV1 CDEF như được mô tả trong phần 6.10.14 “Thông số CDEF ngữ nghĩa” của ZZ0000ZZ.

struct v4l2_av1_cdef

__u8

damping_minus_3

Controls the amount of damping in the deringing filter.

__u8

bits

Specifies the number of bits needed to specify which CDEF filter to apply.

__u8

y_pri_strength[V4L2_AV1_CDEF_MAX]

Specifies the strength of the primary filter.

__u8

y_sec_strength[V4L2_AV1_CDEF_MAX]

Specifies the strength of the secondary filter.

__u8

uv_pri_strength[V4L2_AV1_CDEF_MAX]

Specifies the strength of the primary filter.

__u8

uv_sec_strength[V4L2_AV1_CDEF_MAX]

Specifies the strength of the secondary filter.

type v4l2_av1_segment_feature

Đặc điểm phân đoạn AV1 như được mô tả trong phần 3 “Ký hiệu và thuật ngữ viết tắt” của ZZ0000ZZ.

V4L2_AV1_SEG_LVL_ALT_Q

0

Index for quantizer segment feature.

V4L2_AV1_SEG_LVL_ALT_LF_Y_V

1

Index for vertical luma loop filter segment feature.

V4L2_AV1_SEG_LVL_REF_FRAME

5

Index for reference frame segment feature.

V4L2_AV1_SEG_LVL_REF_SKIP

6

Index for skip segment feature.

V4L2_AV1_SEG_LVL_REF_GLOBALMV

7

Index for global mv feature.

V4L2_AV1_SEG_LVL_MAX

8

Number of segment features.

type v4l2_av1_segmentation

AV1 Thông số phân đoạn như được định nghĩa trong phần 6.8.13 “Thông số phân đoạn ngữ nghĩa” của ZZ0000ZZ.

struct v4l2_av1_segmentation

__u8

flags

See AV1 Segmentation Flags

__u8

last_active_seg_id

Indicates the highest numbered segment id that has some enabled feature. This is used when decoding the segment id to only decode choices corresponding to used segments.

__u8

feature_enabled[V4L2_AV1_MAX_SEGMENTS]

Bitmask defining which features are enabled in each segment. Use V4L2_AV1_SEGMENT_FEATURE_ENABLED to build a suitable mask.

__u16

feature_data[V4L2_AV1_MAX_SEGMENTS][V4L2_AV1_SEG_LVL_MAX]

Data attached to each feature. Data entry is only valid if the feature is enabled.

ZZ0000ZZ

V4L2_AV1_SEGMENTATION_FLAG_ENABLED

0x00000001

If set, indicates that this frame makes use of the segmentation tool. If not set, indicates that the frame does not use segmentation.

V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP

0x00000002

If set, indicates that the segmentation map are updated during the decoding of this frame. If not set, indicates that the segmentation map from the previous frame is used.

V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE

0x00000004

If set, indicates that the updates to the segmentation map are coded relative to the existing segmentation map. If not set, indicates that the new segmentation map is coded without reference to the existing segmentation map.

V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA

0x00000008

If set, indicates that the updates to the segmentation map are coded relative to the existing segmentation map. If not set, indicates that the new segmentation map is coded without reference to the existing segmentation map.

V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP

0x00000010

If set, indicates that the segment id will be read before the skip syntax element. If not set, indicates that the skip syntax element will be read first.

type v4l2_av1_loop_filter

AV1 Các thông số của bộ lọc vòng lặp như được định nghĩa trong phần 6.8.10 “Ngữ nghĩa của bộ lọc vòng lặp” của ZZ0000ZZ.

struct v4l2_av1_loop_filter

__u8

flags

See AV1 Loop Filter flags for more details.

__u8

level[4]

An array containing loop filter strength values. Different loop filter strength values from the array are used depending on the image plane being filtered, and the edge direction (vertical or horizontal) being filtered.

__u8

sharpness

indicates the sharpness level. The loop_filter_level and loop_filter_sharpness together determine when a block edge is filtered, and by how much the filtering can change the sample values. The loop filter process is described in section 7.14 of AV1.

__u8

ref_deltas[V4L2_AV1_TOTAL_REFS_PER_FRAME]

contains the adjustment needed for the filter level based on the chosen reference frame. If this syntax element is not present, it maintains its previous value.

__u8

mode_deltas[2]

contains the adjustment needed for the filter level based on the chosen mode. If this syntax element is not present, it maintains its previous value.

__u8

delta_lf_res

specifies the left shift which should be applied to decoded loop filter delta values.

ZZ0000ZZ

V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED

0x00000001

If set, means that the filter level depends on the mode and reference frame used to predict a block. If not set, means that the filter level does not depend on the mode and reference frame.

V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE

0x00000002

If set, means that additional syntax elements are present that specify which mode and reference frame deltas are to be updated. If not set, means that these syntax elements are not present.

V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT

0x00000004

Specifies whether loop filter delta values are present

V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI

0x00000008

A value equal to 1 specifies that separate loop filter deltas are sent for horizontal luma edges, vertical luma edges, the U edges, and the V edges. A value of delta_lf_multi equal to 0 specifies that the same loop filter delta is used for all edges.

type v4l2_av1_quantization

Thông số lượng tử hóa AV1 như được định nghĩa trong phần 6.8.11 “Thông số lượng tử hóa ngữ nghĩa” của ZZ0000ZZ.

struct v4l2_av1_quantization

__u8

flags

See AV1 Loop Filter flags for more details.

__u8

base_q_idx

Indicates the base frame qindex. This is used for Y AC coefficients and as the base value for the other quantizers.

__u8

delta_q_y_dc

Indicates the Y DC quantizer relative to base_q_idx.

__u8

delta_q_u_dc

Indicates the U DC quantizer relative to base_q_idx.

__u8

delta_q_u_ac

Indicates the U AC quantizer relative to base_q_idx.

__u8

delta_q_v_dc

Indicates the V DC quantizer relative to base_q_idx.

__u8

delta_q_v_ac

Indicates the V AC quantizer relative to base_q_idx.

__u8

qm_y

Specifies the level in the quantizer matrix that should be used for luma plane decoding.

__u8

qm_u

Specifies the level in the quantizer matrix that should be used for chroma U plane decoding.

__u8

qm_v

Specifies the level in the quantizer matrix that should be used for chroma V plane decoding.

__u8

delta_q_res

Specifies the left shift which should be applied to decoded quantizer index delta values.

ZZ0000ZZ

V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA

0x00000001

If set, indicates that the U and V delta quantizer values are coded separately. If not set, indicates that the U and V delta quantizer values share a common value.

V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX

0x00000002

If set, specifies that the quantizer matrix will be used to compute quantizers.

V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT

0x00000004

Specifies whether quantizer index delta values are present.

type v4l2_av1_tile_info

AV1 Thông tin ô xếp như được xác định trong phần 6.8.14 “Ngữ nghĩa thông tin ô xếp” của ref:ZZ0000ZZ.

struct v4l2_av1_tile_info

__u8

flags

See AV1 Tile Info flags for more details.

__u8

context_update_tile_id

Specifies which tile to use for the CDF update.

__u8

tile_cols

Specifies the number of tiles across the frame.

__u8

tile_rows

Specifies the number of tiles down the frame.

__u32

mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1]

An array specifying the start column (in units of 4x4 luma samples) for each tile across the image.

__u32

mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1]

An array specifying the start row (in units of 4x4 luma samples) for each tile across the image.

__u32

width_in_sbs_minus_1[V4L2_AV1_MAX_TILE_COLS]

Specifies the width of a tile minus 1 in units of superblocks.

__u32

height_in_sbs_minus_1[V4L2_AV1_MAX_TILE_ROWS]

Specifies the height of a tile minus 1 in units of superblocks.

__u8

tile_size_bytes

Specifies the number of bytes needed to code each tile size.

__u8

reserved[3]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING

0x00000001

If set, means that the tiles are uniformly spaced across the frame. (In other words, all tiles are the same size except for the ones at the right and bottom edge which can be smaller). If not set means that the tile sizes are coded.

type v4l2_av1_frame_type

Loại khung AV1

V4L2_AV1_KEY_FRAME

0

Key frame.

V4L2_AV1_INTER_FRAME

1

Inter frame.

V4L2_AV1_INTRA_ONLY_FRAME

2

Intra-only frame.

V4L2_AV1_SWITCH_FRAME

3

Switch frame.

type v4l2_av1_interpolation_filter

Bộ lọc nội suy AV1

V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP

0

Eight tap filter.

V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH

1

Eight tap smooth filter.

V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP

2

Eight tap sharp filter.

V4L2_AV1_INTERPOLATION_FILTER_BILINEAR

3

Bilinear filter.

V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE

4

Filter selection is signaled at the block level.

type v4l2_av1_tx_mode

Chế độ AV1 Tx như được mô tả trong phần 6.8.21 “Ngữ nghĩa chế độ TX” của ZZ0000ZZ.

V4L2_AV1_TX_MODE_ONLY_4X4

0

The inverse transform will use only 4x4 transforms.

V4L2_AV1_TX_MODE_LARGEST

1

The inverse transform will use the largest transform size that fits inside the block.

V4L2_AV1_TX_MODE_SELECT

2

The choice of transform size is specified explicitly for each block.

ZZ0001ZZ

Đại diện cho Tiêu đề khung OBU. Xem phần 6.8 “Ngữ nghĩa tiêu đề khung OBU” của ZZ0000ZZ để biết thêm chi tiết.

type v4l2_ctrl_av1_frame
struct v4l2_ctrl_av1_frame

struct v4l2_av1_tile_info

tile_info

Tile info

struct v4l2_av1_quantization

quantization

Quantization parameters.

__u8

superres_denom

The denominator for the upscaling ratio.

struct v4l2_av1_segmentation

segmentation

Segmentation parameters.

struct v4l2_av1_loop_filter

loop_filter

Loop filter params

struct v4l2_av1_cdef

cdef

CDEF params

__u8

skip_mode_frame[2]

Specifies the frames to use for compound prediction when skip_mode is equal to 1.

__u8

primary_ref_frame

Specifies which reference frame contains the CDF values and other state that should be loaded at the start of the frame.

struct v4l2_av1_loop_restoration

loop_restoration

Loop restoration parameters.

struct v4l2_av1_global_motion

global_motion

Global motion parameters.

__u32

flags

See AV1 Frame flags for more details.

enum v4l2_av1_frame_type

frame_type

Specifies the AV1 frame type

__u32

order_hint

Specifies OrderHintBits least significant bits of the expected output order for this frame.

__u32

upscaled_width

The upscaled width.

enum v4l2_av1_interpolation_filter

interpolation_filter

Specifies the filter selection used for performing inter prediction.

enum v4l2_av1_tx_mode

tx_mode

Specifies how the transform size is determined.

__u32

frame_width_minus_1

Add 1 to get the frame’s width.

__u32

frame_height_minus_1

Add 1 to get the frame’s height.

__u16

render_width_minus_1

Add 1 to get the render width of the frame in luma samples.

__u16

render_height_minus_1

Add 1 to get the render height of the frame in luma samples.

__u32

current_frame_id

Specifies the frame id number for the current frame. Frame id numbers are additional information that do not affect the decoding process, but provide decoders with a way of detecting missing reference frames so that appropriate action can be taken.

__u8

buffer_removal_time[V4L2_AV1_MAX_OPERATING_POINTS]

Specifies the frame removal time in units of DecCT clock ticks counted from the removal time of the last random access point for operating point opNum.

__u8

reserved[4]

Applications and drivers must set this to zero.

__u32

order_hints[V4L2_AV1_TOTAL_REFS_PER_FRAME]

Specifies the expected output order hint for each reference frame. This field corresponds to the OrderHints variable from the specification (section 5.9.2 “Uncompressed header syntax”). As such, this is only used for non-intra frames and ignored otherwise. order_hints[0] is always ignored.

__u64

reference_frame_ts[V4L2_AV1_TOTAL_REFS_PER_FRAME]

The V4L2 timestamp for each of the reference frames enumerated in enum v4l2_av1_reference_frame starting at V4L2_AV1_REF_LAST_FRAME. This represents the state of reference slot as described in the spec and updated by userland through the “Reference frame update process” in section 7.20 The timestamp refers to the timestamp field in struct v4l2_buffer. Use the v4l2_timeval_to_ns() function to convert the struct timeval in struct v4l2_buffer to a __u64.

__s8

ref_frame_idx[V4L2_AV1_REFS_PER_FRAME]

An index into reference_frame_ts representing the ordered list of references used by inter-frame. Matches the bitstream syntax element of the same name.

__u8

refresh_frame_flags

Contains a bitmask that specifies which reference frame slots will be updated with the current frame after it is decoded.

ZZ0000ZZ

V4L2_AV1_FRAME_FLAG_SHOW_FRAME

0x00000001

If set, specifies that this frame should be immediately output once decoded. If not set, specifies that this frame should not be immediately output; it may be output later if a later uncompressed header uses show_existing_frame equal to 1.

V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME

0x00000002

If set, specifies that the frame may be output using the show_existing_frame mechanism. If not set, specifies that this frame will not be output using the show_existing_frame mechanism.

V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE

0x00000004

Specifies whether error resilient mode is enabled.

V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE

0x00000008

Specifies whether the CDF update in the symbol decoding process should be disabled.

V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS

0x00000010

If set, indicates that intra blocks may use palette encoding. If not set, indicates that palette encoding is never used.

V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV

0x00000020

If set, specifies that motion vectors will always be integers. If not set, specifies that motion vectors can contain fractional bits.

V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC

0x00000040

If set, indicates that intra block copy may be used in this frame. If not set, indicates that intra block copy is not allowed in this frame.

V4L2_AV1_FRAME_FLAG_USE_SUPERRES

0x00000080

If set, indicates that upscaling is needed.

V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV

0x00000100

If set, specifies that motion vectors are specified to eighth pel precision. If not set, specifies that motion vectors are specified to quarter pel precision;

V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE

0x00000200

If not set, specifies that only the SIMPLE motion mode will be used.

V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS

0x00000400

If set specifies that motion vector information from a previous frame can be used when decoding the current frame. If not set, specifies that this information will not be used.

V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF

0x00000800

If set indicates that the end of frame CDF update is disabled. If not set, indicates that the end of frame CDF update is enabled

V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION

0x00001000

If set, indicates that the syntax element motion_mode may be present, if not set, indicates that the syntax element motion_mode will not be present.

V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT

0x00002000

If set, specifies that the mode info for inter blocks contains the syntax element comp_mode that indicates whether to use single or compound reference prediction. If not set, specifies that all inter blocks will use single prediction.

V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET

0x00004000

If set, specifies that the frame is restricted to a reduced subset of the full set of transform types.

V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED

0x00008000

This flag retains the same meaning as SkipModeAllowed in AV1.

V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT

0x00010000

If set, specifies that the syntax element skip_mode will be present, if not set, specifies that skip_mode will not be used for this frame.

V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE

0x00020000

If set, specifies that the frame size will either be specified as the size of one of the reference frames, or computed from the frame_width_minus_1 and frame_height_minus_1 syntax elements. If not set, specifies that the frame size is equal to the size in the sequence header.

V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT

0x00040000

If set, specifies that buffer_removal_time is present. If not set, specifies that buffer_removal_time is not present.

V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING

0x00080000

If set, indicates that only two reference frames are explicitly signaled. If not set, indicates that all reference frames are explicitly signaled.

ZZ0001ZZ

Đại diện cho các thông số hạt phim tùy chọn. Xem phần 6.8.20 “Ngữ nghĩa thông số hạt phim” của ZZ0000ZZ để biết thêm chi tiết.

type v4l2_ctrl_av1_film_grain
struct v4l2_ctrl_av1_film_grain

__u8

flags

See AV1 Film Grain Flags.

__u8

cr_mult

Represents a multiplier for the cr component used in derivation of the input index to the cr component scaling function.

__u16

grain_seed

Specifies the starting value for the pseudo-random numbers used during film grain synthesis.

__u8

film_grain_params_ref_idx

Indicates which reference frame contains the film grain parameters to be used for this frame.

__u8

num_y_points

Specifies the number of points for the piece-wise linear scaling function of the luma component.

__u8

point_y_value[V4L2_AV1_MAX_NUM_Y_POINTS]

Represents the x (luma value) coordinate for the i-th point of the piecewise linear scaling function for luma component. The values are signaled on the scale of 0..255. In case of 10 bit video, these values correspond to luma values divided by 4. In case of 12 bit video, these values correspond to luma values divided by 16.

__u8

point_y_scaling[V4L2_AV1_MAX_NUM_Y_POINTS]

Represents the scaling (output) value for the i-th point of the piecewise linear scaling function for luma component.

__u8

num_cb_points

Specifies the number of points for the piece-wise linear scaling function of the cb component.

__u8

point_cb_value[V4L2_AV1_MAX_NUM_CB_POINTS]

Represents the x coordinate for the i-th point of the piece-wise linear scaling function for cb component. The values are signaled on the scale of 0..255.

__u8

point_cb_scaling[V4L2_AV1_MAX_NUM_CB_POINTS]

Represents the scaling (output) value for the i-th point of the piecewise linear scaling function for cb component.

__u8

num_cr_points

Represents the number of points for the piece-wise linear scaling function of the cr component.

__u8

point_cr_value[V4L2_AV1_MAX_NUM_CR_POINTS]

Represents the x coordinate for the i-th point of the piece-wise linear scaling function for cr component. The values are signaled on the scale of 0..255.

__u8

point_cr_scaling[V4L2_AV1_MAX_NUM_CR_POINTS]

Represents the scaling (output) value for the i-th point of the piecewise linear scaling function for cr component.

__u8

grain_scaling_minus_8

Represents the shift - 8 applied to the values of the chroma component. The grain_scaling_minus_8 can take values of 0..3 and determines the range and quantization step of the standard deviation of film grain.

__u8

ar_coeff_lag

Specifies the number of auto-regressive coefficients for luma and chroma.

__u8

ar_coeffs_y_plus_128[V4L2_AV1_AR_COEFFS_SIZE]

Specifies auto-regressive coefficients used for the Y plane.

__u8

ar_coeffs_cb_plus_128[V4L2_AV1_AR_COEFFS_SIZE]

Specifies auto-regressive coefficients used for the U plane.

__u8

ar_coeffs_cr_plus_128[V4L2_AV1_AR_COEFFS_SIZE]

Specifies auto-regressive coefficients used for the V plane.

__u8

ar_coeff_shift_minus_6

Specifies the range of the auto-regressive coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25, 0.25) respectively.

__u8

grain_scale_shift

Specifies how much the Gaussian random numbers should be scaled down during the grain synthesis process.

__u8

cb_mult

Represents a multiplier for the cb component used in derivation of the input index to the cb component scaling function.

__u8

cb_luma_mult

Represents a multiplier for the average luma component used in derivation of the input index to the cb component scaling function..

__u8

cr_luma_mult

Represents a multiplier for the average luma component used in derivation of the input index to the cr component scaling function.

__u16

cb_offset

Represents an offset used in derivation of the input index to the cb component scaling function.

__u16

cr_offset

Represents an offset used in derivation of the input index to the cr component scaling function.

__u8

reserved[4]

Applications and drivers must set this to zero.

ZZ0000ZZ

V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN

0x00000001

If set, specifies that film grain should be added to this frame. If not set, specifies that film grain should not be added.

V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN

0x00000002

If set, means that a new set of parameters should be sent. If not set, specifies that the previous set of parameters should be used.

V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA

0x00000004

If set, specifies that the chroma scaling is inferred from the luma scaling.

V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP

0x00000008

If set, indicates that the overlap between film grain blocks shall be applied. If not set, indicates that the overlap between film grain blocks shall not be applied.

V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE

0x00000010

If set, indicates that clipping to the restricted (studio, i.e. limited) range shall be applied to the sample values after adding the film grain (see the semantics for color_range for an explanation of studio swing). If not set, indicates that clipping to the full range shall be applied to the sample values after adding the film grain.