Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
[De functie die is gekoppeld aan deze pagina, Windows Media Format 11 SDK, is een verouderde functie. Het is vervangen door Source Reader en Sink Writer. Bronlezer en Sink Writer zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken bronlezer en Sink Writer- in plaats van Windows Media Format 11 SDK, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
Sommige bronnen van video, zoals videoopnamekaarten, leveren videogegevens voor geïnterlaceerde weergave. Elk frame van interlaced video bestaat uit twee velden. Het bovenste veld bevat de eerste regel video en daarna elke andere regel. Het onderste veld bevat de tweede videoregel en elke andere regel daarna. Eén veld bevat dus alle even genummerde regels en de andere bevat alle oneven genummerde lijnen. De velden waaruit een frame bestaat, vertegenwoordigen iets andere presentatietijden, zodat ze bij interleaved geen statische afbeelding vormen.
Wanneer u video wilt weergeven op een computermonitor, moet elk frame van de video worden weergegeven als één afbeelding (deze methode voor het weergeven van video één hele frame tegelijk wordt progressieve video genoemd.) Als u interlaced video geleidelijk weergeeft, zien de frames er mogelijk niet goed uit, vanwege het tijdsverschil tussen de twee velden. De Windows Media Video-codec en de Windows Media Video Advanced Profile-codec ondersteunen beide een voorbewerkingsfunctie die interlaced inhoud omzet naar progressieve frames.
Om de codec de invoervideo te laten deinterlacen, roept u de methode IWMWriterAdvanced2::SetInputSetting aan. De te gebruiken instelling is g_wszDeinterlaceMode. Stel de deinterlacing-modus in op een van de volgende waarden.
Waarde | Beschrijving |
---|---|
WM_DM_NOTINTERLACED | Invoer is progressief. Gebruik deze instelling om deinterlacing te stoppen wanneer u de deinterlacingmodus eerder hebt ingesteld op een andere waarde. |
WM_DM_DEINTERLACE_NORMAL | Selecteer deze modus om de even en oneven velden van een in elkaar gevlochten frame samen te voegen (met behulp van een mechanisme voor bewegingscompensatie). Voordelen:
|
WM_DM_DEINTERLACE_HALFSIZE | Selecteer deze modus wanneer de uitvoerresolutie de helft of minder is van de invoerresolutie. Gebruik deze modus bijvoorbeeld wanneer de invoervideoresolutie 640 x 480 pixels is en de uitvoervideoresolutie 320 x 240 pixels is. Voordelen:
|
WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE | Selecteer deze modus wanneer de uitvoerresolutie de helft of minder is van de invoerresolutie en de uitvoer framesnelheid twee keer zo hoog is. Gebruik deze modus bijvoorbeeld wanneer de resolutie van de invoervideo 640 x 480 pixels is bij 30 frames per seconde en de uitvoervideoresolutie 320 x 240 pixels is bij 60 frames per seconde. Voordelen:
|
WM_DM_DEINTERLACE_INVERSETELECINE | Selecteer deze modus om een video van 30 frames per seconde om te zetten naar de 24 frames per seconde van de originele film. Voordelen:
|
WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE | Selecteer deze modus wanneer de verticale uitvoerresolutie de helft of minder is van de verticale invoerresolutie en de uitvoer framesnelheid twee keer zo hoog is. De verticale videoresolutie van de invoer is bijvoorbeeld 640 x 480 pixels bij 30 interlaced frames per seconde en de uitvoer verticale videoresolutie is 320 x 240 pixels bij 60 frames per seconde. Voordelen:
|
Voor gemengde inhoud stelt u de deinterlacing-modus in, indien nodig voordat u steekproeven van een nieuw type doorgeeft. Als u bijvoorbeeld wilt beginnen met coderen met progressieve invoer, hoeft u geen deinterlacingmodus in te stellen. Als voor sommige samples normaal deinterlacing vereist is, moet u de deinterlacingmodus instellen op WM_DM_DEINTERLACE_NORMAL. Als u vervolgens aanvullende progressieve steekproeven wilt verwerken, moet u de deinterlacingmodus instellen op WM_DM_NOTINTERLACED.
Inverse Telecine-instellingen
Zie To Use Inverse Telecinevoor een beschrijving van inverse telecine.
Als u de deinterlacingmodus instelt op WM_DM_DEINTERLACE_INVERSETELECINE, kunt u het telecinepatroon van het eerste invoerframe opgeven door de IWMWriterAdvanced2::SetInputSettingaan te roepen. De te gebruiken instelling is g_wszInitialPatternForInverseTelecine. Stel het oorspronkelijke patroon in op een van de volgende waarden.
Waarde | Beschrijving |
---|---|
WM_DM_IT_DISABLE_COHERENT_MODE | Hiermee geeft u op dat de invoermedia het telecineproces hebben doorlopen, maar dat de frames zich niet meer in een voorspelbaar patroon bevinden. Dit geeft meestal aan dat de media zijn bewerkt na de telecineverwerking. Wanneer u deze instelling gebruikt, probeert de codec de oorspronkelijke frames zelfstandig te reconstrueren. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP | Hiermee geeft u op dat het bovenste veld van het AA-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP | Hiermee geeft u op dat het bovenste veld van het BB-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP | Hiermee geeft u op dat het bovenste veld van het BC-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP | Hiermee geeft u op dat het bovenste veld van het CD-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP | Hiermee geeft u op dat het bovenste veld van het DD-frame het eerste voorbeeld is. |
WM_DM_IT_EERSTE_FRAME_IN_CLIP_IS_AA_ONDER | Hiermee geeft u op dat het onderste veld van het AA-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM | Hiermee geeft u op dat het onderste veld van het BB-frame het eerste voorbeeld is. |
WM_DM_IT_EERSTE_FRAME_IN_CLIP_IS_BC_ONDERAAN | Hiermee geeft u op dat het onderste veld van het BC-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM | Hiermee geeft u op dat het onderste veld van het CD-frame het eerste voorbeeld is. |
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM | Hiermee geeft u op dat het onderste veld van het DD-frame het eerste voorbeeld is. |