Condividi tramite


Elaborazione video ad alta definizione DXVA - VideoProcessing

Questo test manuale esegue test case nei casi seguenti: IDXVAHD_VideoProcessor::SetVideoProcessBltState, IDXVAHD_VideoProcessor::GetVideoProcessBltState, IDXVAHD_VideoProcessor::SetVideoProcessStreamState, IDXVAHD_VideoProcessor::GetVideoProcessStreamState e IDXVAHD_VideoProcessor::VideoProcessBltHD.

Per informazioni dettagliate su tutti i test case, vedere la sezione "Informazioni di supporto" di seguito. La maggior parte dei test case presenti sullo schermo mentre un'utilità esegue la post-elaborazione dei fotogrammi per il confronto. La maggior parte dei test case applica un > PSNR 20.0f tra i frame elaborati dal software e dall'hardware. Per alcuni test case, la soglia viene ridotta a causa della mancanza di supporto di alcuni filtri e funzionalità nell'implementazione del software.

Il test per la maggior parte mostra solo un conteggio degli errori di superamento dell'incremento di una finestra simile a ticker e mostra le variabili del test case su cui viene eseguita l'iterazione.

Dettagli del test

   
Specifiche
  • Device.Graphics.WDDM11.Render.DXVAHD.DXVAHD
