Condividi tramite


Metodo DXVA_DeinterlaceContainerDeviceClass::D einterlaceQueryAvailableModes

L'esempio di query della funzione DeinterlaceQueryAvailableModes per le modalità di conversione deinterlacing o frame rate disponibili per un formato video di input specifico.

Sintassi

HRESULT DeinterlaceQueryAvailableModes(
  [in]      LPDXVA_VideoDesc lpVideoDescription,
  [in, out] LPDWORD          lpdwNumModesSupported,
  [in, out] LPGUID           pGuidsDeinterlaceModes
);

Parametri

lpVideoDescription [in] Fornisce un puntatore a una struttura di DXVA_VideoDesc che contiene una descrizione del flusso video per l'esecuzione della conversione della frequenza dei fotogrammi o del denterlacing.

lpdwNumModesSupported [in, out] Riceve un puntatore al numero di modalità di conversione deinterlace o frame rate restituite nella matrice in pGuidsDeinterlaceModes.

pGuidsDeinterlaceModes [in, out] Riceve un puntatore a una matrice di GUID che rappresentano le modalità di conversione deinterlace o frame-rate supportate dal driver.

Valore restituito

Restituisce zero (S_OK o DD_OK) se ha esito positivo; in caso contrario, restituisce un codice di errore. Per un elenco completo dei codici di errore, vedere ddraw.h.

Osservazioni:

Il parametro lpVideoDescription viene passato al driver in modo che il driver possa supportare la risoluzione e il formato del video di origine. Ad esempio, il driver potrebbe essere in grado di eseguire una deinterlace adattiva a tre campi di contenuto 480i, ma potrebbe essere in grado solo di bob 1080i contenuto. Per altre informazioni, vedere Contenuto video per Deinterlace e conversione della frequenza dei fotogrammi.

I GUID restituiti dal parametro pGuidsDeinterlaceModes devono essere restituiti in ordine di qualità decrescente, ovvero la modalità di qualità più alta deve occupare il primo elemento della matrice GUID restituita.

Tutti i driver devono essere in grado di supportare la modalità bob usando l'hardware BLT (Bit Block Transfer) esistente. Per altre informazioni sulle modalità, vedere gli argomenti Modalità deinterlace e Modalità di conversione a frequenza di fotogrammi.

Il driver restituisce i GUID (modalità) supportati in risposta a una richiesta da parte di VMR. Il driver risponde a una chiamata alla relativa funzione di callback DdMoCompRender. Il driver restituisce i GUID tramite il membro lpOutputData della struttura DD_RENDERMOCOMPDATA a cui punta il parametro lpRenderData di DdMoCompRender. Il membro lpOutputData punta alla struttura DXVA_DeinterlaceQueryAvailableModes, che contiene la matrice di GUID nel membro Guids.

Mapping di RenderMoComp a DeinterlaceQueryAvailableModes

La funzione DeinterlaceQueryAvailableModes di esempio esegue il mapping diretto a una chiamata al membro RenderMoComp della struttura DD_MOTIONCOMPCALLBACKS. Il membro RenderMoComp punta a una funzione fornita dal driver di visualizzazione che fa riferimento alla struttura DD_RENDERMOCOMPDATA .

Il callback RenderMoComp viene chiamato senza chiamare prima la funzione BeginMoCompFrame o EndMoCompFrame fornita dal driver di visualizzazione.

La struttura DD_RENDERMOCOMPDATA viene riempita nel modo seguente.

Member Valore

dwNumBuffers

Zero.

lpBufferInfo

NULL.

dwFunction

DXVA_DeinterlaceQueryAvailableModesFnCode costante (definita in dxva.h).

lpInputData

Puntatore a una struttura DXVA_VideoDesc riempita.

lpOutputData

Puntatore a una struttura DXVA_DeinterlaceQueryAvailableModes.

Dopo che vmR ha determinato le modalità di conversione deinterlace o frame disponibili per un formato video specifico, vmR esegue una query sul driver per ottenere informazioni dettagliate sui requisiti di input di una particolare modalità deinterlace e su qualsiasi elaborazione video aggiuntiva che potrebbe essere supportata in tale modalità. Il driver restituisce queste informazioni da una chiamata alla relativa funzione DeinterlaceQueryModeCaps.

Vedere anche

DD_MOTIONCOMPCALLBACKS

DD_RENDERMOCOMPDATA

DeinterlaceQueryModeCaps

DXVA_VideoDesc

DXVA_SampleFormat