структура DXVA_PicParams_AV1 (dxva.h)
Структура DXVA_PicParams_AV1 предоставляет параметры уровня рисунка сжатого изображения для декодирования видео AV1.
Синтаксис
typedef struct _DXVA_PicParams_AV1 {
UINT width;
UINT height;
UINT max_width;
UINT max_height;
UCHAR CurrPicTextureIndex;
UCHAR superres_denom;
UCHAR bitdepth;
UCHAR seq_profile;
struct {
UCHAR cols;
UCHAR rows;
USHORT context_update_id;
USHORT widths[64];
USHORT heights[64];
} tiles;
union {
struct {
UINT use_128x128_superblock : 1;
UINT intra_edge_filter : 1;
UINT interintra_compound : 1;
UINT masked_compound : 1;
UINT warped_motion : 1;
UINT dual_filter : 1;
UINT jnt_comp : 1;
UINT screen_content_tools : 1;
UINT integer_mv : 1;
UINT cdef : 1;
UINT restoration : 1;
UINT film_grain : 1;
UINT intrabc : 1;
UINT high_precision_mv : 1;
UINT switchable_motion_mode : 1;
UINT filter_intra : 1;
UINT disable_frame_end_update_cdf : 1;
UINT disable_cdf_update : 1;
UINT reference_mode : 1;
UINT skip_mode : 1;
UINT reduced_tx_set : 1;
UINT superres : 1;
UINT tx_mode : 2;
UINT use_ref_frame_mvs : 1;
UINT enable_ref_frame_mvs : 1;
UINT reference_frame_update : 1;
UINT Reserved : 5;
};
UINT32 CodingParamToolFlags;
} coding;
union {
struct {
UCHAR frame_type : 2;
UCHAR show_frame : 1;
UCHAR showable_frame : 1;
UCHAR subsampling_x : 1;
UCHAR subsampling_y : 1;
UCHAR mono_chrome : 1;
UCHAR Reserved : 1;
};
UCHAR FormatAndPictureInfoFlags;
} format;
UCHAR primary_ref_frame;
UCHAR order_hint;
UCHAR order_hint_bits;
DXVA_PicEntry_AV1 frame_refs[7];
UCHAR RefFrameMapTextureIndex[8];
struct {
UCHAR filter_level[2];
UCHAR filter_level_u;
UCHAR filter_level_v;
UCHAR sharpness_level;
union {
struct {
UCHAR mode_ref_delta_enabled : 1;
UCHAR mode_ref_delta_update : 1;
UCHAR delta_lf_multi : 1;
UCHAR delta_lf_present : 1;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
CHAR ref_deltas[8];
CHAR mode_deltas[2];
UCHAR delta_lf_res;
UCHAR frame_restoration_type[3];
USHORT log2_restoration_unit_size[3];
UINT16 Reserved16Bits;
} loop_filter;
struct {
union {
struct {
UCHAR delta_q_present : 1;
UCHAR delta_q_res : 2;
UCHAR Reserved : 5;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
UCHAR base_qindex;
CHAR y_dc_delta_q;
CHAR u_dc_delta_q;
CHAR v_dc_delta_q;
CHAR u_ac_delta_q;
CHAR v_ac_delta_q;
UCHAR qm_y;
UCHAR qm_u;
UCHAR qm_v;
UINT16 Reserved16Bits;
} quantization;
struct {
union {
struct {
UCHAR damping : 2;
UCHAR bits : 2;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_1541_60 y_strengths[8];
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_1541_62 uv_strengths[8];
} cdef;
UCHAR interp_filter;
struct {
union {
struct {
UCHAR enabled : 1;
UCHAR update_map : 1;
UCHAR update_data : 1;
UCHAR temporal_update : 1;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
UCHAR Reserved24Bits[3];
union {
struct {
UCHAR alt_q : 1;
UCHAR alt_lf_y_v : 1;
UCHAR alt_lf_y_h : 1;
UCHAR alt_lf_u : 1;
UCHAR alt_lf_v : 1;
UCHAR ref_frame : 1;
UCHAR skip : 1;
UCHAR globalmv : 1;
};
UCHAR mask;
};
__unnamed_union_1541_67 feature_mask[8];
SHORT feature_data[8][8];
} segmentation;
struct {
union {
struct {
USHORT apply_grain : 1;
USHORT scaling_shift_minus8 : 2;
USHORT chroma_scaling_from_luma : 1;
USHORT ar_coeff_lag : 2;
USHORT ar_coeff_shift_minus6 : 2;
USHORT grain_scale_shift : 2;
USHORT overlap_flag : 1;
USHORT clip_to_restricted_range : 1;
USHORT matrix_coeff_is_identity : 1;
USHORT Reserved : 3;
};
USHORT ControlFlags;
} DUMMYUNIONNAME;
USHORT grain_seed;
UCHAR scaling_points_y[14][2];
UCHAR num_y_points;
UCHAR scaling_points_cb[10][2];
UCHAR num_cb_points;
UCHAR scaling_points_cr[10][2];
UCHAR num_cr_points;
UCHAR ar_coeffs_y[24];
UCHAR ar_coeffs_cb[25];
UCHAR ar_coeffs_cr[25];
UCHAR cb_mult;
UCHAR cb_luma_mult;
UCHAR cr_mult;
UCHAR cr_luma_mult;
UCHAR Reserved8Bits;
SHORT cb_offset;
SHORT cr_offset;
} film_grain;
UINT Reserved32Bits;
UINT StatusReportFeedbackNumber;
} DXVA_PicParams_AV1, *LPDXVA_PicParams_AV1;
Члены
width
Закодированная ширина текущего кадра. Соответствует элементу синтаксиса frame_width_minus_1. См. заметки.
height
Закодированная высота текущего кадра. Соответствует элементу синтаксиса frame_height_minus_1. См. заметки.
max_width
max_height
CurrPicTextureIndex
Целевой буфер кадра или индекс поверхности для декодированного рисунка.
superres_denom
Если включена функция superres, в этом поле указывается знаменатель для вычисления обновленной ширины кадра. Соответствует значению SuperresDenom из спецификации AV1. Если надстройка не включена, это значение должно быть равно 8.
bitdepth
Битовая глубина декодированных образцов luma и chroma. Допустимые значения ограничиваются значением профиля.
seq_profile
Профиль битового потока AV1. Это соответствует элементу синтаксиса: seq_profile. Формат кодирования видео AV1 определяет следующие профили:
Профиль | Значение |
---|---|
профиль 0 | Поддерживает выборку хрома 4:2:0 с 8 или 10 битами на выборку и монохромные форматы. |
профиль 1 | Поддерживает выборку хрома 4:4:4 с 8 или 10 битами на выборку. |
профиль 2 | Поддерживает выборку хрома 4:2:0, 4:2:2 или 4:4:4 с частотой 8, 10 или 12 бит на выборку и монохромные форматы. |
tiles
Содержит сведения, относящиеся к плиткам.
tiles.cols
Количество плиток в кадре. Это поле соответствует 2^TileColsLog2 из спецификации AV1.
tiles.rows
Количество плиток в кадре. Это поле соответствует 2^TileRowsLog2 из спецификации AV1.
tiles.context_update_id
Указывает, какая плитка будет использоваться для обновления CDF. Это соответствует элементу синтаксиса с именем context_update_tile_id из спецификации AV1.
tiles.widths[64]
Ширина каждой плитки в единицах суперблоков. Допустимы только первые записи ширины 2^cols_log2. Это поле соответствует переменной tileWidthSb из спецификации AV1.
tiles.heights[64]
Высота каждой плитки в единицах суперблоков. Допустимы только первые записи высоты 2^rows_log2. Это поле соответствует переменной tileHeightSb из спецификации AV1.
coding
Средства программирования.
coding.use_128x128_superblock
Если значение равно 1, указывает, что суперблоки содержат выборки luma 128x128; в противном случае суперблоки содержат примеры luma 64x64. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
coding.intra_edge_filter
Указывает, должен ли быть включен процесс фильтрации внутри ребер. Это поле соответствует элементу синтаксиса с именем enable_intra_edge_filter из спецификации AV1.
coding.interintra_compound
Если значение равно 1, указывает, что сведения о режиме для блоков inter могут содержать синтаксический элемент interintra; В противном случае элемент синтаксиса interintra не будет присутствовать. Это поле соответствует элементу синтаксиса с именем enable_interintra_compound из спецификации AV1.
coding.masked_compound
Если значение равно 1, указывает, что сведения о режиме для блоков inter могут содержать элемент синтаксиса compound_type; В противном случае элемент синтаксиса compound_type не будет присутствовать. Это поле соответствует элементу синтаксиса с именем enable_masked_compound из спецификации AV1.
coding.warped_motion
Если значение равно 1, указывает, что элемент синтаксиса motion_mode может присутствовать. Это поле соответствует элементу синтаксиса с именем allow_warped_motion из спецификации AV1.
coding.dual_filter
Если значение равно 1, указывает, что тип фильтра прогнозирования может быть указан независимо друг от друга в горизонтальном и вертикальном направлениях; В противном случае можно указать только один тип фильтра. Это поле соответствует элементу синтаксиса с именем enable_dual_filter из спецификации AV1.
coding.jnt_comp
Если значение равно 1, указывает, что для прогнозирования может использоваться процесс весовых коэффициентов расстояния. Это поле соответствует элементу синтаксиса с именем enable_jnt_comp из спецификации AV1.
coding.screen_content_tools
Если значение равно 1, указывает, что внутри блоки могут использовать кодировку палитры; В противном случае кодировка палитры не будет использоваться. Это поле соответствует элементу синтаксиса с именем allow_screen_content_tools из спецификации AV1.
coding.integer_mv
Если значение равно 1, указывает, что векторы движения всегда будут целыми числами. Это поле соответствует элементу синтаксиса с именем force_integer_mv из спецификации AV1.
coding.cdef
Если значение равно 1, указывает, что фильтрация ограниченного расширения направления (CDEF) может быть включена. Это поле соответствует элементу синтаксиса с именем enable_cdef из спецификации AV1.
coding.restoration
Если значение равно 1, указывает, что фильтрация восстановления цикла может быть включена. Это поле соответствует элементу синтаксиса с именем enable_restoration из спецификации AV1.
coding.film_grain
Если значение равно 1, указывает, что обработка пленки может быть включена. Это поле соответствует элементу синтаксиса с именем film_grain_params_present из спецификации AV1.
coding.intrabc
Если значение равно 1, указывает, что можно использовать внутриблочное копирование. Это поле соответствует элементу синтаксиса с именем allow_intrabc из спецификации AV1.
coding.high_precision_mv
Если значение равно 1, указывает, что векторы движения заданы с точностью восьмого пела; В противном случае векторы движения задаются с точностью до четверти. Это поле соответствует элементу синтаксиса с именем allow_high_precision_mv из спецификации AV1.
coding.switchable_motion_mode
Если значение равно 1, указывает, что можно использовать только режим простого перемещения. Это поле соответствует элементу синтаксиса с именем is_motion_mode_switchable из спецификации AV1.
coding.filter_intra
Если значение равно 1, указывает, что элемент синтаксиса use_filter_intra может присутствовать. Это поле соответствует элементу синтаксиса с именем enable_filter_intra из спецификации AV1.
coding.disable_frame_end_update_cdf
Указывает, сохраняются ли массивы CDF в процессе выхода декодера символов. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
coding.disable_cdf_update
Указывает, следует ли отключать обновление CDF в процессе декодирования символов. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
coding.reference_mode
Управляет режимом, используемым для прогнозирования опорных кадров. Может быть одним из следующих значений, которые соответствуют режиму ссылок из процесса декодирования AV1:
reference_mode | Имя reference_mode |
---|---|
0 | SINGLE_REFERENCE |
1 | REFERENCE_MODE_SELECT |
coding.skip_mode
Указывает, можно ли указать синтаксис режима пропуска в составном прогнозе. Это поле соответствует элементу синтаксиса skip_mode_present из спецификации AV1.
coding.reduced_tx_set
Указывает, использует ли фрейм ограниченный набор типов преобразования. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
coding.superres
Указывает, используется ли в кадре супер разрешение. Это поле соответствует элементу синтаксиса с именем use_superres из спецификации AV1.
coding.tx_mode
Указывает, как определяется размер преобразования. Это поле соответствует переменной с тем же именем из спецификации AV1. Он может принимать одно из следующих значений, как указано в спецификации AV1:
Значение TxMode | Имя TxMode |
---|---|
0 | ONLY_4X4 |
1 | TX_MODE_LARGEST |
2 | TX_MODE_SELECT |
coding.use_ref_frame_mvs
Указывает, следует ли использовать векторы движения из предыдущего кадра для текущего кадра. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
coding.enable_ref_frame_mvs
Указывает, отключена ли use_ref_frame_mvs для всей последовательности видео; если 0 use_ref_frame_mvs также всегда будет равно 0. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1 (из заголовка последовательности).
coding.reference_frame_update
Указывает, что процесс обновления опорного кадра, как указано в разделе 7.20 спецификации AV1, должен выполняться после декодирования этого кадра. В противном случае следует выполнить раздел 7.21.
coding.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
coding.CodingParamToolFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с флагами средств программирования.
format
Содержит сведения о формате и рисунке.
format.frame_type
Тип кадра текущего кадра. Это поле соответствует синтаксической элементу с тем же именем в спецификации AV1 и соответствующим образом влияет на процесс декодирования. Допустимые значения: 0, 1, 2 или 3 для четырех типов кадров AV1: KEY_FRAME, INTER_FRAME, INTRA_ONLY_FRAME и S_FRAME.
format.show_frame
Указывает, должен ли текущий кадр выводиться и отображаться после завершения декодирования. Это поле соответствует синтаксической элементу с тем же именем в спецификации AV1 и соответствующим образом влияет на процесс декодирования. В DXVA это не оказывает прямого влияния, так как узел управляет отображением декодированных кадров отдельно с помощью других вызовов функций.
format.showable_frame
Если значение равно 1, указывает, что кадр может быть выведен с помощью механизма show_existing_frame; в противном случае равно нулю, что указывает, что этот кадр не будет выводиться с помощью механизма show_existing_frame.
format.subsampling_x
Вместе с subsampling_y указывает формат выборки хрома. См. заметки.
format.subsampling_y
Вместе с subsampling_x указывает формат выборки хрома. См. заметки.
format.mono_chrome
Указывает, является ли битовый поток монохромным. Если значение равно 1, то присутствует только плоскость luma. Это поле соответствует элементу синтаксиса с тем же именем из синтаксиса цветовой конфигурации спецификации AV1. Допустимые значения ограничиваются значением профиля.
format.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
format.FormatAndPictureInfoFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с информацией о формате и рисунке.
primary_ref_frame
Указывает, какая опорная рамка содержит значения CDF и другое состояние, которое должно быть загружено в начале кадра. Это поле 0x7 при отсутствии основной опорной рамки. Он соответствует элементу синтаксиса с тем же именем из спецификации AV1.
order_hint
Порядок выходных данных текущего кадра. Соответствует OrderHint из спецификации AV1.
order_hint_bits
Соответствует элементу синтаксиса с именем order_hint_bits_minus_1 в спецификации AV1. Это поле определяется как: order_hint_bits_minus_1 + 1. Это поле будет иметь значение 0, если enable_order_hint из спецификации AV1 равно 0.
Если это значение равно 0, не следует использовать средства на основе OrderHint, а значение order_hint не определено. Если значение не равно нулю, это влияет на вычисление относительного расстояния соответствующим образом (см. функцию get_relative_dist из спецификации AV1).
frame_refs[7]
RefFrameMapTextureIndex[8]
Массив несжатых поверхностей буфера кадра. Записи, которые не будут использоваться для декодирования текущего рисунка или любых последующих рисунков, указываются путем установки этого значения 0xFF. Если значение не 0xFF, запись может использоваться в качестве эталонной поверхности для декодирования текущего рисунка или последующего рисунка в порядке декодирования.
Все несжатые поверхности, соответствующие кадрам, которые могут использоваться для ссылки в процессе декодирования текущего рисунка или любого последующего рисунка, должны присутствовать в массиве RefFrameMapTextureIndex (независимо от того, используются ли эти изображения в процессе декодирования текущего кадра). Для упорядочения записей в массиве RefFrameMapTextureIndex не указан конкретный порядок.
Примечание
Ускоритель должен использовать содержимое RefFrameMapTextureIndex , предоставленное ускорителем, а не пытаться получить эти сведения из битового потока (чтобы обеспечить операцию без отслеживания состояния, для которой обработка декодированного буфера кадров должна выполняться под контролем узла, а не выводиться из битового потока ускорителем).
loop_filter
Структура с параметрами фильтра цикла.
loop_filter.filter_level[2]
Массив, содержащий значения надежности фильтра цикла. Соответствует синтаксической элементу с тем же именем в спецификации AV1 и соответствующим образом влияет на процессы декодирования фильтра деблокировки. Дополнительные сведения см. в разделе поле sharpness_level .
loop_filter.filter_level_u
loop_filter.filter_level_v
loop_filter.sharpness_level
Указывает уровень резкости. Значения filter_level и sharpness_level вместе определяют, когда граница блока фильтруется и насколько фильтрация может изменить значения выборки. Процесс фильтрации цикла описан в разделе 7.14 спецификации AV1.
loop_filter.DUMMYUNIONNAME
loop_filter.DUMMYUNIONNAME.mode_ref_delta_enabled
Если значение равно 1, указывает, что уровень фильтра зависит от режима и опорной рамки, используемой для прогнозирования блока. Это поле соответствует элементу синтаксиса с именем loop_filter_delta_enabled из спецификации AV1.
loop_filter.DUMMYUNIONNAME.mode_ref_delta_update
Если значение равно 1, указывает, что присутствуют дополнительные элементы синтаксиса, определяющие, какие режимы и опорные кадры должны быть обновлены. Это поле соответствует элементу синтаксиса с именем loop_filter_delta_update из спецификации AV1.
loop_filter.DUMMYUNIONNAME.delta_lf_multi
Если значение равно 1, указывает, что отдельные разностные фильтры цикла отправляются для горизонтальных краев лумы, вертикальных краев лумы, ребер U и ребер V. Это поле соответствует элементу синтаксиса с именем delta_lf_multi из спецификации AV1.
loop_filter.DUMMYUNIONNAME.delta_lf_present
Если значение равно 1, указывает, что существуют разностные фильтры цикла. Это необходимо для процесса декодирования фильтра цикла: read_delta_lf(). Это поле соответствует элементу синтаксиса с именем delta_lf_present из спецификации AV1.
loop_filter.DUMMYUNIONNAME.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
loop_filter.DUMMYUNIONNAME.ControlFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с флагами фильтров цикла.
loop_filter.ref_deltas[8]
Соответствует элементу синтаксиса с именем loop_filter_ref_deltas в спецификации AV1 и соответствующим образом влияет на процессы декодирования фильтра цикла.
loop_filter.mode_deltas[2]
Соответствует элементу синтаксиса с именем loop_filter_mode_deltas в спецификации AV1 и соответствующим образом влияет на процесс декодирования фильтра цикла.
loop_filter.delta_lf_res
Сдвиг влево, который должен применяться к разностным значениям декодированного фильтра цикла. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
loop_filter.frame_restoration_type[3]
Режим восстановления цикла для этого кадра. Это поле соответствует элементу синтаксиса FrameRestorationType из спецификации AV1. Это может быть одно из следующих значений, которые совпадают с указанными в спецификации AV1:
FrameRestorationType | Имя FrameRestorationType |
---|---|
0 | RESTORE_NONE |
1 | RESTORE_WIENER |
2 | RESTORE_SGRPROJ |
3 | RESTORE_SWITCHABLE |
loop_filter.log2_restoration_unit_size[3]
Размер log2 единиц восстановления цикла в единицах выборки в текущей плоскости. Элемент 0 соответствует плоскости luma, элемент 1 — плоскости U, а элемент 2 — плоскости V. Это поле соответствует переменной log2(LoopRestorationSize[plane]) из спецификации AV1.
loop_filter.Reserved16Bits
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
quantization
Содержит сведения о квантованиях.
quantization.DUMMYUNIONNAME
quantization.DUMMYUNIONNAME.delta_q_present
Указывает, присутствуют ли разностные значения индекса квантайзера. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
quantization.DUMMYUNIONNAME.delta_q_res
Сдвиг влево, который следует применить к декодированные разностные значения индекса квантайзера. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
quantization.DUMMYUNIONNAME.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
quantization.DUMMYUNIONNAME.ControlFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с квантованием.
quantization.base_qindex
Указывает базовый кадр qindex. Это поле соответствует элементу синтаксиса с именем base_q_idx из спецификации AV1.
quantization.y_dc_delta_q
Квантайзер dc Y относительно base_qindex. Это поле соответствует DeltaQYDc из спецификации AV1.
quantization.u_dc_delta_q
Квантайзер U DC относительно base_qindex. Это поле соответствует DeltaQUDc из спецификации AV1.
quantization.v_dc_delta_q
Квантайзер V DC относительно base_qindex. Это поле соответствует DeltaQVDc из спецификации AV1.
quantization.u_ac_delta_q
Квантайзер U AC относительно base_qindex. Это поле соответствует DeltaQUAc из спецификации AV1.
quantization.v_ac_delta_q
Квантайзер V AC относительно base_qindex. Это поле соответствует DeltaQVAc из спецификации AV1.
quantization.qm_y
Уровень в матрице квантайзера, который следует использовать для декодирования плоскости luma. Если значение не указано (using_qmatrix=0), это поле будет 0xFF (что является недопустимым уровнем матрицы квантайзера). Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
quantization.qm_u
Уровень в матрице квантайзера, который следует использовать для декодирования U-плоскости. Если значение не указано (using_qmatrix=0), это поле будет 0xFF (что является недопустимым уровнем матрицы квантайзера). Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
quantization.qm_v
Уровень в матрице квантайзера, который следует использовать для декодирования V-плоскости. Если значение не указано (using_qmatrix=0), это поле будет 0xFF (что является недопустимым уровнем матрицы квантайзера). Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
quantization.Reserved16Bits
Зарезервировано.
cdef
Параметры ограниченного фильтра расширения направления (CDEF).
cdef.DUMMYUNIONNAME
cdef.DUMMYUNIONNAME.damping
Управляет объемом демпфирования в фильтре вывода. Это поле соответствует переменной с именем cdef_damping_minus_3 из спецификации AV1.
cdef.DUMMYUNIONNAME.bits
Число битов, используемых для передачи сигналов параметру фильтра CDEF. Это поле соответствует элементу синтаксиса с именем cdef_bits из спецификации AV1.
cdef.DUMMYUNIONNAME.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
cdef.DUMMYUNIONNAME.ControlFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с параметрами CDEF.
cdef.primary
Основная надежность фильтра для канала y. Это поле соответствует cdef_y_pri_strength из спецификации AV1.
cdef.secondary
Вторичная надежность фильтра для канала y. Это поле соответствует cdef_y_sec_strength из спецификации AV1.
cdef.combined
Предоставляет альтернативный способ доступа к y_strengths первичным и вторичным битам.
cdef.y_strengths[8]
Сильные стороны основного и вторичного фильтров для канала y.
cdef.uv_strengths[8]
Основной и дополнительный фильтр сильные стороны для уф-каналов. Это соответствует cdef_uv_pri_strength и cdef_uv_sec_strength элементам синтаксиса из спецификации AV1.
interp_filter
Соответствует тому же элементу синтаксиса с тем же именем в спецификации AV1 и соответствующим образом влияет на процесс декодирования интерполяции компенсации движения. В таблице ниже показаны возможные значения interp_filter.
Значение | Тип фильтра |
---|---|
0 | обычный 8 касаний |
1 | smooth 8-касание |
2 | резкий 8 касаний |
3 | Билинейная |
4 | все фильтры |
segmentation
Параметры сегментации.
segmentation.DUMMYUNIONNAME
segmentation.DUMMYUNIONNAME.enabled
Если значение равно 1, указывает, что этот кадр использует инструмент сегментации. Это поле соответствует элементу синтаксиса с именем segmentation_enabled из спецификации AV1.
segmentation.DUMMYUNIONNAME.update_map
Если значение равно 1, указывает, что карта сегментации обновляется во время декодирования этого кадра. Это поле соответствует элементу синтаксиса с именем segmentation_update_map из спецификации AV1.
segmentation.DUMMYUNIONNAME.update_data
Если значение равно 1, указывает, что для каждого сегмента предоставляются новые параметры. Это поле соответствует элементу синтаксиса с именем segmentation_update_data из спецификации AV1.
segmentation.DUMMYUNIONNAME.temporal_update
Если значение равно 1, указывает, что обновления карты сегментации кодируются относительно существующей карты сегментации. Это поле соответствует элементу синтаксиса с именем segmentation_temporal_update из спецификации AV1.
segmentation.DUMMYUNIONNAME.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
segmentation.DUMMYUNIONNAME.ControlFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с сегментацией.
segmentation.Reserved24Bits[3]
Зарезервировано.
segmentation.alt_q
segmentation.alt_lf_y_v
segmentation.alt_lf_y_h
segmentation.alt_lf_u
segmentation.alt_lf_v
segmentation.ref_frame
segmentation.skip
segmentation.globalmv
segmentation.mask
segmentation.feature_mask[8]
Указывает, какие функции данных сегмента обновляются в этом кадре. Это поле соответствует элементу синтаксиса, feature_enabled из спецификации AV1.
segmentation.feature_data[8]
Задает значения признаков сегментации. Это поле соответствует элементу синтаксиса, feature_value из спецификации AV1.
film_grain
Параметры плёнки.
film_grain.DUMMYUNIONNAME
film_grain.DUMMYUNIONNAME.apply_grain
Если значение равно 1, указывает, что к этому кадру следует добавить плёнку. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.scaling_shift_minus8
Сдвиг -8 применяется к значениям компонента хрома. Это поле соответствует элементу синтаксиса с именем grain_scaling_minus8 из спецификации AV1.
film_grain.DUMMYUNIONNAME.chroma_scaling_from_luma
Если значение равно 1, указывает, что масштабирование хрома выводится из масштабирования luma. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.ar_coeff_lag
Число коэффициентов автоматической регрессии для luma и chroma. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.ar_coeff_shift_minus6
Диапазон коэффициентов автоматической регрессии. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.grain_scale_shift
Указывает, насколько гауссовские случайные числа должны быть уменьшены в процессе синтеза grain. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.overlap_flag
Если значение равно 1, указывает, что должно применяться перекрытие между блоками плёнки. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.DUMMYUNIONNAME.clip_to_restricted_range
Если значение равно 1, указывает, что обрезка в ограниченном (студийном) диапазоне должна применяться к значениям выборки после добавления плёнки (см. семантику для color_range для объяснения студийных качели). Если значение равно 0, указывает, что после добавления плёнки к значениям образца применяется обрезка по полному диапазону.
film_grain.DUMMYUNIONNAME.matrix_coeff_is_identity
film_grain.DUMMYUNIONNAME.Reserved
Зарезервированные битовые поля для завершения упакованной структуры. Значение должно иметь значение 0. Ускоритель должен игнорировать значения в полях зарезервированных битов.
film_grain.DUMMYUNIONNAME.ControlFlags
Предоставляет альтернативный способ доступа к битовым полям, связанным с зернистой пленкой.
film_grain.grain_seed
Начальное значение для генератора псевдослучайных чисел, используемого для синтеза пленки. Это поле соответствует элементу синтаксиса с тем же именем из спецификации AV1.
film_grain.scaling_points_y[14]
Представляет координаты x,y для функции кускового линейного масштабирования для плоскости Y. Это 2D-массив. На каждом сегменте первое указанное значение — координата x (значение luma), а второе — значение масштабирования (y, выходные данные). Это поле соответствует элементу синтаксиса point_y_value из спецификации AV1.
film_grain.num_y_points
Число допустимых сегментов, указанных в scaling_points_y. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.scaling_points_cb[10]
Представляет координаты x,y для функции кускового линейного масштабирования для cb-плоскости. Это объемный массив. На каждом сегменте первым указанным значением является координата x (значение luma), а второе — значение масштабирования (y, выходные данные). Это поле соответствует элементу синтаксиса point_cb_value из спецификации AV1.
film_grain.num_cb_points
Число допустимых сегментов, указанных в scaling_points_cb. Это поле соответствует элементам синтаксиса с тем же именем из спецификации AV1.
film_grain.scaling_points_cr[10]
Представляет координаты x,y для функции кускового линейного масштабирования для cr-плоскости. Это объемный массив. На каждом сегменте первым указанным значением является координата x (значение luma), а второе — значение масштабирования (y, выходные данные). Это поле соответствует элементу синтаксиса point_cr_value из спецификации AV1.
film_grain.num_cr_points
Число допустимых сегментов, указанных в scaling_points_cr. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.ar_coeffs_y[24]
Коэффициенты автоматической регрессии для плоскости Y. Это поле соответствует элементу синтаксиса ar_coeffs_y_plus_128 из спецификации AV1.
film_grain.ar_coeffs_cb[25]
Коэффициенты автоматической регрессии для плоскости U. Это поле соответствует элементу синтаксиса ar_coeffs_cb_plus_128 из спецификации AV1.
film_grain.ar_coeffs_cr[25]
Коэффициенты автоматической регрессии для плоскости V. Это поле соответствует элементу синтаксиса ar_coeffs_cr_plus_128 из спецификации AV1.
film_grain.cb_mult
Множитель компонента Cb, используемый при производном входном индексе к функции масштабирования компонента. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.cb_luma_mult
Множитель, используемый для компонента luma в функции масштабирования компонента Cb. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.cr_mult
Множитель компонента Cr, используемый при наследовавии входного индекса в функцию масштабирования компонента. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.cr_luma_mult
Множитель, используемый для компонента luma в функции масштабирования компонента Cr. Это поле соответствует элементам синтаксиса с тем же именем из спецификации AV1.
film_grain.Reserved8Bits
Зарезервировано.
film_grain.cb_offset
Смещение, используемое при производном входном индексе от функции масштабирования компонента Cb. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
film_grain.cr_offset
Смещение, используемое при производном входном индексе от функции масштабирования компонента Cr. Это поле соответствует синтаксический элемент с тем же именем из спецификации AV1.
Reserved32Bits
Зарезервировано.
StatusReportFeedbackNumber
Произвольное число, заданное декодером узла для использования в качестве тега в данных обратной связи отчета о состоянии. Значение не должно быть равно 0 и должно отличаться в каждом вызове Execute. Дополнительные сведения см. в разделе Структура данных отчета о состоянии статьи Direct X Video Acceleration Specification for AV1 Video Coding (Структура данных отчета о состоянии) статьи Direct X Video Acceleration Specification for AV1 Video Coding (Кодирования видео av1).
Комментарии
Если ширина и высота являются производными от кадра (например, с помощью frame_size_override_flag), декодер узла получит соответствующие значения и сохранит результат в этих полях. Если включена функция superres , эти значения представляют разрешение кадров после масштабирования (в спецификации AV1 — UpscaledWidth).
Допустимые значения subsampling_x и subsampling_y ограничены значением профиля. В следующей таблице указаны допустимые значения для subsampling_x и subsampling_y, а также соответствующие форматы хрома.
subsampling_x | subsampling_y | Формат Chroma |
---|---|---|
1 | 1 | 4:2:0 |
1 | 0 | 4:2:2 |
0 | 0 | 4:4:4 |
Подробные сведения, в том числе об использовании этой структуры, см. в спецификации Direct X Video Acceleration Для кодирования видео AV1 .
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 |
Верхняя часть | dxva.h |