Piattaforme
  • Windows 10, edizioni client (x86)
  • Windows 10, edizioni client (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edizioni client (Arm64)
Versioni supportate
  • Windows 10
  • Windows 10 versione 1511
  • Windows 10 versione 1607
  • Windows 10 versione 1703
  • Windows 10, versione 1709
  • Windows 10, versione 1803
  • Windows 10, versione 1809
  • Windows 10, versione 1903
  • Eseguire quindi l'aggiornamento a Windows 10
Tempo di esecuzione previsto (in minuti) 2
Categoria Compatibilità
Timeout (in minuti) 120
Richiede il riavvio false
Richiede una configurazione speciale false
Tipo automatic

 

Documentazione aggiuntiva

I test in questa area di funzionalità potrebbero avere documentazione aggiuntiva, inclusi i prerequisiti, la configurazione e le informazioni sulla risoluzione dei problemi, disponibili negli argomenti seguenti:

Esecuzione del test

Prima di eseguire il test, completare la configurazione di test come descritto nei requisiti di test: Adattatore grafico o Prerequisiti di test del chipset.

Inoltre, questo test richiede il software seguente:

  • Driver di visualizzazione che supporta D3DCAPS3_DXVAHD D3D9Caps.Caps3. In particolare:

    • D3D9 supporta l'esposizione di D3DCAPS3_DXVAHD.

    • Formati di output obbligatori: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8.

    • Formati di input obbligatori: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_YUY2, D3DFMT_AYUV ed eventuali destinazioni di rendering decodifica supportate.

  • dxvahdsw.dll.

Risoluzione dei problemi relativi

Per la risoluzione generica degli errori di test HLK, vedere Risoluzione dei problemi di test di Windows HLK.

Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi a Device.Graphics Testing.

Questo test per la maggior parte mostra solo un conteggio degli errori di superamento di una finestra simile a ticker e mostra le variabili del test case su cui viene eseguita l'iterazione.

Il test restituirà Pass o Fail. Il test potrebbe restituire SKIP se il driver non espone D3DCAPS3_DXVAHD. Altri test case possono ignorare in base al supporto dello stato del flusso, ai limiti di telecine inversa, ai limiti di filtro, ai limiti di funzionalità e ai formati supportati. Per esaminare i dettagli dei test, esaminare il log di test da DTM Studio.

Altre informazioni

Dopo ogni setVideoProcessBltState, chiamare il metodo GetVideoProcessBltState corrispondente. La chiamata garantisce la creazione di report appropriati, quindi elabora e presenta fotogrammi rispetto ai frame di riferimento per l'accuratezza. La maggior parte degli oggetti BltState viene ciclica per ogni ciclo completo di un determinato oggetto BltState, quindi di nuovo per ogni StreamState valido. Tuttavia, alcune permutazioni non sono necessarie.

  • Verificare i tipi di dati non validi passati a SetVideoProcessBltState e GetVideoProcessBltState restituiscono E_INVALIDARG.

  • DXVAHD_BLT_STATE_TARGET_RECT_DATA

    • Verificare che la limitazione dei dati per rettificare una superficie di output inferiore alla superficie di output restituisca un ridimensionamento corretto.

    • Verificare che una rettifica più grande della superficie di output restituisca un frame espanso.

    • Verificare quando i dati dei rect di destinazione sono impostati e Abilita contrassegnati come false, che viene usata l'intera superficie.

    • Elaborare un frame con dati di rettifica di destinazione e Abilita impostato su false. Elaborare quindi un altro frame con dati di destinazione rieseguiti, espansi o spostati e Abilita è true. Verificare la scala della superficie o spostarsi di conseguenza.

    • Verificare Che il set di dati predefinito non restituisca l'intera superficie in uso.

  • DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA

    • Verificare che il valore predefinito sia RGB Nero.

    • Se YCbCr è impostato su true, verificare che l'intervallo di colori corretto per lo sfondo sia effettivamente presentato.

    • Verificare l'arancione RGB (255.165, 0) insieme al valore nero predefinito con valori alfa per RGB e YcbCr

    • con DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA

      • Verificare che se viene utilizzato Il colore di sfondo di YCbCr e ColorSpaceData è full RGB_Range, l'intervallo completo RGB viene ignorato e viene utilizzato l'intervallo limitato corretto per l'impostazione Matrix e xvYCC specificata.
    • con DXVAHD_BLT_STATE_ALPHA_FILL

      • Verificare il valore alfa del colore di sfondo specificato quando DXVAHD_ALPHA_FILL_MODE_BACKGROUND viene usato in colori di sfondo diversi.
  • DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA

    • Verificare che utilizzo predefinito, RGB_Range, YCbCr_Matrix e YCbCr_xvYCC siano tutti impostati su 0.

    • Verificare che la limitazione RGB_Range limiti correttamente l'intervallo di colori a 16..235.

    • Verificare che BT.709 aumenti correttamente luma e chroma di conseguenza.

    • xvYCC estende correttamente l'intervallo di colori. Questa convalida è un caso speciale, perché il processore video di riferimento non supporta alcuna superficie di output diversa da XRGB. La convalida di questa operazione è difficile e il processo verrà documentato in un secondo momento.

    • Verificare se DXVAHD_VPDEVCAPS. DeviceCaps non ha DXVAHD_DEVICE_CAPS_xvYCC. Convalidare YCbCr_xvYCC non modifica le impostazioni e viene effettivamente ignorato.

    • La tolleranza è inizialmente flessibile, ma la percentuale iniziale di precisione dei pixel è del 90%.

  • DXVAHD_BLT_STATE_ALPHA_FILL_DATA

    • Verificare che le superfici di output non del formato Alfa siano invariate.

    • Verificare che le superfici di output del formato Alfa applichino correttamente i valori alfa al colore.

    • Verificare che la modalità predefinita regola correttamente i valori alfa di sfondo.

      Testare la superficie di input del formato nonalpha con una superficie di output di formato alfa. Convalidare la correttezza alfa con precisione flessibile, inizialmente con precisione al 90%.

  • DXVAHD_BLT_STATE_CONSTRICTION_DATA

    • A causa della mancanza di supporto nel driver di riferimento per il corso della constrizione M2, i test case devono essere convalidati al di fuori del confronto diretto 1:1 per le dimensioni campionate valide.

    • Verificare la correttezza del campionamento verso il basso nella superficie di output.

    • Se la dimensione è maggiore della destinazione, verificare che la constrizione sia limitata alle dimensioni del rect di destinazione.

    • Provare a impostare le dimensioni su 0,* e *, 0 convalidare il valore restituito E_INVALIDARG.

    • Se DXVAHD_VPDEVCAPS. FeatureCaps non espone DXVAHD_FEATURE_CAPS_CONSTRICTION, quindi verificare che venga restituito l'errore E_INVALIDARG quando si tenta di impostare Constriction.

    • Verificare che Valore predefinito rappresenti disabilitato. Se disabilitato viene contrassegnato e viene specificata una dimensione, il valore della dimensione viene ignorato.

  • DXVAHD_BLT_STATE_PRIVATE_DATA

    • Passare GUID, DataSize e pData non validi. Verificare che il driver gestisca di conseguenza.

    • Null pData recupera le dimensioni corrette dello stato blt privato.

  • Verificare i tipi di dati non validi passati a SetVideoProcessStreamState e GetVideoProcessStreamState restituiscono E_INVALIDARG.

  • DXVAHD_STREAM_STATE_D3DFORMAT_DATA

    • Convalidare tutti i formati supportati segnalati da GetVideoProcessorInputFormats.

    • Convalidare un formato non supportato in GetVideoProcessorInputFormats.

    • Verificare che D3DFORMAT predefinito sia D3DFMT_UNKNOWN.

  • DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA

    • Verificare che il valore predefinito sia Progressivo.

    • Verificare che i formati progressivi e interlacciati vengano presentati di conseguenza.

    • Se DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED non viene segnalato come supportato da DXVAHD_VPDEVCAPS. InputFormatCaps, verificare che l'uso di DXVAHD_FRAME_FORMAT_INTERLACED_* usi per impostazione predefinita l'uso di Progressive.

  • DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA

    • Verificare i valori predefiniti.

    • Verificare che la limitazione RGB_Range limiti correttamente l'intervallo di colori a 16..235.

    • Se DXVAHD_VPDEVCAPS. InputFormatCaps non segnala il supporto per DXVAHD_INPUT_FORMAT_CAPS_RGB_LIMITED_RANGE, verificare che quando RGB_Range è 1, viene ignorato e viene usato FullRange.

      • La convalida dell'intervallo limitato non è possibile con un confronto 1:1 con il riferimento. È possibile che sia possibile convalidare liberamente i bianchi e i neri per verificare che l'intervallo di colori sia stato limitato di conseguenza.
    • Verificare che BT.709 aumenti correttamente luma e il campionamento cromatico.

    • xvYCC estende correttamente l'intervallo di colori.

    • Verificare che se DXVAHD_VPDEVCAPS. DeviceCaps non segnala il supporto per xvYCC.

    • Se possibile, e se viene specificata l'elaborazione, convalidare un aumento delle prestazioni di conversione dei colori.

    • Verificare se DXVAHD_VPDEVCAPS. DeviceCaps non ha DXVAHD_DEVICE_CAPS_xvYCC. Convalidare YCbCr_xvYCC non modifica le impostazioni e viene effettivamente ignorato.

  • DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA

    • Testare e convalidare i valori predefiniti (si verifica in particolare l'interpolazione).

    • Testare sia NormalRate che HalfRate, verificando che NormalRate sia interlacciato da 2:1 a progressivo e HalfRate sia 1:1 interlacciato a progressivo.

    • Verificare tutti gli oggetti CustomRates se GetVideoProcessorCustomRates espone uno qualsiasi.

      • Specificare le frequenze di telecine inversa

        • Il supporto ITELECINE non sarà disponibile nel processore video di riferimento, quindi il confronto diretto è impossibile. Per la convalida, viene generato un frame di telecine e passato al riferimento. Il fotogramma non telecine viene quindi elaborato e confrontato con quello dei fotogrammi forniti dal frame di telecine.
    • Testare CustomRate non supportato, sia interpolato che ripetuto.

    • Testare customRate non supportato sia a NormalRate che a HalfRate. Verificare che venga restituito E_INVALIDARG errore.

    • Verificare che customRates supportati non siano impostati correttamente, a meno che non venga specificato DXVAHD_OUTPUT_RATE_CUSTOM.

  • DXVAHD_STREAM_STATE_SOURCE_RECT_DATA

    • Verificare che la limitazione dei dati per la correzione di una superficie di input inferiore alla superficie di input restituisca un ridimensionamento corretto.

    • Verificare che una rettifica più grande della superficie di input restituisca che le aree ritagliate siano trasparenti.

    • Verificare quando i dati di correzione dell'origine sono impostati e Abilita contrassegnati come false, viene usata l'intera superficie.

    • Dopo l'elaborazione di un fotogramma con dati di correzione di origine e Enable è false, viene elaborato un secondo fotogramma con i dati di correzione dell'origine e Abilita è true, verificare che la superficie sia visibile e ridimensionata in base alle dimensioni del rect alla superficie di input.

    • Verificare Che il set di dati predefinito non restituisca l'intera superficie in uso.

  • DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA

    • Verificare che la limitazione dei dati per rettificare una superficie di output inferiore alla superficie di output restituisca un ridimensionamento corretto.

    • Verificare che una rettifica più grande della superficie di output restituisca che le aree ritagliate vengano ritagliate.

    • Verificare quando i dati della correzione di destinazione sono impostati e Abilita contrassegnati come false, viene usata l'intera superficie.

    • Dopo l'elaborazione di un fotogramma con i dati dei rect di destinazione e Enable è false, viene elaborato un secondo fotogramma con i dati dei rect di destinazione e Enable è true, verificare che la superficie di output sia visibile e ridimensionata in base alle dimensioni del rect all'area di output.

    • Verificare Che il set di dati predefinito non restituisca l'intera superficie in uso.

  • DXVAHD_STREAM_STATE_ALPHA_DATA

    • Tutti i test case alfa richiedono più di un flusso video, quindi moltiplicando questi test case per due.

    • Verificare che i valori predefiniti alfa siano disabilitati.

    • Verificare la fusione alfa intervallo bassa, media e alta e verificare la trasparenza.

    • Verificare che il valore alfa float fuori intervallo non riesca durante l'elaborazione.

    • Il livello di tolleranza per la precisione dei pixel è pari al 10%. La precisione deve essere maggiore o uguale all'accuratezza del 90%.

  • DXVAHD_STREAM_STATE_PALETTE_DATA

    • Senza voci di tavolozza impostate, verificare che il valore Null restituisca zero.

    • Con un numero specifico di voci della tavolozza impostate, verificare che il valore Null restituisca il numero previsto di voci della tavolozza.

    • Testare sia i formati quattroCC a 4 bit che a 8 bit.

    • Impostare sia ARGB che AYUV misto matrice di voci di tavolozza convalidare l'esito positivo.

    • Verificare che la fusione corretta si verifichi quando viene usata con la fusione alfa.

    • Il livello di tolleranza per la precisione dei pixel è pari al 10%. La precisione deve essere maggiore o uguale all'accuratezza del 90%.

  • DXVAHD_STREAM_STATE_CLEAR_RECT_DATA

    • Se DXVAHD_VPDEVCAPS. FeatureCaps non espone DXVAHD_FEATURE_CAPS_CLEAR_RECT, verificare che venga restituito E_INVALIDARG di errore quando si verifica un tentativo di usare ClearRects.

    • Verificare che lo stato predefinito CLEAR RECT sia disabilitato e non visibile.

    • Verificare che non sia visibile CLEAR_RECT All'esterno del destrect.

    • Verificare che CLEAR_RECT All'esterno del destrect sia stato ritagliato correttamente.

  • DXVAHD_STREAM_STATE_LUMA_KEY_DATA

    • Se DXVAHD_VPDEVCAPS. FeatureCaps non espone DXVAHD_FEATURE_CAPS_LUMA_KEY, verificare che venga restituito l'errore E_INVALIDARG.

    • Quando viene usato il flusso di input RGB e DXVAHD_VPDEVCAPS. FeatureCaps non espone DXVAHD_FEATURE_CAPS_RGB_LUMA_KEY, verificare che nessun luma venga ignorato.

    • Verificare se Enable è impostato su false, luma viene ignorato.

    • Verificare i valori non compresi nell'intervallo per i risultati inferiori e superiori in caso di errore durante l'impostazione dello stato (E_INVALIDARG).

    • Verificare che il valore predefinito sia Luma disabilitato e i valori per Lower/Upper siano 0.

    • Il livello di tolleranza per la precisione dei pixel è pari al 10%. La precisione deve essere maggiore o uguale all'accuratezza del 90%.

  • DXVAHD_STREAM_STATE_FILTER_DATA

    • Verificare i valori predefiniti (Disabilitato e DXVAHD_FILTER_RANGE_DATA. Impostazione predefinita).

    • Verificare quando Abilitato e Level è predefinito che il flusso presentato è uguale a quando il filtro è abilitato.

    • Verificare Livello minore e maggiore di GetVideoProcessorFilterRange segnalato. Maggiore di deve avere esito negativo con E_INVALIDARG.

    • Il livello di tolleranza per la precisione dei pixel è pari al 10%. La precisione deve essere maggiore o uguale all'accuratezza del 90%.

  • DXVAHD_STREAM_STATE_PRIVATE_DATA

    • Passare GUID, DataSize e pData non validi. Verificare che il driver gestisca di conseguenza.

    • Null pData recupera le dimensioni corrette dello stato blt privato.

Verificare che VideoProcessBltHD in pOutputSurface dei tipi di superficie seguenti siano riusciti.

  • Surface predefinito usato sarà una catena di scambio.

  • DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT

  • RENDERTARGET

  • Catena di scambio overlay.

  • Catene di scambio di tutti gli altri tipi.

  • Formati pixel di output e superficie di input supportati standard, nonché formati di output e superficie di input indicati come supportati per il dispositivo specificato.

Verificare che un valore outputframe pari a 1 o superiore, prima dell'elaborazione del frame 0, restituisca E_INVALIDARG.

Convalidare l'elaborazione di OutputFrame 0 due volte in una riga, senza modifiche ai dati del flusso, comporta un frame sospeso.

Convalidare l'elaborazione del frame di output 0 due volte, con modifiche ai dati del flusso, determina comunque la presentazione dei dati memorizzati nella cache (frame sospeso).

Verificare che l'elaborazione di max, mid e min number of streams sia riuscita.

Verificare che StreamCount sia maggiore o minore del numero di pStreams restituisca E_INVALIDARG.

Verificare che StreamCount sia pari a zero risultati in E_INVALIDARG.

DXVAHD_STREAM_DATA: tasso normale/mezzo progressivo, progressivo a 2/1, interlacciato a velocità normale, interlacciato a metà tasso, interlacciato a 4/5

  • Abilitare un flusso per verificare il contenuto presentato.

  • Due flussi, il flusso principale abilitato con il flusso secondario disabilitato. Verificare il contenuto presentato.

  • Due flussi, flusso principale e sotto-flusso abilitato. Verificare il contenuto presentato.

  • Tre flussi, due flussi usati per comporre sia il flusso principale abilitato che il terzo flusso come flusso secondario disabilitato. Verificare il contenuto presentato.

  • Tre flussi, due flussi usati per comporre il flusso principale abilitata uno disabilitato e il terzo come flusso secondario disabilitato. Verificare il contenuto presentato.

  • Tre flussi, due flussi usati per comporre sia il flusso principale abilitato che il terzo flusso come flusso secondario abilitato. Verificare il contenuto presentato.

  • Tre flussi, due flussi usati per comporre il flusso principale abilitata uno disabilitato e un terzo flusso come sotto-flusso abilitato. Verificare il contenuto presentato.

  • PastFrame e FutureFrame out-of-range.

  • PastFrame e FutureFrame non validi, in base a PastSurfaces e FutureSurfaces specificati.

  • Null PastSurfaces e FutureSurfaces, con pastframe diversi da zero con futureframe.

  • Tutte le permutazioni di DXVAHD_SURFACE_TYPE_VIDEO_INPUT, DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE, Decode RenderTarget e una superficie normale fuori schermo su ppPastSurfaces, pInputSurfaces, ppFutureSurfaces.

  • Verificare che ppPastSurfaces, pInputSurfaces, ppFutureSurfaces di un oggetto SurfaceType non supportato restituisca E_INVALIDARG.

  • Convalidare le superfici allocate al pool di memoria di tipo diverso da DXVAHD_VPDEVCAPS. InputPool restituisce E_INVALIDARG.

Sintassi dei comandi

Opzione di comando Descrizione

DXVAHDVideoProcessing VideoProcessing

Senza opzioni, il test enumera tutti i test case di argomenti estremamente non validi.

TestPriority:[0, 1, 2]

Per impostazione predefinita, i test con priorità 1 livello tuttavia la priorità 2 verificherà ogni permutazione, inclusi i test case di argomenti non validi estremi. 0 è per il livello BVT.

SoftwareOnly

Testa solo l'implementazione software del processore video. Questo è stato usato principalmente per i test iniziali prima che i driver supportavano i test case.

SaveAllFrames

Il test ha hardcoded il numero di fotogrammi non validi impostati su 100 se si vuole che tutti vengano salvati, usare questo flag. Valido per gli errori dei test case del conteggio dei fotogrammi elevati.

LogLevel:[0, 1, 2]

Il test ha la possibilità di essere molto dettagliato nei metodi di registrazione. Per impostazione predefinita, il livello 0 è impostato, ma il livello 1 raccoglierà maggiori informazioni di registrazione per ogni test case, inclusi molti stati di flusso/stati blt impostati. Il livello 2 raccoglie tutti gli stati del flusso e gli stati blt regolati, nonché tutte le informazioni di configurazione.

 

Elenco file

File Posizione

DXVAHDVideoProcessing.exe

[testbinroot]\nttest\windowstest\graphics\d3d\func\

Dxvahdsw.dll

[osbinroot]\nttest\windowstest\graphics\dxva\

 

Parametri

Nome parametro Descrizione dei parametri
LLU_NetAccessOnly LLU per l'accesso netto
ConfigDisplayCommandLine Riga di comando personalizzata per ConfigDisplay. Impostazione predefinita: logo
MODIFIEDCMDLINE Argomenti aggiuntivi della riga di comando per l'eseguibile di test