Condividi tramite


DXVA_PicParams_AV1 struttura (dxva.h)

La struttura DXVA_PicParams_AV1 fornisce i parametri a livello di immagine di un'immagine compressa per la decodifica video AV1.

Sintassi

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_151d_60 y_strengths[8];
    union {
      struct {
        UCHAR primary : 6;
        UCHAR secondary : 2;
      };
      UCHAR  combined;
    };
    __unnamed_union_151d_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_151d_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;

Members

width

Larghezza codificata del frame corrente. Corrisponde all'elemento sintassi frame_width_minus_1. Vedere la sezione Osservazioni.

height

Altezza codificata del frame corrente. Corrisponde all'elemento sintassi frame_height_minus_1. Vedere la sezione Osservazioni.

max_width

max_height

CurrPicTextureIndex

Indice di buffer/superficie del frame di destinazione per l'immagine decodificata.

superres_denom

Quando viene abilitato il superres, questo campo specifica il denominatore per calcolare la larghezza del frame aggiornata. Corrisponde al valore SuperresDenom dalla specifica AV1. Quando le superre non sono abilitate, questo valore sarà 8.

bitdepth

Profondità bit dei campioni decodificati luma e chroma. I valori consentiti sono limitati dal valore del profilo.

seq_profile

Profilo del bitstream AV1. Corrisponde all'elemento sintassi: seq_profile. Il formato di codifica video AV1 definisce i profili seguenti:

Profilo Significato
profilo 0 Supporta il campionamento di 4:2:0 con 8 o 10 bit per esempio e formati monocromatici.
profilo 1 Supporta il campionamento di 4:4:4 chroma con 8 o 10 bit per esempio.
profilo 2 Supporta il campionamento 4:2:0, 4:2:2 o 4:4:4 a 8, 10 o 12 bit per esempio e formati monocromatici.

tiles

Contiene informazioni specifiche per i riquadri.

tiles.cols

Numero di riquadri in una cornice. Questo campo corrisponde a 2^TileColsLog2 dalla specifica AV1.

tiles.rows

Numero di riquadri verso il basso di una cornice. Questo campo corrisponde a 2^TileRowsLog2 dalla specifica AV1.

tiles.context_update_id

Specifica il riquadro da usare per l'aggiornamento CDF. Corrisponde all'elemento di sintassi denominato context_update_tile_id dalla specifica AV1.

tiles.widths[64]

Le larghezze di ogni riquadro, in unità di superblock. Sono valide solo le prime voci di 2^cols_log2. Questo campo corrisponde alla variabile tileWidthSb dalla specifica AV1.

tiles.heights[64]

Altezza di ogni riquadro, in unità di superblocks. Sono valide solo le prime 2^rows_log2 voci di altezza. Questo campo corrisponde alla variabile tileHeightSb dalla specifica AV1.

coding

Strumenti di codifica.

coding.use_128x128_superblock

Se uguale a 1, indica che i superblock contengono 128x128 campioni di luma; in caso contrario, i superblock contengono esempi di luma 64x64. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

coding.intra_edge_filter

Specifica se il processo di filtro intra edge deve essere abilitato. Questo campo corrisponde all'elemento sintassi denominato enable_intra_edge_filter dalla specifica AV1.

coding.interintra_compound

Se uguale a 1, indica che le informazioni sulla modalità per i blocchi inter blocchi possono contenere l'elemento sintassi interintra; in caso contrario, l'elemento sintassi interintra non sarà presente. Questo campo corrisponde all'elemento sintassi denominato enable_interintra_compound dalla specifica AV1.

coding.masked_compound

Se uguale a 1, indica che le informazioni sulla modalità per i blocchi inter possono contenere l'elemento sintassi compound_type; in caso contrario, l'elemento sintassi compound_type non sarà presente. Questo campo corrisponde all'elemento sintassi denominato enable_masked_compound dalla specifica AV1.

coding.warped_motion

Se uguale a 1, indica che l'elemento sintassi motion_mode può essere presente. Questo campo corrisponde all'elemento sintassi denominato allow_warped_motion dalla specifica AV1.

coding.dual_filter

Se uguale a 1, indica che il tipo di filtro tra stime può essere specificato in modo indipendente nelle direzioni orizzontali e verticali; in caso contrario, è possibile specificare un solo tipo di filtro. Questo campo corrisponde all'elemento sintassi denominato enable_dual_filter dalla specifica AV1.

