KS_H264VIDEOINFO-Struktur (ksmedia.h)
Die KS_H264VIDEOINFO beschreibt die Gerätefunktionen, die für den aktuellen Medientyp gelten.
Syntax
typedef struct tagKS_H264VIDEOINFO {
WORD wWidth;
WORD wHeight;
WORD wSARwidth;
WORD wSARheight;
WORD wProfile;
BYTE bLevelIDC;
WORD wConstrainedToolset;
DWORD bmSupportedUsages;
WORD bmCapabilities;
DWORD bmSVCCapabilities;
DWORD bmMVCCapabilities;
DWORD dwFrameInterval;
BYTE bMaxCodecConfigDelay;
BYTE bmSupportedSliceModes;
BYTE bmSupportedSyncFrameTypes;
BYTE bResolutionScaling;
BYTE bSimulcastSupport;
BYTE bmSupportedRateControlModes;
WORD wMaxMBperSecOneResolutionNoScalability;
WORD wMaxMBperSecTwoResolutionsNoScalability;
WORD wMaxMBperSecThreeResolutionsNoScalability;
WORD wMaxMBperSecFourResolutionsNoScalability;
WORD wMaxMBperSecOneResolutionTemporalScalability;
WORD wMaxMBperSecTwoResolutionsTemporalScalablility;
WORD wMaxMBperSecThreeResolutionsTemporalScalability;
WORD wMaxMBperSecFourResolutionsTemporalScalability;
WORD wMaxMBperSecOneResolutionTemporalQualityScalability;
WORD wMaxMBperSecTwoResolutionsTemporalQualityScalability;
WORD wMaxMBperSecThreeResolutionsTemporalQualityScalablity;
WORD wMaxMBperSecFourResolutionsTemporalQualityScalability;
WORD wMaxMBperSecOneResolutionTemporalSpatialScalability;
WORD wMaxMBperSecTwoResolutionsTemporalSpatialScalability;
WORD wMaxMBperSecThreeResolutionsTemporalSpatialScalablity;
WORD wMaxMBperSecFourResolutionsTemporalSpatialScalability;
WORD wMaxMBperSecOneResolutionFullScalability;
WORD wMaxMBperSecTwoResolutionsFullScalability;
WORD wMaxMBperSecThreeResolutionsFullScalability;
WORD wMaxMBperSecFourResolutionsFullScalability;
} KS_H264VIDEOINFO, *PKS_H264VIDEOINFO;
Member
wWidth
Gibt die Breite von Bildern, die vom Decodierungsprozess ausgegeben werden, in Pixel an.
Der Wert für dieses Element muss ein Vielfaches von 2 sein, aber er muss kein ganzzahliges Vielfaches von 16 sein. Sie kann mithilfe eines Rahmenzuschneiderechtecks im aktiven Sequence Parameter Set (SPS) angegeben werden.
wHeight
Gibt die Höhe von Bildern, die aus dem Decodierungsprozess ausgegeben werden, in Pixel an.
Der Wert für dieses Element muss ein Vielfaches von 2 sein. Wenn die Feldcodierung oder die adaptive Frame/Field-Codierung verwendet wird, muss es sich um ein Vielfaches von 4 sein. Es muss kein ganzzahliges Vielfaches von 16 sein. Sie kann mithilfe eines Rahmenzuschneiderechtecks im aktiven SPS angegeben werden.
wSARwidth
Gibt die Breite des Stichprobenseitenverhältnisses gemäß der Definition in Anhang E H.264 an.
Sie muss in Bezug auf wSARheight relativ gut sein.
wSARheight
Gibt die Im H.264-Anhang E definierte Seitenverhältnishöhe des Stichprobenseitenverhältnisses an.
Sie muss in Bezug auf bSARwidth relativ gut sein.
wProfile
Gibt die ersten beiden Bytes des Sequenzparametersatzes an, wie durch profile_idc- und Einschränkungsflags in der H.264-Spezifikation beschrieben.
Dieses Element gibt das Profil und die anwendbaren Einschränkungen an, die verwendet werden sollen.
Im Folgenden sind Beispiele für zulässige Werte aufgeführt:
Wert | BESCHREIBUNG |
---|---|
0x4240 | Eingeschränktes Baselineprofil. |
0x4200 | Baselineprofil. |
0x4D00 | Hauptprofil. |
0x6400 | High Profile. |
0x5300 | Skalierbares Baselineprofil. |
0x5600 | Skalierbares High-Profile-Profil. |
0x7600 | Multiview High Profile. |
0x8000 | Stereo High Profile. |
bLevelIDC
Gibt die Ebene an, wie durch das level_idc-Flag beschrieben.
Dieses Element gibt den Mindestwert an, der die Auflösung und die maximale Bitrate für diesen Framedeskriptor unterstützt.
Im Folgenden sind Beispiele für zulässige Werte aufgeführt:
Wert | BESCHREIBUNG |
---|---|
0x1F | Ebene 3.1. |
0x28 | Ebene 4.0. |
wConstrainedToolset
Schränkt die von wProfile zulässigen Features ein.
Wert | BESCHREIBUNG |
---|---|
0 | Keine Einschränkungen. Alle durch die ausgewählten wProfile und die bmSetting-Gruppe definierten Tools sind zulässig. |
1 | Unified Communication (UC) – Eingeschränkter High-Toolset. |
2 | UC Scalable Constrained High1. |
3 | UC Scalable Constrained Baseline1. |
4 bis 65535 | Reserviert. |
bmSupportedUsages
Definiert die Bitmap, die die unterstützten Verwendungen angibt.
Bits | BESCHREIBUNG |
---|---|
D0 | Echtzeit-/UCConfig-Modus (Unified Communication Configuration) 0. |
D1 | Echtzeit-/UCConfig-Modus 1. |
D2 | Echtzeit-/UCConfig-Modus 2Q. |
D3 | Echtzeit-/UCConfig-Modus 2S. |
D4 | Echtzeit-/UCConfig-Modus 3. |
D7-D5 | Reserviert; auf 0 festgelegt. |
D15-D8 | Übertragungsmodi. |
D16 | Dateispeichermodus mit I- und P-Slices (z. B. IPPP). |
D17 | Dateispeichermodus mit I-, P- und B-Slices (z. B. IB... IP). |
D18 | Dateispeichermodus mit all-I-Frame. |
D23-D19 | Reserviert; auf 0 festgelegt. |
D24 | MVC Stereo High Mode. |
D25 | MVC Multiview-Modus. |
D31-D26 | Reserviert; auf 0 festgelegt. |
bmCapabilities
Definiert die Bitmap, die die Funktionen für diesen Framedeskriptor angibt.
Bits | BESCHREIBUNG |
---|---|
D0 | Nur kontextbasiertes Adaptives Variable Length Coding (CAVLC). |
D1 | Nur kontextbasierte adaptive binäre Arithmetische Codierung (CABAC). |
D2 | Konstante Bildfrequenz. |
D3 | Separate QP für Luma/Chroma. |
D4 | Separate QP für Cb/Cr. |
D5 | Keine Bildanordnung. |
D15-D6 | Reserviert; auf 0 festgelegt. |
bmSVCCapabilities
Definiert die Bitmap, die die SVC-Funktionen (Scalable Video Coding) angibt.
Bits | BESCHREIBUNG |
---|---|
D2-D0 | Maximale Anzahl temporaler Ebenen minus 1. |
D3 | Unterstützung für ein erneutes Schreiben. |
D6-D4 | Maximale Anzahl von CGS-Ebenen (Coarse Grained Skalierbarkeit) minus 1. |
D9-D7 | Maximale Anzahl von MGS-Unterschichten (Medium Grained Skalierbarkeit). |
D10 | Zusätzliche SNR-Skalierbarkeitsunterstützung in räumlichen Erweiterungsebenen. |
D13-D11 | Maximale Anzahl räumlicher Ebenen minus 1. |
D31-D14 | Reserviert. |
bmMVCCapabilities
Definiert die Bitmap, die die Multicastvideocodierungsfunktionen (MVC) angibt.
Bits | BESCHREIBUNG |
---|---|
D2-D0 | Maximale Anzahl temporaler Ebenen minus 1. |
D11-D3 | Maximale Anzahl von Ansichtskomponenten minus 1. |
D31-D11 | Reserviert. |
dwFrameInterval
Gibt das unterstützte Frameintervall an.
Dies ist das kürzeste unterstützte Frameintervall bei der höchsten Bildfrequenz in Einheiten von 100 Nanosekunden.
bMaxCodecConfigDelay
Gibt die maximale Anzahl von Frames an, die der Encoder verwendet, um auf einen Befehl zu reagieren.
bmSupportedSliceModes
Definiert die Bitmap, die die Slicemodi angibt.
Bits | BESCHREIBUNG |
---|---|
D0 | Slicemodus 0. |
D1 | Slicemodus 1. |
D7-D2 | Reserviert. |
bmSupportedSyncFrameTypes
Definiert das BYTE-ElementbmSupportedSyncFrameTypes.
bResolutionScaling
Definiert die Bitmap, die die Synchronisierungsrahmentypen angibt.
Bits | BESCHREIBUNG |
---|---|
D0 | Frame für sofortige Decodierungsaktualisierung (Instantaneous Decoding Refresh, IDR) mit Headern von Sequence Parameter Set (SPS) und Picture Parameter Set (PPS). |
D1 | IDR-Frame (mit SPS- und PPS-Headern), bei dem es sich um einen langfristigen Referenzrahmen handelt. |
D2 | Random-Access I-Frame (mit SPS- und PPS-Headern), bei dem es sich um einen IDR-Frame handeln kann oder nicht. |
D3 | P-Frame, der ein langfristiger Referenzrahmen ist. |
D7-D4 | Reserviert; auf 0 festgelegt. |
bSimulcastSupport
Gibt die Anzahl der H.264-Videostreamingendpunkte und die Anzahl der Streams an, die dieser Endpunkt unterstützt.
Wert | BESCHREIBUNG |
---|---|
0 | Ein Endpunkt und ein Stream. |
1 | Ein Endpunkt und mehrere Streams. |
bmSupportedRateControlModes
Definiert die Bitmap, die die Ratensteuerungsmodi angibt.
Bits | BESCHREIBUNG |
---|---|
D0 | Variable Bitrate (VBR) mit zulässigem Unterlauf (H.264 low_delay_hrd_flag = 1). |
D1 | Konstante Bitrate (CBR) (H.264 low_delay_hrd_flag = 0). |
D2 | Konstante QP. |
D3 | Globale VBR mit zulässigem Unterlauf (H.264 low_delay_hrd_flag = 1). |
D4 | VBR ohne Unterlauf (H.264 low_delay_hrd_flag = 0). |
D5 | Globale VBR ohne Unterlauf (H.264 low_delay_hrd_flag = 0). |
D7-D6 | Reserviert, auf 0 festgelegt. |
wMaxMBperSecOneResolutionNoScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für nicht skalierbare AVC-Datenströme (Advanced Video Coding) zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen dieselbe Auflösung haben.
wMaxMBperSecTwoResolutionsNoScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für nicht skalierbare AVC-Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus zwei unterschiedlichen Auflösungen bestehen.
wMaxMBperSecThreeResolutionsNoScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für nicht skalierbare AVC-Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus drei verschiedenen Auflösungen bestehen.
wMaxMBperSecFourResolutionsNoScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für nicht skalierbare AVC-Streams zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus vier verschiedenen Auflösungen bestehen.
wMaxMBperSecOneResolutionTemporalScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für zeitlich skalierbare Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen die gleiche Auflösung haben.
wMaxMBperSecTwoResolutionsTemporalScalablility
Gibt die maximale Makroblockverarbeitungsrate an, die für zeitlich skalierbare Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen aus zwei unterschiedlichen Auflösungen bestehen.
wMaxMBperSecThreeResolutionsTemporalScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für zeitlich skalierbare Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus drei verschiedenen Auflösungen bestehen.
wMaxMBperSecFourResolutionsTemporalScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für vollständig skalierbare Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus vier verschiedenen Auflösungen bestehen.
wMaxMBperSecOneResolutionTemporalQualityScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für temporale und qualitativ skalierbare SVC-Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen die gleiche Auflösung haben.
wMaxMBperSecTwoResolutionsTemporalQualityScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für zeitliche und qualitativ skalierbare SVC-Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus zwei unterschiedlichen Auflösungen bestehen.
wMaxMBperSecThreeResolutionsTemporalQualityScalablity
Gibt die maximale Makroblockverarbeitungsrate an, die für temporale und qualitativ skalierbare SVC-Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus drei verschiedenen Auflösungen bestehen.
wMaxMBperSecFourResolutionsTemporalQualityScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für zeitliche und qualitativ skalierbare SVC-Datenströme zulässig ist, und summiert sich über alle Ebenen hinweg, wenn alle Ebenen aus vier verschiedenen Auflösungen bestehen.
wMaxMBperSecOneResolutionTemporalSpatialScalability
Definiert das WORD-ElementwMaxMBperSecOneResolutionTemporalSpatialScalability.
wMaxMBperSecTwoResolutionsTemporalSpatialScalability
Definiert das WORD-ElementwMaxMBperSecTwoResolutionsTemporalSpatialScalability.
wMaxMBperSecThreeResolutionsTemporalSpatialScalablity
Definiert das WORD-ElementwMaxMBperSecThreeResolutionsTemporalSpatialScalablity.
wMaxMBperSecFourResolutionsTemporalSpatialScalability
Definiert das WORD-ElementwMaxMBperSecFourResolutionsTemporalSpatialScalability.
wMaxMBperSecOneResolutionFullScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für vollständig skalierbare Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen die gleiche Auflösung haben.
wMaxMBperSecTwoResolutionsFullScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für vollständig skalierbare Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen aus zwei unterschiedlichen Auflösungen bestehen.
wMaxMBperSecThreeResolutionsFullScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für vollständig skalierbare Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen aus drei verschiedenen Auflösungen bestehen.
wMaxMBperSecFourResolutionsFullScalability
Gibt die maximale Makroblockverarbeitungsrate an, die für vollständig skalierbare Datenströme zulässig ist, und summiert sich auf alle Ebenen, wenn alle Ebenen aus vier verschiedenen Auflösungen bestehen.
Hinweise
Die KS_H264VIDEOINFO-Struktur enthält den Frame und die Formatdeskriptorinformationen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Kopfzeile | ksmedia.h (include Ksmedia.h) |