Per deinterlacciare un video
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dallo scrittore di destinazione . Source Reader e Sink Writer sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice utilizzi Reader di origine e Writer di destinazione invece di Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Alcune origini di video, ad esempio schede di acquisizione video, forniscono dati video per la visualizzazione interlacciata. Ogni fotogramma di video interlacciato è costituito da due campi. Il campo superiore contiene la prima riga di video e ogni altra riga successiva. Il campo inferiore contiene la seconda riga di video e ogni altra riga successiva. Pertanto, un campo contiene tutte le righe numerate pari e l'altra contiene tutte le righe numerate dispari. I campi che costituiscono un frame rappresentano tempi di presentazione leggermente diversi, in modo che, quando intervallati, non formino un'immagine statica.
Quando vuoi visualizzare video su un monitor del computer, ogni fotogramma del video deve essere visualizzata come un'unica immagine (questo metodo di visualizzazione di un intero fotogramma alla volta viene chiamato video progressivo). Se si visualizza il video interlacciato progressivamente, i fotogrammi potrebbero non essere corretti, a causa della differenza di tempo tra i due campi. Il codec Windows Media Video e il codec Windows Media Video Advanced Profile supportano entrambi una funzionalità di pre-elaborazione che converte il contenuto interlacciato in fotogrammi progressivi.
Per far sì che il codec deinterlacci il video di input, chiama il metodo IWMWriterAdvanced2::SetInputSetting. L'impostazione da usare è g_wszDeinterlaceMode. Impostare la modalità di deinterlacing su uno dei valori seguenti.
Valore | Descrizione |
---|---|
WM_DM_NOTINTERLACED | L'input è progressivo. Usa questa impostazione per interrompere la deinterlacciatura quando la modalità di deinterlacciatura è stata precedentemente impostata su un altro valore. |
WM_DM_DEINTERLACE_NORMAL | Selezionare questa modalità per combinare i campi pari e dispari di una cornice interlacciata (usando un meccanismo di compensazione del movimento). Benefici:
|
WM_DM_DEINTERLACE_HALFSIZE | Selezionare questa modalità quando la risoluzione dell'output è metà o minore della risoluzione di input. Ad esempio, usare questa modalità quando la risoluzione video di input è 640 x 480 pixel e la risoluzione video di output è di 320 x 240 pixel. Benefici:
|
WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE | Selezionare questa modalità quando la risoluzione di output è pari alla metà o inferiore della risoluzione di input e il frame rate di output è due volte superiore. Ad esempio, usare questa modalità quando la risoluzione video di input è 640 x 480 pixel a 30 fotogrammi interlacciati/sec e la risoluzione video di output è 320 x 240 pixel a 60 fotogrammi/sec. Benefici:
|
WM_DM_DEINTERLACE_INVERSETELECINE | Selezionare questa modalità per convertire il video telecinato a 30 fotogrammi/sec a 24 fotogrammi/sec del film originale. Vantaggi:
|
WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE | Selezionare questa modalità quando la risoluzione di output verticale è metà o minore della risoluzione verticale di input e l'output frequenza dei fotogrammi è due volte superiore. Ad esempio, la risoluzione verticale di input video è 640 x 480 pixel a 30 fotogrammi interlacciati/sec e la risoluzione verticale di output video è 320 x 240 pixel a 60 fotogrammi/sec. Benefici:
|
Per il contenuto misto, impostare la modalità di deinterlacing in base alle esigenze prima di applicare campioni di un nuovo tipo. Ad esempio, per iniziare la codifica con l'input progressivo, non è necessario impostare alcuna modalità di deinterlacciamento. Se alcuni campioni richiedono il deinterlacing normale, è necessario impostare la modalità di deinterlacing su WM_DM_DEINTERLACE_NORMAL. Per elaborare altri campioni progressivi, è necessario impostare la modalità di deinterlacing su WM_DM_NOTINTERLACED.
Impostazioni di telecine inversa
Per una descrizione della telecine inversa, vedere To Use Inverse Telecine.
Se si imposta la modalità di deinterlacing su WM_DM_DEINTERLACE_INVERSETELECINE, è possibile specificare il modello di telecine del primo fotogramma di input chiamando il IWMWriterAdvanced2::SetInputSetting. L'impostazione da usare è g_wszInitialPatternForInverseTelecine. Impostare il modello iniziale su uno dei valori seguenti.
Valore | Descrizione |
---|---|
WM_DM_IT_DISABLE_COHERENT_MODE | Specifica che il supporto di input è stato sottoposto al processo di telecine, ma i fotogrammi non seguono più un modello prevedibile. Ciò indica in genere che il materiale è stato modificato dopo l'elaborazione della telecine. Quando si usa questa impostazione, il codec tenta di ricostruire i fotogrammi originali in modo autonomo. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP | Specifica che il campo superiore del frame AA è il primo esempio. |
WM_DM_IT_PRIMO_FRAME_NEL_CLIP_E_BB_TOP | Specifica che il campo superiore della cornice BB è il primo esempio. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP | Specifica che il campo superiore del frame BC è il primo esempio. |
Given the lack of context and the need to identify any Italian elements, no automatic improvement is available. (Note: Only change if certain components are meant to be translated for user clarity rather than technical precision.) | Specifica che il campo superiore del fotogramma CD è il primo esempio. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP | Specifica che il campo superiore del frame DD è il primo esempio. |
In the absence of context requiring change, the translation remains as: WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM | Specifica che il campo inferiore del frame AA è il primo esempio. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM | Specifica che il campo inferiore della cornice BB è il primo campione. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM | Specifica che il campo inferiore del frame BC è il primo esempio. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM | Specifica che il campo inferiore del fotogramma CD è il primo esempio. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM | Specifica che il campo inferiore del frame DD è il primo esempio. |