coding.jnt_comp

Se uguale a 1, indica che il processo di pesi di distanza può essere usato per la stima inter. Questo campo corrisponde all'elemento sintassi denominato enable_jnt_comp dalla specifica AV1.

coding.screen_content_tools

Se uguale a 1, indica che i blocchi intra possono usare la codifica della tavolozza; in caso contrario, la codifica della tavolozza non verrà usata. Questo campo corrisponde all'elemento sintassi denominato allow_screen_content_tools dalla specifica AV1.

coding.integer_mv

Se uguale a 1, indica che i vettori di movimento saranno sempre interi. Questo campo corrisponde all'elemento sintassi denominato force_integer_mv dalla specifica AV1.

coding.cdef

Quando è uguale a 1, indica che è possibile abilitare il filtro Constrained Directional Enhancement Filter (CDEF). Questo campo corrisponde all'elemento sintassi denominato enable_cdef dalla specifica AV1.

coding.restoration

Se uguale a 1, indica che il filtro di ripristino del ciclo può essere abilitato. Questo campo corrisponde all'elemento sintassi denominato enable_restoration dalla specifica AV1.

coding.film_grain

Se uguale a 1, indica che l'elaborazione della grana del film può essere abilitata. Questo campo corrisponde all'elemento sintassi denominato film_grain_params_present dalla specifica AV1.

coding.intrabc

Se uguale a 1, indica che può essere usata la copia intra block. Questo campo corrisponde all'elemento sintassi denominato allow_intrabc dalla specifica AV1.

coding.high_precision_mv

Se uguale a 1, indica che i vettori di movimento vengono specificati in ottava precisione pel; in caso contrario, i vettori di movimento vengono specificati in precisione del quarto pel. Questo campo corrisponde all'elemento sintassi denominato allow_high_precision_mv dalla specifica AV1.

coding.switchable_motion_mode

Se uguale a 1, indica che è possibile usare solo la modalità di movimento SIMPLE. Questo campo corrisponde all'elemento sintassi denominato is_motion_mode_switchable dalla specifica AV1.

coding.filter_intra

Se uguale a 1, indica che l'elemento sintassi use_filter_intra può essere presente. Questo campo corrisponde all'elemento sintassi denominato enable_filter_intra dalla specifica AV1.

coding.disable_frame_end_update_cdf

Specifica se le matrici CDF vengono salvate nel processo di uscita del decodificatore simboli. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

coding.disable_cdf_update

Specifica se l'aggiornamento CDF nel processo di decodifica dei simboli deve essere disabilitato. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

coding.reference_mode

Controlla la modalità utilizzata per la stima del frame di riferimento. Può essere uno dei valori seguenti che corrispondono alla modalità di riferimento dal processo di decodifica AV1:

reference_mode Nome di reference_mode
0 SINGLE_REFERENCE
1 REFERENCE_MODE_SELECT

coding.skip_mode

Indica se la sintassi della modalità skip può essere specificata nella stima composta. Questo campo corrisponde all'elemento sintassi skip_mode_present dalla specifica AV1.

coding.reduced_tx_set

Specifica se il frame usa un set limitato di tipi di trasformazione. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

coding.superres

Specifica se il frame usa la risoluzione superiore. Questo campo corrisponde all'elemento sintassi denominato use_superres dalla specifica AV1.

coding.tx_mode

Specifica la modalità di determinazione delle dimensioni della trasformazione. Questo campo corrisponde alla variabile dello stesso nome dalla specifica AV1. Può assumere uno dei valori seguenti, come specificato nella specifica AV1:

Valore TxMode Nome di TxMode
0 ONLY_4X4
1 TX_MODE_LARGEST
2 TX_MODE_SELECT

coding.use_ref_frame_mvs

Specifica se i vettori di movimento del frame precedente devono essere utilizzati per il frame corrente. Questo campo corrisponde all'elemento della sintassi con lo stesso nome della specifica AV1.

coding.enable_ref_frame_mvs

