|
typedef uint32_t | VdpDecoderProfile |
| The set of all known compressed video formats, and associated profiles, that may be decoded. More...
|
|
typedef VdpStatus | VdpDecoderQueryProfileCapability(VdpDevice device, VdpDecoderProfile profile, VdpDecoderCapability capability, void *capability_value) |
| Query the supported value of the requested capability, for the specified profile on the specified device. More...
|
|
typedef VdpStatus | VdpDecoderQueryCapabilities(VdpDevice device, VdpDecoderProfile profile, VdpBool *is_supported, uint32_t *max_level, uint32_t *max_macroblocks, uint32_t *max_width, uint32_t *max_height) |
| Query the implementation's VdpDecoder capabilities. More...
|
|
typedef uint32_t | VdpDecoder |
| An opaque handle representing a VdpDecoder object. More...
|
|
typedef VdpStatus | VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder) |
| Create a VdpDecoder. More...
|
|
typedef VdpStatus | VdpDecoderDestroy(VdpDecoder decoder) |
| Destroy a VdpDecoder. More...
|
|
typedef VdpStatus | VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height) |
| Retrieve the parameters used to create a VdpDecoder. More...
|
|
typedef void | VdpPictureInfo |
| A generic "picture information" type. More...
|
|
typedef VdpPictureInfoMPEG4Part2 | VdpPictureInfoDivX4 |
| Picture parameter information for a DivX 4 picture. More...
|
|
typedef VdpPictureInfoMPEG4Part2 | VdpPictureInfoDivX5 |
| Picture parameter information for a DivX 5 picture. More...
|
|
typedef VdpPictureInfoHEVC444 | VdpPictureInfoHEVCRangeExt |
| Picture parameter information for HEVC FormatRangeExtensions picture. More...
|
|
typedef VdpStatus | VdpDecoderRender(VdpDecoder decoder, VdpVideoSurface target, VdpPictureInfo const *picture_info, uint32_t bitstream_buffer_count, VdpBitstreamBuffer const *bitstream_buffers) |
| Decode a compressed field/frame and render the result into a VdpVideoSurface. More...
|
|
The VdpDecoder object decodes compressed video data, writing the results to a VdpVideoSurface.
A specific VDPAU implementation may support decoding multiple types of compressed video data. However, VdpDecoder objects are able to decode a specific type of compressed video data. This type must be specified during creation.
◆ VDP_BITSTREAM_BUFFER_VERSION
#define VDP_BITSTREAM_BUFFER_VERSION 0 |
◆ VDP_DECODER_LEVEL_DIVX_NA
#define VDP_DECODER_LEVEL_DIVX_NA |
◆ VDP_DECODER_LEVEL_H264_1
#define VDP_DECODER_LEVEL_H264_1 |
◆ VDP_DECODER_LEVEL_H264_1_1
#define VDP_DECODER_LEVEL_H264_1_1 |
◆ VDP_DECODER_LEVEL_H264_1_2
#define VDP_DECODER_LEVEL_H264_1_2 |
◆ VDP_DECODER_LEVEL_H264_1_3
#define VDP_DECODER_LEVEL_H264_1_3 |
◆ VDP_DECODER_LEVEL_H264_1b
#define VDP_DECODER_LEVEL_H264_1b |
◆ VDP_DECODER_LEVEL_H264_2
#define VDP_DECODER_LEVEL_H264_2 |
◆ VDP_DECODER_LEVEL_H264_2_1
#define VDP_DECODER_LEVEL_H264_2_1 |
◆ VDP_DECODER_LEVEL_H264_2_2
#define VDP_DECODER_LEVEL_H264_2_2 |
◆ VDP_DECODER_LEVEL_H264_3
#define VDP_DECODER_LEVEL_H264_3 |
◆ VDP_DECODER_LEVEL_H264_3_1
#define VDP_DECODER_LEVEL_H264_3_1 |
◆ VDP_DECODER_LEVEL_H264_3_2
#define VDP_DECODER_LEVEL_H264_3_2 |
◆ VDP_DECODER_LEVEL_H264_4
#define VDP_DECODER_LEVEL_H264_4 |
◆ VDP_DECODER_LEVEL_H264_4_1
#define VDP_DECODER_LEVEL_H264_4_1 |
◆ VDP_DECODER_LEVEL_H264_4_2
#define VDP_DECODER_LEVEL_H264_4_2 |
◆ VDP_DECODER_LEVEL_H264_5
#define VDP_DECODER_LEVEL_H264_5 |
◆ VDP_DECODER_LEVEL_H264_5_1
#define VDP_DECODER_LEVEL_H264_5_1 |
◆ VDP_DECODER_LEVEL_HEVC_1
#define VDP_DECODER_LEVEL_HEVC_1 30 |
The VDPAU H.265/HEVC decoder levels correspond to the values of general_level_idc as described in the H.265 Specification, Annex A, Table A.1. The enumeration values are equal to thirty times the level number.
◆ VDP_DECODER_LEVEL_HEVC_2
#define VDP_DECODER_LEVEL_HEVC_2 |
◆ VDP_DECODER_LEVEL_HEVC_2_1
#define VDP_DECODER_LEVEL_HEVC_2_1 |
◆ VDP_DECODER_LEVEL_HEVC_3
#define VDP_DECODER_LEVEL_HEVC_3 |
◆ VDP_DECODER_LEVEL_HEVC_3_1
#define VDP_DECODER_LEVEL_HEVC_3_1 |
◆ VDP_DECODER_LEVEL_HEVC_4
#define VDP_DECODER_LEVEL_HEVC_4 |
◆ VDP_DECODER_LEVEL_HEVC_4_1
#define VDP_DECODER_LEVEL_HEVC_4_1 |
◆ VDP_DECODER_LEVEL_HEVC_5
#define VDP_DECODER_LEVEL_HEVC_5 |
◆ VDP_DECODER_LEVEL_HEVC_5_1
#define VDP_DECODER_LEVEL_HEVC_5_1 |
◆ VDP_DECODER_LEVEL_HEVC_5_2
#define VDP_DECODER_LEVEL_HEVC_5_2 |
◆ VDP_DECODER_LEVEL_HEVC_6
#define VDP_DECODER_LEVEL_HEVC_6 |
◆ VDP_DECODER_LEVEL_HEVC_6_1
#define VDP_DECODER_LEVEL_HEVC_6_1 |
◆ VDP_DECODER_LEVEL_HEVC_6_2
#define VDP_DECODER_LEVEL_HEVC_6_2 |
◆ VDP_DECODER_LEVEL_MPEG1_NA
#define VDP_DECODER_LEVEL_MPEG1_NA |
◆ VDP_DECODER_LEVEL_MPEG2_HL
#define VDP_DECODER_LEVEL_MPEG2_HL |
◆ VDP_DECODER_LEVEL_MPEG2_HL14
#define VDP_DECODER_LEVEL_MPEG2_HL14 |
◆ VDP_DECODER_LEVEL_MPEG2_LL
#define VDP_DECODER_LEVEL_MPEG2_LL |
◆ VDP_DECODER_LEVEL_MPEG2_ML
#define VDP_DECODER_LEVEL_MPEG2_ML |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5
#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0
#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1
#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2
#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 |
◆ VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3
#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 |
◆ VDP_DECODER_LEVEL_VC1_ADVANCED_L0
#define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 |
◆ VDP_DECODER_LEVEL_VC1_ADVANCED_L1
#define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 |
◆ VDP_DECODER_LEVEL_VC1_ADVANCED_L2
#define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 |
◆ VDP_DECODER_LEVEL_VC1_ADVANCED_L3
#define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 |
◆ VDP_DECODER_LEVEL_VC1_ADVANCED_L4
#define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 |
◆ VDP_DECODER_LEVEL_VC1_MAIN_HIGH
#define VDP_DECODER_LEVEL_VC1_MAIN_HIGH |
◆ VDP_DECODER_LEVEL_VC1_MAIN_LOW
#define VDP_DECODER_LEVEL_VC1_MAIN_LOW |
◆ VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM
#define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM |
◆ VDP_DECODER_LEVEL_VC1_SIMPLE_LOW
#define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW |
◆ VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM
#define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM |
◆ VDP_DECODER_LEVEL_VP9_L1
#define VDP_DECODER_LEVEL_VP9_L1 |
◆ VDP_DECODER_PROFILE_DIVX4_HD_1080P
#define VDP_DECODER_PROFILE_DIVX4_HD_1080P |
◆ VDP_DECODER_PROFILE_DIVX4_HOME_THEATER
#define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER |
◆ VDP_DECODER_PROFILE_DIVX4_MOBILE
#define VDP_DECODER_PROFILE_DIVX4_MOBILE |
◆ VDP_DECODER_PROFILE_DIVX4_QMOBILE
#define VDP_DECODER_PROFILE_DIVX4_QMOBILE |
◆ VDP_DECODER_PROFILE_DIVX5_HD_1080P
#define VDP_DECODER_PROFILE_DIVX5_HD_1080P |
◆ VDP_DECODER_PROFILE_DIVX5_HOME_THEATER
#define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER |
◆ VDP_DECODER_PROFILE_DIVX5_MOBILE
#define VDP_DECODER_PROFILE_DIVX5_MOBILE |
◆ VDP_DECODER_PROFILE_DIVX5_QMOBILE
#define VDP_DECODER_PROFILE_DIVX5_QMOBILE |
◆ VDP_DECODER_PROFILE_H264_BASELINE
#define VDP_DECODER_PROFILE_H264_BASELINE |
MPEG 4 part 10 == H.264 == AVC.
◆ VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
#define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE |
◆ VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
#define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH |
◆ VDP_DECODER_PROFILE_H264_EXTENDED
#define VDP_DECODER_PROFILE_H264_EXTENDED |
◆ VDP_DECODER_PROFILE_H264_HIGH
#define VDP_DECODER_PROFILE_H264_HIGH |
◆ VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE
#define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE |
Support for 8 bit depth only.
◆ VDP_DECODER_PROFILE_H264_MAIN
#define VDP_DECODER_PROFILE_H264_MAIN |
◆ VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
#define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH |
◆ VDP_DECODER_PROFILE_HEVC_MAIN
#define VDP_DECODER_PROFILE_HEVC_MAIN |
MPEG-H Part 2 == H.265 == HEVC.
◆ VDP_DECODER_PROFILE_HEVC_MAIN_10
#define VDP_DECODER_PROFILE_HEVC_MAIN_10 |
◆ VDP_DECODER_PROFILE_HEVC_MAIN_12
#define VDP_DECODER_PROFILE_HEVC_MAIN_12 |
◆ VDP_DECODER_PROFILE_HEVC_MAIN_444
#define VDP_DECODER_PROFILE_HEVC_MAIN_444 |
◆ VDP_DECODER_PROFILE_HEVC_MAIN_444_10
#define VDP_DECODER_PROFILE_HEVC_MAIN_444_10 |
◆ VDP_DECODER_PROFILE_HEVC_MAIN_444_12
#define VDP_DECODER_PROFILE_HEVC_MAIN_444_12 |
◆ VDP_DECODER_PROFILE_HEVC_MAIN_STILL
#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL |
◆ VDP_DECODER_PROFILE_MPEG1
#define VDP_DECODER_PROFILE_MPEG1 |
◆ VDP_DECODER_PROFILE_MPEG2_MAIN
#define VDP_DECODER_PROFILE_MPEG2_MAIN |
◆ VDP_DECODER_PROFILE_MPEG2_SIMPLE
#define VDP_DECODER_PROFILE_MPEG2_SIMPLE |
◆ VDP_DECODER_PROFILE_MPEG4_PART2_ASP
#define VDP_DECODER_PROFILE_MPEG4_PART2_ASP |
◆ VDP_DECODER_PROFILE_MPEG4_PART2_SP
#define VDP_DECODER_PROFILE_MPEG4_PART2_SP |
◆ VDP_DECODER_PROFILE_VC1_ADVANCED
#define VDP_DECODER_PROFILE_VC1_ADVANCED |
◆ VDP_DECODER_PROFILE_VC1_MAIN
#define VDP_DECODER_PROFILE_VC1_MAIN |
◆ VDP_DECODER_PROFILE_VC1_SIMPLE
#define VDP_DECODER_PROFILE_VC1_SIMPLE |
◆ VDP_DECODER_PROFILE_VP9_PROFILE_0
#define VDP_DECODER_PROFILE_VP9_PROFILE_0 |
◆ VDP_DECODER_PROFILE_VP9_PROFILE_1
#define VDP_DECODER_PROFILE_VP9_PROFILE_1 |
◆ VDP_DECODER_PROFILE_VP9_PROFILE_2
#define VDP_DECODER_PROFILE_VP9_PROFILE_2 |
◆ VDP_DECODER_PROFILE_VP9_PROFILE_3
#define VDP_DECODER_PROFILE_VP9_PROFILE_3 |
◆ VdpDecoder
An opaque handle representing a VdpDecoder object.
◆ VdpDecoderCreate
Create a VdpDecoder.
- Parameters
-
[in] | device | The device that will contain the surface. |
[in] | profile | The video format the decoder will decode. |
[in] | width | The width of the new surface. |
[in] | height | The height of the new surface. |
[in] | max_references | The maximum number of references that may be used by a single frame in the stream to be decoded. This parameter exists mainly for formats such as H.264, where different streams may use a different number of references. Requesting too many references may waste memory, but decoding should still operate correctly. Requesting too few references will cause decoding to fail. |
[out] | decoder | The new decoder's handle. |
- Returns
- VdpStatus The completion status of the operation.
◆ VdpDecoderDestroy
Destroy a VdpDecoder.
- Parameters
-
[in] | surface | The decoder's handle. |
- Returns
- VdpStatus The completion status of the operation.
◆ VdpDecoderGetParameters
Retrieve the parameters used to create a VdpDecoder.
- Parameters
-
[in] | surface | The surface's handle. |
[out] | profile | The video format used to create the decoder. |
[out] | width | The width of surfaces decode by the decoder. |
[out] | height | The height of surfaces decode by the decoder |
- Returns
- VdpStatus The completion status of the operation.
◆ VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded.
◆ VdpDecoderQueryCapabilities
Query the implementation's VdpDecoder capabilities.
- Parameters
-
[in] | device | The device to query. |
[in] | profile | The decoder profile for which information is requested. |
[out] | is_supported | Is this profile supported? |
[out] | max_level | The maximum specification level supported for this profile. |
[out] | max_macroblocks | The maximum supported surface size in macroblocks. Note that this could be greater than that dictated by the maximum level. |
[out] | max_width | The maximum supported surface width for this profile. Note that this could be greater than that dictated by the maximum level. |
[out] | max_height | The maximum supported surface height for this profile. Note that this could be greater than that dictated by the maximum level. |
- Returns
- VdpStatus The completion status of the operation.
◆ VdpDecoderQueryProfileCapability
Query the supported value of the requested capability, for the specified profile on the specified device.
- Parameters
-
[in] | device | The device to query. |
[in] | profile | The decoder profile for which information is requested. |
[in] | capability | The decoder profile capability for which the value is requested. |
[out] | capability_value | The value of the requested capability. |
- Returns
- VdpStatus The completion status of the operation.
◆ VdpDecoderRender
Decode a compressed field/frame and render the result into a VdpVideoSurface.
- Parameters
-
[in] | decoder | The decoder object that will perform the decode operation. |
[in] | target | The video surface to render to. |
[in] | picture_info | A (pointer to a) structure containing information about the picture to be decoded. Note that the appropriate type of VdpPictureInfo* structure must be provided to match to profile that the decoder was created for. |
[in] | bitstream_buffer_count | The number of bitstream buffers containing compressed data for this picture. |
[in] | bitstream_buffers | An array of bitstream buffers. |
- Returns
- VdpStatus The completion status of the operation.
See Video Mixer Usage for additional information.
◆ VdpPictureInfo
A generic "picture information" type.
This type serves solely to document the expected usage of a generic (void *) function parameter. In actual usage, the application is expected to physically provide a pointer to an instance of one of the "real" VdpPictureInfo* structures, picking the type appropriate for the decoder object in question.
◆ VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Due to similarites between MPEG-4 Part 2 and DivX 4, the picture parameter structure is re-used.
◆ VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Due to similarites between MPEG-4 Part 2 and DivX 5, the picture parameter structure is re-used.
◆ VdpPictureInfoHEVCRangeExt
Picture parameter information for HEVC FormatRangeExtensions picture.
HEVC Main 444 Profile is part of Format Range Extensions profiles, Due to similarities between Format Range Extensions profiles, the picture parameter structure is re-used for Format Range Extensions profiles supported.
◆ VdpDecoderCapability
Enumerator |
---|
VDP_DECODER_PROFILE_MAX_LEVEL | |
VDP_DECODER_PROFILE_MAX_MACROBLOCKS | |
VDP_DECODER_PROFILE_MAX_WIDTH | |
VDP_DECODER_PROFILE_MAX_HEIGHT | |
VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE | |
VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES | A list of supported chroma types, stored as a bitmask of 1 shifted by each supported VdpChromaType value. E.g., (1 << VDP_CHROMA_TYPE_420) | (1 << VDP_CHROMA_TYPE_422) | (1 << VDP_CHROMA_TYPE_444)
|
◆ VdpVideoSurfaceSupportedPictureStructure
Enumerator |
---|
VDP_VIDEO_SURFACE_FIELD_STRUCTURE | |
VDP_VIDEO_SURFACE_FRAME_STRUCTURE | |