Arbeiten mit komprimierten Videodaten in einem Stream
AVIFile bietet mehrere Möglichkeiten für den Zugriff auf komprimierte Videostreams.
Wenn Sie einen oder mehrere Frames eines komprimierten Videostreams anzeigen möchten, können Sie die Frames mithilfe der AVIStreamRead-Funktion abrufen und die komprimierten Framedaten an DrawDib-Funktionen weiterleiten, um sie anzuzeigen. DrawDib-Funktionen können Bilder mit mehreren Bildtiefe anzeigen und automatisch Bilder für Anzeigen dithern, die bestimmte Arten von geräteunabhängigen Bitmaps (DIBs) nicht verarbeiten können. Diese Funktionen funktionieren mit unkomprimierten und komprimierten Bildern. Weitere Informationen zu DrawDib-Funktionen finden Sie unter DrawDib-Funktionen.
AVIFile stellt Funktionen zum Dekomprimieren eines einzelnen Videoframes bereit. Verwenden Sie zum Zuordnen von Ressourcen die FUNKTION AVIStreamGetFrameOpen. Diese Funktion erstellt einen Puffer für die dekomprimierten Daten.
Sie können einen einzelnen Videoframe mithilfe der AVIStreamGetFrame-Funktion dekomprimieren. Diese Funktion dekomprimiert den Frame und ruft einen vollständigen Frame von Bilddaten ab und gibt die Adresse des DIB in der BITMAPINFOHEADER-Struktur zurück. Ihre Anwendung kann das DIB mithilfe von Standardzeichnungsfunktionen oder mithilfe der DrawDib-Funktionen anzeigen.
Wenn Ihre Anwendung aufeinanderfolgende Aufrufe von AVIStreamGetFrame vornimmt, überschreibt die Funktion ihren Puffer mit jedem abgerufenen Frame.
Wenn Sie mit der Verwendung von AVIStreamGetFrame fertig sind und sich der dekomprimierte DIB im Puffer befindet, können Sie die zugeordneten Ressourcen mithilfe der FUNKTION AVIStreamGetFrameClose freigeben.
Weitere Informationen zum Dekomprimieren von Bildern finden Sie unter Videokomprimierungs-Manager.