Specifica se use_ref_frame_mvs è disabilitato per l'intera sequenza video; quando 0 use_ref_frame_mvs saranno sempre 0. Questo campo corrisponde all'elemento della sintassi dello stesso nome della specifica AV1 (dall'intestazione della sequenza).

coding.reference_frame_update

Indica che il processo di aggiornamento del frame di riferimento come specificato nella sezione 7.20 della specifica AV1 deve essere eseguito dopo la decodifica di questo frame. In caso contrario, è necessario eseguire la sezione 7.21.

coding.Reserved

Campi di bit riservati per completare la struttura compressa. Deve essere impostato su 0. L'acceleratore ignorerà i valori nei campi di bit riservati.

coding.CodingParamToolFlags

Fornisce un modo alternativo per accedere ai campi di bit correlati ai flag dello strumento di codifica.

format

Contiene informazioni sul formato e sull'immagine.

format.frame_type

Tipo di frame del frame corrente. Questo campo corrisponde all'elemento della sintassi dello stesso nome nella specifica AV1 e influisce di conseguenza sul processo di decodifica. I valori consentiti sono 0, 1, 2 o 3, per i quattro tipi di frame AV1: KEY_FRAME, INTER_FRAME, INTRA_ONLY_FRAME e S_FRAME.

format.show_frame

Indica se il frame corrente deve essere restituito e visualizzato dopo il completamento della decodifica. Questo campo corrisponde all'elemento della sintassi dello stesso nome nella specifica AV1 e influisce di conseguenza sul processo di decodifica. In DXVA, questo non ha alcun effetto diretto, poiché l'host controlla la visualizzazione di fotogrammi decodificati separatamente da altre chiamate di funzione.

format.showable_frame

Se è uguale a 1, specifica che il frame può essere restituito usando il meccanismo di show_existing_frame; in caso contrario uguale a zero, che specifica che questo frame non verrà restituito usando il meccanismo di show_existing_frame.

format.subsampling_x

Insieme a subsampling_y, indica il formato di campionamento cromatico. Vedere la sezione Osservazioni.

format.subsampling_y

Insieme a subsampling_x, indica il formato di campionamento cromatico. Vedere la sezione Osservazioni.

format.mono_chrome

Indica se il bitstream è monocromatico. Se 1 è presente solo un piano luma. Questo campo corrisponde all'elemento della sintassi con lo stesso nome della sintassi color config della specifica AV1. I valori consentiti sono limitati dal valore del profilo.

format.Reserved

Campi di bit riservati per completare la struttura compressa. Deve essere impostato su 0. L'acceleratore ignorerà i valori nei campi di bit riservati.

format.FormatAndPictureInfoFlags

Fornisce un modo alternativo per accedere ai campi di bit correlati al formato e alle informazioni sull'immagine.

primary_ref_frame

Specifica il frame di riferimento che contiene i valori CDF e altri stati da caricare all'inizio del frame. Questo campo viene 0x7 quando non è presente un frame di riferimento primario. Corrisponde all'elemento della sintassi con lo stesso nome della specifica AV1.

order_hint

Ordinamento dell'output del frame corrente. Corrisponde a OrderHint dalla specifica AV1.

order_hint_bits

Corrisponde all'elemento della sintassi denominato order_hint_bits_minus_1 nella specifica AV1. Questo campo è definito come: order_hint_bits_minus_1 + 1. Questo campo sarà 0 quando enable_order_hint dalla specifica AV1 è 0.

Quando questo valore è 0, non devono essere usati strumenti basati su OrderHint e il valore di order_hint non è definito. Quando non è zero, influisce sul calcolo della distanza relativa di conseguenza (vedere la funzione get_relative_dist dalla specifica AV1).

frame_refs[7]

RefFrameMapTextureIndex[8]

Matrice di superfici del buffer frame non compresso. Le voci che non verranno utilizzate per decodificare l'immagine corrente o le immagini successive sono indicate impostando questo valore su 0xFF. Se il valore non è 0xFF, la voce può essere usata come superficie di riferimento per decodificare l'immagine corrente o un'immagine successiva in ordine di decodifica.

Tutte le superfici non compresse che corrispondono ai fotogrammi che possono essere utilizzate per riferimento nel processo di decodifica dell'immagine corrente o qualsiasi immagine successiva deve essere presente nella matrice RefFrameMapTextureIndex (indipendentemente dal fatto che queste immagini vengano effettivamente utilizzate nel processo di decodifica del frame corrente). Non viene specificato alcun ordine specifico per l'ordinamento delle voci nella matrice RefFrameMapTextureIndex .

Nota

L'acceleratore deve usare il contenuto di RefFrameMapTextureIndex come fornito dall'acceleratore anziché tentare di derivare queste informazioni dal bitstream (per garantire un'operazione senza stato per la quale la gestione del buffer dei frame decodificato deve essere eseguita sotto il controllo dell'host anziché dedotto dal bitstream dall'acceleratore).

loop_filter

Struttura con parametri di filtro del ciclo.

loop_filter.filter_level[2]

Matrice contenente i valori di forza del filtro del ciclo. Corrisponde all'elemento della sintassi dello stesso nome nella specifica AV1 e influisce sui processi di decodifica del filtro di deblocking di conseguenza. Per altre informazioni, vedere sharpness_level campo.

loop_filter.filter_level_u

loop_filter.filter_level_v

loop_filter.sharpness_level

Indica il livello di nitidezza. I valori filter_level e sharpness_level determinano insieme quando viene filtrato un bordo del blocco e in base alla quantità di filtri che può modificare i valori di esempio. Il processo di filtro del ciclo è descritto nella sezione 7.14 della specifica AV1.

loop_filter.DUMMYUNIONNAME

loop_filter.DUMMYUNIONNAME.mode_ref_delta_enabled

Se è uguale a 1, indica che il livello di filtro dipende dalla modalità e dal frame di riferimento usato per stimare un blocco. Questo campo corrisponde all'elemento della sintassi denominato loop_filter_delta_enabled dalla specifica AV1.

loop_filter.DUMMYUNIONNAME.mode_ref_delta_update

Se uguale a 1, indica che sono presenti elementi di sintassi aggiuntivi che specificano la modalità e i delta dei frame di riferimento da aggiornare. Questo campo corrisponde all'elemento della sintassi denominato loop_filter_delta_update dalla specifica AV1.

loop_filter.DUMMYUNIONNAME.delta_lf_multi

Se uguale a 1, indica che i delta del filtro a ciclo separato vengono inviati per bordi luma orizzontali, bordi luma verticali, bordi U e bordi V. Questo campo corrisponde all'elemento della sintassi denominato delta_lf_multi dalla specifica AV1.

loop_filter.DUMMYUNIONNAME.delta_lf_present

Se è uguale a 1, indica che sono presenti delta del filtro ciclo. Questa operazione è necessaria per il processo di decodifica del filtro del ciclo: read_delta_lf(). Questo campo corrisponde all'elemento della sintassi denominato delta_lf_present dalla specifica AV1.

loop_filter.DUMMYUNIONNAME.Reserved

Campi di bit riservati per completare la struttura compressa. Deve essere impostato su 0. L'acceleratore ignorerà i valori nei campi di bit riservati.

loop_filter.DUMMYUNIONNAME.ControlFlags

Fornisce un modo alternativo per accedere ai campi di bit correlati ai flag di filtro del ciclo.

loop_filter.ref_deltas[8]

Corrisponde all'elemento di sintassi denominato loop_filter_ref_deltas nella specifica AV1 e influisce sui processi di decodifica del filtro del ciclo di conseguenza.

loop_filter.mode_deltas[2]

Corrisponde all'elemento di sintassi denominato loop_filter_mode_deltas nella specifica AV1 e influisce sul processo di decodifica del filtro del ciclo di conseguenza.

loop_filter.delta_lf_res

Spostamento sinistro che deve essere applicato ai valori differenziali del filtro del ciclo decodificato. Questo campo corrisponde all'elemento della sintassi con lo stesso nome della specifica AV1.

loop_filter.frame_restoration_type[3]

Modalità di ripristino del ciclo per questo frame. Questo campo corrisponde all'elemento della sintassi FrameRestorationType della specifica AV1. Può essere uno dei valori seguenti, che sono gli stessi valori specificati nella specifica AV1:

FrameRestorationType Nome di FrameRestorationType
0 RESTORE_NONE
1 RESTORE_WIENER
2 RESTORE_SGRPROJ
3 RESTORE_SWITCHABLE

loop_filter.log2_restoration_unit_size[3]

Dimensione log2 delle unità di ripristino del ciclo in unità di campioni nel piano corrente. L'elemento 0 corrisponde al piano luma, l'elemento 1 al piano U e l'elemento 2 al piano V. Questo campo corrisponde alla variabile log2(LoopRestorationSize[plane]) della specifica AV1.

loop_filter.Reserved16Bits

Campi di bit riservati per completare la struttura compressa. Deve essere impostato su 0. L'acceleratore ignorerà i valori nei campi di bit riservati.

quantization

Contiene informazioni sulla quantizzazione.

quantization.DUMMYUNIONNAME

quantization.DUMMYUNIONNAME.delta_q_present

Specifica se sono presenti i valori differenziali dell'indice quantizero. Questo campo corrisponde all'elemento della sintassi con lo stesso nome della specifica AV1.

quantization.DUMMYUNIONNAME.delta_q_res

Spostamento sinistro, che deve essere applicato ai valori differenziali dell'indice quantificatore decodificato. Questo campo corrisponde all'elemento della sintassi con lo stesso nome della specifica AV1.

quantization.DUMMYUNIONNAME.Reserved

Campi bit riservati per completare la struttura con pacchetto. Deve essere impostato su 0. L'acceleratore ignora i valori nei campi bit riservati.

quantization.DUMMYUNIONNAME.ControlFlags

Fornisce un modo alternativo per accedere ai campi bit correlati alla quantizzazione.

quantization.base_qindex

Indica il qindex del frame di base. Questo campo corrisponde all'elemento sintassi denominato base_q_idx dalla specifica AV1.

quantization.y_dc_delta_q

Quantizzatore dc Y rispetto al base_qindex. Questo campo corrisponde a DeltaQYDc dalla specifica AV1.

quantization.u_dc_delta_q

Quantizzatore dc U rispetto a base_qindex. Questo campo corrisponde a DeltaQUDc dalla specifica AV1.

quantization.v_dc_delta_q

Quantizer DC V relativo all'base_qindex. Questo campo corrisponde a DeltaQVDc dalla specifica AV1.

quantization.u_ac_delta_q

Quantizzatore ac U rispetto a base_qindex. Questo campo corrisponde a DeltaQUAc dalla specifica AV1.

quantization.v_ac_delta_q

Quantizzatore ac V relativo alla base_qindex. Questo campo corrisponde a DeltaQVAc dalla specifica AV1.

quantization.qm_y

Livello nella matrice quantizer che deve essere usato per la decodifica del piano luma. Quando non specificato (using_qmatrix=0), questo campo verrà 0xFF (che è un livello di matrice quantizer non valido). Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

quantization.qm_u

Livello nella matrice quantizer che deve essere usato per la decodifica del piano U. Quando non specificato (using_qmatrix=0), questo campo verrà 0xFF (che è un livello di matrice quantizer non valido). Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

quantization.qm_v

Livello nella matrice quantizer che deve essere usato per la decodifica del piano V. Quando non specificato (using_qmatrix=0), questo campo verrà 0xFF (che è un livello di matrice quantizer non valido). Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

quantization.Reserved16Bits

Riservato.

cdef

Parametri del filtro di miglioramento direzionale vincolato (CDEF).

cdef.DUMMYUNIONNAME

cdef.DUMMYUNIONNAME.damping

Controlla la quantità di umidità nel filtro di deringing. Questo campo corrisponde alla variabile denominata cdef_damping_minus_3 dalla specifica AV1.

cdef.DUMMYUNIONNAME.bits

Numero di bit usati per segnalare l'impostazione del filtro CDEF. Questo campo corrisponde all'elemento sintassi denominato cdef_bits dalla specifica AV1.

cdef.DUMMYUNIONNAME.Reserved

Campi bit riservati per completare la struttura con pacchetto. Deve essere impostato su 0. L'acceleratore ignora i valori nei campi bit riservati.

cdef.DUMMYUNIONNAME.ControlFlags

Fornisce un modo alternativo per accedere ai campi bit correlati ai parametri CDEF.

cdef.primary

Forza di filtro primaria per il canale y. Questo campo corrisponde a cdef_y_pri_strength dalla specifica AV1.

cdef.secondary

Forza del filtro secondario per il canale y. Questo campo corrisponde a cdef_y_sec_strength dalla specifica AV1.

cdef.combined

Fornisce un modo alternativo per accedere ai bit primari e secondari y_strengths.

cdef.y_strengths[8]

I punti di forza del filtro primario e secondario per il canale y.

cdef.uv_strengths[8]

I punti di forza del filtro primario e secondario per i canali UV. Corrisponde agli elementi di cdef_uv_pri_strength e cdef_uv_sec_strength sintassi dalla specifica AV1.

interp_filter

Corrisponde allo stesso elemento sintassi dello stesso nome nella specifica AV1 e influisce sul processo di decodifica dell'interpolazione del movimento di conseguenza. La tabella seguente mostra i valori possibili di interp_filter.

Valore Tipo di filtro
0 normale 8 tocco
1 tocco uniforme a 8
2 nitido 8 tocco
3 Bilineare
4 tutti i filtri

segmentation

Parametri di segmentazione.

segmentation.DUMMYUNIONNAME

segmentation.DUMMYUNIONNAME.enabled

Se uguale a 1, indica che questo frame usa lo strumento di segmentazione. Questo campo corrisponde all'elemento sintassi denominato segmentation_enabled dalla specifica AV1.

segmentation.DUMMYUNIONNAME.update_map

Se uguale a 1, indica che la mappa di segmentazione viene aggiornata durante la decodifica di questo frame. Questo campo corrisponde all'elemento sintassi denominato segmentation_update_map dalla specifica AV1.

segmentation.DUMMYUNIONNAME.update_data

Se uguale a 1, indica che vengono forniti nuovi parametri per ogni segmento. Questo campo corrisponde all'elemento di sintassi denominato segmentation_update_data dalla specifica AV1.

segmentation.DUMMYUNIONNAME.temporal_update

Quando uguale a 1, indica che gli aggiornamenti della mappa di segmentazione vengono codificati rispetto alla mappa di segmentazione esistente. Questo campo corrisponde all'elemento sintassi denominato segmentation_temporal_update dalla specifica AV1.

segmentation.DUMMYUNIONNAME.Reserved

Campi bit riservati per completare la struttura con pacchetto. Deve essere impostato su 0. L'acceleratore ignora i valori nei campi bit riservati.

segmentation.DUMMYUNIONNAME.ControlFlags

Fornisce un modo alternativo per accedere ai campi bit correlati alla segmentazione.

segmentation.Reserved24Bits[3]

Riservato.

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]

Specifica le funzionalità dei dati del segmento aggiornate in questo frame. Questo campo corrisponde all'elemento sintassi feature_enabled dalla specifica AV1.

segmentation.feature_data[8]

Specifica i valori delle funzionalità di segmentazione. Questo campo corrisponde all'elemento sintassi feature_value dalla specifica AV1.

film_grain

Parametri di granularità del film.

film_grain.DUMMYUNIONNAME

film_grain.DUMMYUNIONNAME.apply_grain

Se uguale a 1, indica che la grana del film deve essere aggiunta a questa cornice. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.scaling_shift_minus8

Maiusc -8 applicato ai valori del componente chroma. Questo campo corrisponde all'elemento sintassi denominato grain_scaling_minus8 dalla specifica AV1.

film_grain.DUMMYUNIONNAME.chroma_scaling_from_luma

Quando è uguale a 1, specifica che il ridimensionamento del croma viene dedotto dal ridimensionamento luma. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.ar_coeff_lag

Numero di coefficienti regressivi automatici per luma e chroma. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.ar_coeff_shift_minus6

Intervallo di coefficienti regressivi automatici. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.grain_scale_shift

Specifica la quantità di numeri casuali di Gaussian che devono essere ridimensionati durante il processo di sintesi della granularità. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.overlap_flag

Se uguale a 1, indica che la sovrapposizione tra blocchi di grana del film deve essere applicata. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.DUMMYUNIONNAME.clip_to_restricted_range

Se uguale a 1, indica che il ritaglio all'intervallo con restrizioni (studio) deve essere applicato ai valori di esempio dopo aver aggiunto la granularità del film (vedere la semantica per color_range per una spiegazione dello swing di studio). Se uguale a 0, indica che il ritaglio all'intervallo completo deve essere applicato ai valori di esempio dopo aver aggiunto il granularità del film.

film_grain.DUMMYUNIONNAME.matrix_coeff_is_identity

film_grain.DUMMYUNIONNAME.Reserved

Campi bit riservati per completare la struttura con pacchetto. Deve essere impostato su 0. L'acceleratore ignora i valori nei campi bit riservati.

film_grain.DUMMYUNIONNAME.ControlFlags

Fornisce un modo alternativo per accedere ai campi bit correlati al granularità del film.

film_grain.grain_seed

Valore iniziale per il generatore di numeri pseudo-casuali utilizzato per la sintesi della grana del film. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.scaling_points_y[14]

Rappresenta le coordinate x,y per la funzione di ridimensionamento lineare a pezzi per il piano y. Si tratta di una matrice 2D, in ogni segmento a pezzi il primo valore specificato è la coordinata x (valore luma) e il secondo valore è il valore di ridimensionamento (y, output). Questo campo corrisponde all'elemento sintassi point_y_value dalla specifica AV1.

film_grain.num_y_points

Numero di segmenti a pezzi validi specificati in scaling_points_y. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.scaling_points_cb[10]

Rappresenta le coordinate x,y per la funzione di ridimensionamento lineare a pezzi per il piano cb. Si tratta di una matrice 2D, in ogni segmento a pezzi il primo valore specificato è la coordinata x (valore luma) e il secondo valore è il valore di ridimensionamento (y, output). Questo campo corrisponde all'elemento sintassi point_cb_value dalla specifica AV1.

film_grain.num_cb_points

Numero di segmenti a pezzi validi specificati in scaling_points_cb. Questo campo corrisponde agli elementi della sintassi dello stesso nome dalla specifica AV1.

film_grain.scaling_points_cr[10]

Rappresenta le coordinate x,y per la funzione di ridimensionamento lineare a pezzi per il piano cr. Si tratta di una matrice 2D, in ogni segmento a pezzi il primo valore specificato è la coordinata x (valore luma) e il secondo valore è il valore di ridimensionamento (y, output). Questo campo corrisponde all'elemento sintassi point_cr_value dalla specifica AV1.

film_grain.num_cr_points

Numero di segmenti a pezzi validi specificati in scaling_points_cr. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.ar_coeffs_y[24]

Coefficienti di regressione automatica per il piano Y. Questo campo corrisponde all'elemento sintassi ar_coeffs_y_plus_128 dalla specifica AV1.

film_grain.ar_coeffs_cb[25]

Coefficienti di regressione automatica per il piano U. Questo campo corrisponde all'elemento sintassi ar_coeffs_cb_plus_128 dalla specifica AV1.

film_grain.ar_coeffs_cr[25]

Coefficienti di regressione automatica per il piano V. Questo campo corrisponde all'elemento sintassi ar_coeffs_cr_plus_128 dalla specifica AV1.

film_grain.cb_mult

Moltiplicatore per il componente Cb usato nella derivazione dell'indice di input alla funzione di ridimensionamento dei componenti. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.cb_luma_mult

Moltiplicatore usato per il componente luma nella funzione di ridimensionamento del componente Cb. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.cr_mult

Moltiplicatore per il componente Cr usato nella derivazione dell'indice di input alla funzione di ridimensionamento dei componenti. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.cr_luma_mult

Moltiplicatore usato per il componente luma nella funzione di ridimensionamento dei componenti Cr. Questo campo corrisponde agli elementi della sintassi dello stesso nome dalla specifica AV1.

film_grain.Reserved8Bits

Riservato.

film_grain.cb_offset

Offset usato nella derivazione dell'indice di input alla funzione di ridimensionamento del componente Cb. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

film_grain.cr_offset

Offset usato nella derivazione dell'indice di input alla funzione di ridimensionamento dei componenti Cr. Questo campo corrisponde all'elemento sintassi dello stesso nome dalla specifica AV1.

Reserved32Bits

Riservato.

StatusReportFeedbackNumber

Numero arbitrario impostato dal decodificatore host da usare come tag nei dati di feedback del report di stato. Il valore non deve essere uguale a 0 e deve essere diverso in ogni chiamata a Esegui. Per altre informazioni, vedere la sezione Struttura dei dati del report di stato nella specifica di accelerazione video Direct X per la codifica video AV1.

Commenti

Se la larghezza e l'altezza sono derivate per il frame (ad esempio tramite il frame_size_override_flag), il decodificatore host deriva i valori appropriati e archivia il risultato in questi campi. Se le superres sono abilitate, questi valori rappresentano la risoluzione dei fotogrammi post-ridimensionata (definita nella specifica AV1 come UpscaledWidth).

I valori consentiti di subsampling_x e subsampling_y sono vincolati dal valore del profilo. La tabella seguente specifica i valori consentiti per subsampling_x e subsampling_y e i formati chroma associati.

subsampling_x subsampling_y Formato Chroma
1 1 4:2:0
1 0 4:2:2
0 0 4:4:4

Per informazioni dettagliate, vedere La specifica di accelerazione video Direct X per la codifica video AV1 , tra cui come usare questa struttura.

Requisiti

Requisito Valore
Server minimo supportato Windows Server 2022
Intestazione dxva.h