структура 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
Если суперрес включен, это поле указывает знаменатель для вычисления обновленной ширины кадра. Это соответствует значению SuperresDenom из спецификации AV1. Если суперрес не включен, это значение должно иметь значение 8.
bitdepth
Битовая глубина декодированных примеров luma и chroma. Допустимые значения ограничены значением профиля.
seq_profile
Профиль битового потока AV1. Это соответствует элементу синтаксиса: seq_profile. Формат кодирования видео AV1 определяет следующие профили:
Профиль | Значение |
---|---|
профиль 0 | Поддерживает выборку 4:2:0 с 8 или 10 битами на выборку и монохромные форматы. |
профиль 1 | Поддерживает выборку 4:4:4 chroma с 8 или 10 битами на выборку. |
профиль 2 | Поддерживает выборку 4:2:0, 4:2:2 или 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, указывает, что суперблоки содержат 128x128 примеров luma; в противном случае суперблоки содержат 64x64 luma samples. Это поле соответствует элементу синтаксиса того же имени из спецификации AV1.
coding.intra_edge_filter
Указывает, следует ли включить внутриграничный процесс фильтрации. Это поле соответствует элементу синтаксиса с именем enable_intra_edge_filter из спецификации AV1.
coding.interintra_compound
Если равно 1, указывает, что сведения о режиме для межблоков могут содержать элемент синтаксиса interintra; в противном случае элемент синтаксиса interintra не будет присутствовать. Это поле соответствует элементу синтаксиса с именем enable_interintra_compound из спецификации AV1.
coding.masked_compound
Если равно 1, указывает, что сведения о режиме для межблоков могут содержать элемент синтаксиса 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, указывает, что векторы движения указаны в восьмой точности пела; в противном случае векторы движения указываются в соответствии с точностью четверти pel. Это поле соответствует элементу синтаксиса с именем 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 (независимо от того, используются ли эти рисунки в процессе декодирования текущего кадра). Для упорядочивания записей в массиве RefFrameMapTextureIn dex не указан определенный порядок.
Заметка
Акселератор должен использовать содержимое 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, указывает, что отдельные разностные фильтры цикла отправляются для горизонтальных краев luma, вертикальных краев luma, ребер U и виртуальных ребер. Это поле соответствует элементу синтаксиса с именем 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]
Размер единиц восстановления цикла журнала 2 в единицах образцов в текущей плоскости. Элемент 0 соответствует плоскости luma, элемент 1 плоскости U и элемент 2 плоскости V. Это поле соответствует переменной log2(LoopRestorationSize[плоскость]) из спецификации 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
Квантизатор контроллера домена Y относительно base_qindex. Это поле соответствует DeltaQYDc из спецификации AV1.
quantization.u_dc_delta_q
Квантизатор контроллера домена U относительно base_qindex. Это поле соответствует DeltaQUDc из спецификации AV1.
quantization.v_dc_delta_q
Квантизатор виртуального контроллера домена относительно 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 | гладкий 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 применена к значениям компонента chroma. Это поле соответствует элементу синтаксиса с именем 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
Указывает, сколько случайных чисел Гаусиана следует уменьшить во время процесса синтеза зерна. Это поле соответствует элементу синтаксиса того же имени из спецификации 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 value), а второе — значение масштабирования (y, выходные данные). Это поле соответствует элементу синтаксиса point_y_value из спецификации AV1.
film_grain.num_y_points
Количество допустимых сегментов по фрагментам, указанным в scaling_points_y. Это поле соответствует элементу синтаксиса того же имени из спецификации AV1.
film_grain.scaling_points_cb[10]
Представляет координаты x,y для функции горизонтального линейного масштабирования для cb-плоскости. Это 2D-массив, на каждом сегменте по фрагментам первое указанное значение — координата x (luma value), а второе — значение масштабирования (y, выходные данные). Это поле соответствует элементу синтаксиса point_cb_value из спецификации AV1.
film_grain.num_cb_points
Количество допустимых сегментов по фрагментам, указанным в scaling_points_cb. Это поле соответствует элементам синтаксиса того же имени из спецификации AV1.
film_grain.scaling_points_cr[10]
Представляет координаты x,y для функции кусочного линейного масштабирования для цр-плоскости. Это 2D-массив, на каждом сегменте по фрагментам первое указанное значение — координата x (luma value), а второе — значение масштабирования (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 Для видеообращения AV1.
Замечания
Если ширину и высоту являются производными для кадра (например, через frame_size_override_flag), декодировщик узла будет получать соответствующие значения и хранить результат в этих полях. Если включена суперрес, эти значения представляют разрешение кадров после масштабирования (называемое в спецификации 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 для AV 1.
Требования
Требование | Ценность |
---|---|
минимальный поддерживаемый сервер | Windows Server 2022 |
заголовка | dxva.h |