KS_H264VIDEOINFO structure (ksmedia.h)
The KS_H264VIDEOINFO describes the device capabilities that apply to the current media type.
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;
Members
wWidth
Specifies the width in pixels of pictures output from the decoding process.
The value for this member must be a multiple of 2, but it does not have to be an integer multiple of 16. It can be specified using a frame cropping rectangle in the active Sequence Parameter Set (SPS).
wHeight
Specifies the height in pixels of pictures output from the decoding process.
The value for this member must be a multiple of 2. When field coding or frame/field adaptive coding is used, it must be a multiple of 4. It does not have to be an integer multiple of 16. It can be specified using a frame cropping rectangle in the active SPS.
wSARwidth
Specifies the sample aspect ratio width as defined in the H.264 Annex E.
It must be relatively prime with respect to wSARheight.
wSARheight
Specifies the sample aspect ratio height as defined in the H.264 Annex E.
It must be relatively prime with respect to bSARwidth.
wProfile
Specifies the first two bytes of the sequence parameter set as described by profile_idc and constraint flags in the H.264 specification.
This member indicates the profile and applicable constraints to be used.
The following are examples of allowed values:
Value | Description |
---|---|
0x4240 | Constrained Baseline Profile. |
0x4200 | Baseline Profile. |
0x4D00 | Main Profile. |
0x6400 | High Profile. |
0x5300 | Scalable Baseline Profile. |
0x5600 | Scalable High Profile. |
0x7600 | Multiview High Profile. |
0x8000 | Stereo High Profile. |
bLevelIDC
Specifies the level as described by the level_idc flag.
This member indicates the minimum level that supports the resolution and the maximum bit rate for this frame descriptor.
The following are examples of allowed values:
Value | Description |
---|---|
0x1F | Level 3.1. |
0x28 | Level 4.0. |
wConstrainedToolset
Constrains the features allowed by wProfile.
Value | Description |
---|---|
0 | No constraints. All tools defined by the selected wProfile and the bmSetting set are allowed. |
1 | Unified Communication (UC) Constrained High Toolset. |
2 | UC Scalable Constrained High1. |
3 | UC Scalable Constrained Baseline1. |
4 to 65535 | Reserved. |
bmSupportedUsages
Defines the bitmap that specifies the supported usages.
Bits | Description |
---|---|
D0 | Real-time/UCConfig (Unified Communication Configuration) mode 0. |
D1 | Real-time/UCConfig mode 1. |
D2 | Real-time/UCConfig mode 2Q. |
D3 | Real-time/UCConfig mode 2S. |
D4 | Real-time/UCConfig mode 3. |
D7-D5 | Reserved; set to 0. |
D15-D8 | Broadcast modes. |
D16 | File storage mode with I and P slices (for example, IPPP). |
D17 | File storage mode with I, P and B slices (for example, IB...IP). |
D18 | File storage all-I-frame mode. |
D23-D19 | Reserved; set to 0. |
D24 | MVC Stereo High Mode. |
D25 | MVC Multiview Mode. |
D31-D26 | Reserved; set to 0. |
bmCapabilities
Defines the bitmap that specifies the capabilities for this frame descriptor.
Bits | Description |
---|---|
D0 | Context based Adaptive Variable Length Coding (CAVLC ) only. |
D1 | Context based Adaptive Binary Arithmetic Coding (CABAC) only. |
D2 | Constant frame rate. |
D3 | Separate QP for luma/chroma. |
D4 | Separate QP for Cb/Cr. |
D5 | No picture reordering. |
D15-D6 | Reserved; set to 0. |
bmSVCCapabilities
Defines the bitmap that specifies the Scalable Video Coding (SVC) capabilities.
Bits | Description |
---|---|
D2-D0 | Maximum number of temporal layers minus 1. |
D3 | Rewrite support. |
D6-D4 | Maximum number of Coarse Grained Scalability (CGS) layers minus 1. |
D9-D7 | Maximum number of Medium Grained Scalability (MGS) sublayers. |
D10 | Additional SNR scalability support in spatial enhancement layers. |
D13-D11 | Maximum number of spatial layers minus 1. |
D31-D14 | Reserved. |
bmMVCCapabilities
Defines the bitmap that specifies the Multicast Video Coding (MVC) capabilities.
Bits | Description |
---|---|
D2-D0 | Maximum number of temporal layers minus 1. |
D11-D3 | Maximum number of view components minus 1. |
D31-D11 | Reserved. |
dwFrameInterval
Specifies the supported frame interval.
This is the shortest frame interval supported, at the highest frame rate, in 100-nanoseconds units.
bMaxCodecConfigDelay
Specifies the maximum number of frames the encoder takes to respond to a command.
bmSupportedSliceModes
Defines the bitmap that specifies the slice modes.
Bits | Description |
---|---|
D0 | Slice mode 0. |
D1 | Slice mode 1. |
D7-D2 | Reserved. |
bmSupportedSyncFrameTypes
Defines the BYTE member bmSupportedSyncFrameTypes.
bResolutionScaling
Defines the bitmap that specifies the synchronization frame types.
Bits | Description |
---|---|
D0 | Instantaneous Decoding Refresh (IDR) frame with Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) headers. |
D1 | IDR frame (with SPS and PPS headers) that is a long term reference frame. |
D2 | Random-access I frame (with SPS and PPS headers), which may or may not be an IDR frame. |
D3 | P frame that is a long term reference frame. |
D7-D4 | Reserved; set to 0. |
bSimulcastSupport
Specifies the number of H.264 video streaming endpoints and the number of streams this endpoint supports.
Value | Description |
---|---|
0 | One endpoint and one stream. |
1 | One endpoint and multiple streams. |
bmSupportedRateControlModes
Defines the bitmap that specifies the rate control modes.
Bits | Description |
---|---|
D0 | Variable bit rate (VBR) with underflow allowed (H.264 low_delay_hrd_flag = 1). |
D1 | Constant bit rate (CBR) (H.264 low_delay_hrd_flag = 0). |
D2 | Constant QP. |
D3 | Global VBR with underflow allowed (H.264 low_delay_hrd_flag = 1). |
D4 | VBR without underflow (H.264 low_delay_hrd_flag = 0). |
D5 | Global VBR without underflow (H.264 low_delay_hrd_flag = 0). |
D7-D6 | Reserved, set to 0. |
wMaxMBperSecOneResolutionNoScalability
Specifies the maximum macroblock processing rate allowed for non-scalable Advanced Video Coding (AVC) streams, summing up across all layers when all layers have the same resolution.
wMaxMBperSecTwoResolutionsNoScalability
Specifies the maximum macroblock processing rate allowed for non-scalable AVC streams, summing up across all layers when all layers consist of two different resolutions.
wMaxMBperSecThreeResolutionsNoScalability
Specifies the maximum macroblock processing rate allowed for non-scalable AVC streams, summing up across all layers when all layers consist of three different resolutions.
wMaxMBperSecFourResolutionsNoScalability
Specifies the maximum macroblock processing rate allowed for non-scalable AVC streams, summing up across all layers when all layers consist of four different resolutions.
wMaxMBperSecOneResolutionTemporalScalability
Specifies the maximum macroblock processing rate allowed for temporal scalable streams, summing up across all layers when all layers have the same resolution.
wMaxMBperSecTwoResolutionsTemporalScalablility
Specifies the maximum macroblock processing rate allowed for temporal scalable streams, summing up across all layers when all layers consist of two different resolutions.
wMaxMBperSecThreeResolutionsTemporalScalability
Specifies the maximum macroblock processing rate allowed for temporal scalable streams, summing up across all layers when all layers consist of three different resolutions.
wMaxMBperSecFourResolutionsTemporalScalability
Specifies the maximum macroblock processing rate allowed for fully scalable streams, summing up across all layers when all layers consist of four different resolutions.
wMaxMBperSecOneResolutionTemporalQualityScalability
Specifies the maximum macroblock processing rate allowed for temporal and quality scalable SVC streams, summing up across all layers when all layers have the same resolution.
wMaxMBperSecTwoResolutionsTemporalQualityScalability
Specifies the maximum macroblock processing rate allowed for temporal and quality scalable SVC streams, summing up across all layers when all layers consist of two different resolutions.
wMaxMBperSecThreeResolutionsTemporalQualityScalablity
Specifies the maximum macroblock processing rate allowed for temporal and quality scalable SVC streams, summing up across all layers when all layers consist of three different resolutions.
wMaxMBperSecFourResolutionsTemporalQualityScalability
Specifies the maximum macroblock processing rate allowed for temporal and quality scalable SVC streams, summing up across all layers when all layers consist of four different resolutions.
wMaxMBperSecOneResolutionTemporalSpatialScalability
Defines the WORD member wMaxMBperSecOneResolutionTemporalSpatialScalability.
wMaxMBperSecTwoResolutionsTemporalSpatialScalability
Defines the WORD member wMaxMBperSecTwoResolutionsTemporalSpatialScalability.
wMaxMBperSecThreeResolutionsTemporalSpatialScalablity
Defines the WORD member wMaxMBperSecThreeResolutionsTemporalSpatialScalablity.
wMaxMBperSecFourResolutionsTemporalSpatialScalability
Defines the WORD member wMaxMBperSecFourResolutionsTemporalSpatialScalability.
wMaxMBperSecOneResolutionFullScalability
Specifies the maximum macroblock processing rate allowed for fully scalable streams, summing up across all layers when all layers have the same resolution.
wMaxMBperSecTwoResolutionsFullScalability
Specifies the maximum macroblock processing rate allowed for fully scalable streams, summing up across all layers when all layers consist of two different resolutions.
wMaxMBperSecThreeResolutionsFullScalability
Specifies the maximum macroblock processing rate allowed for fully scalable streams, summing up across all layers when all layers consist of three different resolutions.
wMaxMBperSecFourResolutionsFullScalability
Specifies the maximum macroblock processing rate allowed for fully scalable streams, summing up across all layers when all layers consist of four different resolutions.
Remarks
The KS_H264VIDEOINFO structure contains the frame and the format descriptor information.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | Windows Server 2012 |
Header | ksmedia.h (include Ksmedia.h) |