VDPAU
vdpau.h
Go to the documentation of this file.
1/*
2 * This source file is documented using Doxygen markup.
3 * See http://www.stack.nl/~dimitri/doxygen/
4 */
5
6/*
7 * This copyright notice applies to this header file:
8 *
9 * Copyright (c) 2008-2015 NVIDIA Corporation
10 *
11 * Permission is hereby granted, free of charge, to any person
12 * obtaining a copy of this software and associated documentation
13 * files (the "Software"), to deal in the Software without
14 * restriction, including without limitation the rights to use,
15 * copy, modify, merge, publish, distribute, sublicense, and/or sell
16 * copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following
18 * conditions:
19 *
20 * The above copyright notice and this permission notice shall be
21 * included in all copies or substantial portions of the Software.
22 *
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
25 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
27 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
28 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
30 * OTHER DEALINGS IN THE SOFTWARE.
31 */
32
779#ifndef _VDPAU_H
780#define _VDPAU_H
781
782#include <stdint.h>
783
784#ifdef __cplusplus
785extern "C" {
786#endif
787
806#define VDP_TRUE 1
808#define VDP_FALSE 0
813typedef int VdpBool;
814
833#define VDP_INVALID_HANDLE 0xffffffffU
834
839typedef uint32_t VdpChromaType;
840
849#define VDP_CHROMA_TYPE_420 ((VdpChromaType)0)
858#define VDP_CHROMA_TYPE_422 ((VdpChromaType)1)
867#define VDP_CHROMA_TYPE_444 ((VdpChromaType)2)
868
873#define VDP_CHROMA_TYPE_420_FIELD ((VdpChromaType)3)
878#define VDP_CHROMA_TYPE_422_FIELD ((VdpChromaType)4)
883#define VDP_CHROMA_TYPE_444_FIELD ((VdpChromaType)5)
884
889#define VDP_CHROMA_TYPE_420_FRAME ((VdpChromaType)6)
894#define VDP_CHROMA_TYPE_422_FRAME ((VdpChromaType)7)
899#define VDP_CHROMA_TYPE_444_FRAME ((VdpChromaType)8)
900
904typedef uint32_t VdpYCbCrFormat;
905
919#define VDP_YCBCR_FORMAT_NV12 ((VdpYCbCrFormat)0)
931#define VDP_YCBCR_FORMAT_YV12 ((VdpYCbCrFormat)1)
945#define VDP_YCBCR_FORMAT_UYVY ((VdpYCbCrFormat)2)
959#define VDP_YCBCR_FORMAT_YUYV ((VdpYCbCrFormat)3)
972#define VDP_YCBCR_FORMAT_Y8U8V8A8 ((VdpYCbCrFormat)4)
985#define VDP_YCBCR_FORMAT_V8U8Y8A8 ((VdpYCbCrFormat)5)
999#define VDP_YCBCR_FORMAT_Y_UV_444 ((VdpYCbCrFormat)6)
1011#define VDP_YCBCR_FORMAT_Y_U_V_444 ((VdpYCbCrFormat)7)
1012
1016typedef uint32_t VdpRGBAFormat;
1017
1030#define VDP_RGBA_FORMAT_B8G8R8A8 ((VdpRGBAFormat)0)
1043#define VDP_RGBA_FORMAT_R8G8B8A8 ((VdpRGBAFormat)1)
1056#define VDP_RGBA_FORMAT_R10G10B10A2 ((VdpRGBAFormat)2)
1069#define VDP_RGBA_FORMAT_B10G10R10A2 ((VdpRGBAFormat)3)
1080#define VDP_RGBA_FORMAT_A8 ((VdpRGBAFormat)4)
1081
1085typedef uint32_t VdpIndexedFormat;
1086
1098#define VDP_INDEXED_FORMAT_A4I4 ((VdpIndexedFormat)0)
1110#define VDP_INDEXED_FORMAT_I4A4 ((VdpIndexedFormat)1)
1122#define VDP_INDEXED_FORMAT_A8I8 ((VdpIndexedFormat)2)
1134#define VDP_INDEXED_FORMAT_I8A8 ((VdpIndexedFormat)3)
1135
1143typedef struct {
1145 uint32_t x;
1147 uint32_t y;
1148} VdpPoint;
1149
1160typedef struct {
1162 uint32_t x0;
1164 uint32_t y0;
1166 uint32_t x1;
1168 uint32_t y1;
1169} VdpRect;
1170
1179typedef struct {
1180 float red;
1181 float green;
1182 float blue;
1183 float alpha;
1184} VdpColor;
1185
1198typedef enum {
1330} VdpStatus;
1331
1341typedef char const * VdpGetErrorString(
1342 VdpStatus status
1343);
1344
1369#define VDPAU_INTERFACE_VERSION 1
1370
1382#define VDPAU_VERSION 1
1383
1390 /* output parameters follow */
1391 uint32_t * api_version
1392);
1393
1412 /* output parameters follow */
1413 char const * * information_string
1414);
1415
1435typedef uint32_t VdpDevice;
1436
1443 VdpDevice device
1444);
1445
1484typedef float VdpCSCMatrix[3][4];
1485
1486#define VDP_PROCAMP_VERSION 0
1487
1496typedef struct {
1520 float hue;
1521} VdpProcamp;
1522
1529typedef uint32_t VdpColorStandard;
1530
1532#define VDP_COLOR_STANDARD_ITUR_BT_601 ((VdpColorStandard)0)
1534#define VDP_COLOR_STANDARD_ITUR_BT_709 ((VdpColorStandard)1)
1536#define VDP_COLOR_STANDARD_SMPTE_240M ((VdpColorStandard)2)
1537
1547 VdpProcamp * procamp,
1548 VdpColorStandard standard,
1549 /* output parameters follow */
1550 VdpCSCMatrix * csc_matrix
1551);
1552
1598 VdpDevice device,
1599 VdpChromaType surface_chroma_type,
1600 /* output parameters follow */
1601 VdpBool * is_supported,
1602 uint32_t * max_width,
1603 uint32_t * max_height
1604);
1605
1618 VdpDevice device,
1619 VdpChromaType surface_chroma_type,
1620 VdpYCbCrFormat bits_ycbcr_format,
1621 /* output parameters follow */
1622 VdpBool * is_supported
1623);
1624
1629typedef uint32_t VdpVideoSurface;
1630
1677 VdpDevice device,
1678 VdpChromaType chroma_type,
1679 uint32_t width,
1680 uint32_t height,
1681 /* output parameters follow */
1682 VdpVideoSurface * surface
1683);
1684
1691 VdpVideoSurface surface
1692);
1693
1704 VdpVideoSurface surface,
1705 /* output parameters follow */
1706 VdpChromaType * chroma_type,
1707 uint32_t * width,
1708 uint32_t * height
1709);
1710
1730 VdpVideoSurface surface,
1731 VdpYCbCrFormat destination_ycbcr_format,
1732 void * const * destination_data,
1733 uint32_t const * destination_pitches
1734);
1735
1755 VdpVideoSurface surface,
1756 VdpYCbCrFormat source_ycbcr_format,
1757 void const * const * source_data,
1758 uint32_t const * source_pitches
1759);
1760
1796typedef uint32_t VdpColorTableFormat;
1797
1809#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8 ((VdpColorTableFormat)0)
1810
1825 VdpDevice device,
1826 VdpRGBAFormat surface_rgba_format,
1827 /* output parameters follow */
1828 VdpBool * is_supported,
1829 uint32_t * max_width,
1830 uint32_t * max_height
1831);
1832
1844 VdpDevice device,
1845 VdpRGBAFormat surface_rgba_format,
1846 /* output parameters follow */
1847 VdpBool * is_supported
1848);
1849
1865 VdpDevice device,
1866 VdpRGBAFormat surface_rgba_format,
1867 VdpIndexedFormat bits_indexed_format,
1868 VdpColorTableFormat color_table_format,
1869 /* output parameters follow */
1870 VdpBool * is_supported
1871);
1872
1886 VdpDevice device,
1887 VdpRGBAFormat surface_rgba_format,
1888 VdpYCbCrFormat bits_ycbcr_format,
1889 /* output parameters follow */
1890 VdpBool * is_supported
1891);
1892
1897typedef uint32_t VdpOutputSurface;
1898
1912 VdpDevice device,
1913 VdpRGBAFormat rgba_format,
1914 uint32_t width,
1915 uint32_t height,
1916 /* output parameters follow */
1917 VdpOutputSurface * surface
1918);
1919
1926 VdpOutputSurface surface
1927);
1928
1939 VdpOutputSurface surface,
1940 /* output parameters follow */
1941 VdpRGBAFormat * rgba_format,
1942 uint32_t * width,
1943 uint32_t * height
1944);
1945
1966 VdpOutputSurface surface,
1967 VdpRect const * source_rect,
1968 void * const * destination_data,
1969 uint32_t const * destination_pitches
1970);
1971
1992 VdpOutputSurface surface,
1993 void const * const * source_data,
1994 uint32_t const * source_pitches,
1995 VdpRect const * destination_rect
1996);
1997
2024 VdpOutputSurface surface,
2025 VdpIndexedFormat source_indexed_format,
2026 void const * const * source_data,
2027 uint32_t const * source_pitch,
2028 VdpRect const * destination_rect,
2029 VdpColorTableFormat color_table_format,
2030 void const * color_table
2031);
2032
2059 VdpOutputSurface surface,
2060 VdpYCbCrFormat source_ycbcr_format,
2061 void const * const * source_data,
2062 uint32_t const * source_pitches,
2063 VdpRect const * destination_rect,
2064 VdpCSCMatrix const * csc_matrix
2065);
2066
2119 VdpDevice device,
2120 VdpRGBAFormat surface_rgba_format,
2121 /* output parameters follow */
2122 VdpBool * is_supported,
2123 uint32_t * max_width,
2124 uint32_t * max_height
2125);
2126
2131typedef uint32_t VdpBitmapSurface;
2132
2151 VdpDevice device,
2152 VdpRGBAFormat rgba_format,
2153 uint32_t width,
2154 uint32_t height,
2155 VdpBool frequently_accessed,
2156 /* output parameters follow */
2157 VdpBitmapSurface * surface
2158);
2159
2166 VdpBitmapSurface surface
2167);
2168
2181 VdpBitmapSurface surface,
2182 /* output parameters follow */
2183 VdpRGBAFormat * rgba_format,
2184 uint32_t * width,
2185 uint32_t * height,
2186 VdpBool * frequently_accessed
2187);
2188
2209 VdpBitmapSurface surface,
2210 void const * const * source_data,
2211 uint32_t const * source_pitches,
2212 VdpRect const * destination_rect
2213);
2214
2232typedef enum {
2249
2254typedef enum {
2261
2262#define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2263
2283typedef struct {
2296
2301#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0 0
2302
2308#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90 1
2309
2315#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180 2
2316
2322#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270 3
2323
2331#define VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX (1 << 2)
2332
2404 VdpOutputSurface destination_surface,
2405 VdpRect const * destination_rect,
2406 VdpOutputSurface source_surface,
2407 VdpRect const * source_rect,
2408 VdpColor const * colors,
2409 VdpOutputSurfaceRenderBlendState const * blend_state,
2410 uint32_t flags
2411);
2412
2484 VdpOutputSurface destination_surface,
2485 VdpRect const * destination_rect,
2486 VdpBitmapSurface source_surface,
2487 VdpRect const * source_rect,
2488 VdpColor const * colors,
2489 VdpOutputSurfaceRenderBlendState const * blend_state,
2490 uint32_t flags
2491);
2492
2513typedef uint32_t VdpDecoderProfile;
2514
2516#define VDP_DECODER_PROFILE_MPEG1 ((VdpDecoderProfile)0)
2518#define VDP_DECODER_PROFILE_MPEG2_SIMPLE ((VdpDecoderProfile)1)
2520#define VDP_DECODER_PROFILE_MPEG2_MAIN ((VdpDecoderProfile)2)
2523#define VDP_DECODER_PROFILE_H264_BASELINE ((VdpDecoderProfile)6)
2525#define VDP_DECODER_PROFILE_H264_MAIN ((VdpDecoderProfile)7)
2527#define VDP_DECODER_PROFILE_H264_HIGH ((VdpDecoderProfile)8)
2529#define VDP_DECODER_PROFILE_VC1_SIMPLE ((VdpDecoderProfile)9)
2531#define VDP_DECODER_PROFILE_VC1_MAIN ((VdpDecoderProfile)10)
2533#define VDP_DECODER_PROFILE_VC1_ADVANCED ((VdpDecoderProfile)11)
2535#define VDP_DECODER_PROFILE_MPEG4_PART2_SP ((VdpDecoderProfile)12)
2537#define VDP_DECODER_PROFILE_MPEG4_PART2_ASP ((VdpDecoderProfile)13)
2539#define VDP_DECODER_PROFILE_DIVX4_QMOBILE ((VdpDecoderProfile)14)
2541#define VDP_DECODER_PROFILE_DIVX4_MOBILE ((VdpDecoderProfile)15)
2543#define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER ((VdpDecoderProfile)16)
2545#define VDP_DECODER_PROFILE_DIVX4_HD_1080P ((VdpDecoderProfile)17)
2547#define VDP_DECODER_PROFILE_DIVX5_QMOBILE ((VdpDecoderProfile)18)
2549#define VDP_DECODER_PROFILE_DIVX5_MOBILE ((VdpDecoderProfile)19)
2551#define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER ((VdpDecoderProfile)20)
2553#define VDP_DECODER_PROFILE_DIVX5_HD_1080P ((VdpDecoderProfile)21)
2555#define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE ((VdpDecoderProfile)22)
2557#define VDP_DECODER_PROFILE_H264_EXTENDED ((VdpDecoderProfile)23)
2559#define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH ((VdpDecoderProfile)24)
2561#define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH ((VdpDecoderProfile)25)
2564#define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
2567#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
2569#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
2571#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
2573#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
2575#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
2576
2578#define VDP_DECODER_LEVEL_MPEG1_NA 0
2579
2581#define VDP_DECODER_LEVEL_MPEG2_LL 0
2583#define VDP_DECODER_LEVEL_MPEG2_ML 1
2585#define VDP_DECODER_LEVEL_MPEG2_HL14 2
2587#define VDP_DECODER_LEVEL_MPEG2_HL 3
2588
2590#define VDP_DECODER_LEVEL_H264_1 10
2592#define VDP_DECODER_LEVEL_H264_1b 9
2594#define VDP_DECODER_LEVEL_H264_1_1 11
2596#define VDP_DECODER_LEVEL_H264_1_2 12
2598#define VDP_DECODER_LEVEL_H264_1_3 13
2600#define VDP_DECODER_LEVEL_H264_2 20
2602#define VDP_DECODER_LEVEL_H264_2_1 21
2604#define VDP_DECODER_LEVEL_H264_2_2 22
2606#define VDP_DECODER_LEVEL_H264_3 30
2608#define VDP_DECODER_LEVEL_H264_3_1 31
2610#define VDP_DECODER_LEVEL_H264_3_2 32
2612#define VDP_DECODER_LEVEL_H264_4 40
2614#define VDP_DECODER_LEVEL_H264_4_1 41
2616#define VDP_DECODER_LEVEL_H264_4_2 42
2618#define VDP_DECODER_LEVEL_H264_5 50
2620#define VDP_DECODER_LEVEL_H264_5_1 51
2621
2623#define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2625#define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2626
2628#define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2630#define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2632#define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2633
2635#define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2637#define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2639#define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2641#define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2643#define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2644
2646#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2648#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2650#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2652#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2653
2655#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2657#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2659#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2661#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2663#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2665#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2666
2668#define VDP_DECODER_LEVEL_DIVX_NA 0
2669
2676#define VDP_DECODER_LEVEL_HEVC_1 30
2678#define VDP_DECODER_LEVEL_HEVC_2 60
2680#define VDP_DECODER_LEVEL_HEVC_2_1 63
2682#define VDP_DECODER_LEVEL_HEVC_3 90
2684#define VDP_DECODER_LEVEL_HEVC_3_1 93
2686#define VDP_DECODER_LEVEL_HEVC_4 120
2688#define VDP_DECODER_LEVEL_HEVC_4_1 123
2690#define VDP_DECODER_LEVEL_HEVC_5 150
2692#define VDP_DECODER_LEVEL_HEVC_5_1 153
2694#define VDP_DECODER_LEVEL_HEVC_5_2 156
2696#define VDP_DECODER_LEVEL_HEVC_6 180
2698#define VDP_DECODER_LEVEL_HEVC_6_1 183
2700#define VDP_DECODER_LEVEL_HEVC_6_2 186
2701
2702typedef enum {
2706
2707typedef enum {
2722
2735 VdpDevice device,
2736 VdpDecoderProfile profile,
2737 /* output parameters follow */
2738 VdpDecoderCapability capability,
2739 void * capability_value
2740);
2741
2761 VdpDevice device,
2762 VdpDecoderProfile profile,
2763 /* output parameters follow */
2764 VdpBool * is_supported,
2765 uint32_t * max_level,
2766 uint32_t * max_macroblocks,
2767 uint32_t * max_width,
2768 uint32_t * max_height
2769);
2770
2774typedef uint32_t VdpDecoder;
2775
2793 VdpDevice device,
2794 VdpDecoderProfile profile,
2795 uint32_t width,
2796 uint32_t height,
2797 uint32_t max_references,
2798 /* output parameters follow */
2799 VdpDecoder * decoder
2800);
2801
2808 VdpDecoder decoder
2809);
2810
2824 VdpDecoder decoder,
2825 /* output parameters follow */
2826 VdpDecoderProfile * profile,
2827 uint32_t * width,
2828 uint32_t * height
2829);
2830
2831#define VDP_BITSTREAM_BUFFER_VERSION 0
2832
2837typedef struct {
2843 void const * bitstream;
2847
2858typedef void VdpPictureInfo;
2859
2868typedef struct {
2880 uint32_t slice_count;
2881
2900 uint8_t f_code[2][2];
2902 uint8_t intra_quantizer_matrix[64];
2904 uint8_t non_intra_quantizer_matrix[64];
2907
2915typedef struct {
2934 int32_t field_order_cnt[2];
2940 uint16_t frame_idx;
2942
2965typedef struct {
2967 uint32_t slice_count;
2969 int32_t field_order_cnt[2];
2972
2977 uint16_t frame_num;
3002 uint8_t scaling_lists_4x4[6][16];
3004 uint8_t scaling_lists_8x8[2][64];
3008 VdpReferenceFrameH264 referenceFrames[16];
3010
3021typedef struct {
3024
3041
3049typedef struct {
3060
3062 uint32_t slice_count;
3067
3075 uint8_t pulldown;
3077 uint8_t interlace;
3079 uint8_t tfcntrflag;
3083 uint8_t psf;
3085 uint8_t dquant;
3091 uint8_t quantizer;
3097 uint8_t overlap;
3101 uint8_t loopfilter;
3103 uint8_t fastuvmc;
3106 uint8_t range_mapy;
3110
3115 uint8_t multires;
3120 uint8_t syncmarker;
3127 uint8_t rangered;
3132 uint8_t maxbframes;
3146 uint8_t pquant;
3148
3156typedef struct {
3167
3172 int32_t trd[2];
3173 int32_t trb[2];
3179 uint8_t interlaced;
3180 uint8_t quant_type;
3187 uint8_t intra_quantizer_matrix[64];
3188 uint8_t non_intra_quantizer_matrix[64];
3191
3199
3207
3225typedef struct {
3251 uint8_t ScalingList4x4[6][16];
3254 uint8_t ScalingList8x8[6][64];
3257 uint8_t ScalingList16x16[6][64];
3260 uint8_t ScalingList32x32[2][64];
3263 uint8_t ScalingListDCCoeff16x16[6];
3266 uint8_t ScalingListDCCoeff32x32[2];
3325 uint16_t column_width_minus1[20];
3329 uint16_t row_height_minus1[22];
3350
3358 uint8_t IDRPicFlag;
3361 uint8_t RAPPicFlag;
3363 uint8_t CurrRpsIdx;
3389
3393 VdpVideoSurface RefPics[16];
3396 int32_t PicOrderCntVal[16];
3400 uint8_t IsLongTerm[16];
3412 uint8_t RefPicSetStCurrBefore[8];
3415 uint8_t RefPicSetStCurrAfter[8];
3418 uint8_t RefPicSetLtCurr[8];
3420
3428typedef struct {
3431
3432 /* SPS Range Extensions for Main 444, Main 10, etc. */
3434 /* sps extension for transform_skip_rotation_enabled_flag */
3436 /* sps extension for transform_skip_context_enabled_flag */
3438 /* sps implicit_rdpcm_enabled_flag */
3440 /* sps explicit_rdpcm_enabled_flag */
3442 /* sps extended_precision_processing_flag,always 0 in current profile */
3444 /* sps intra_smoothing_disabled_flag */
3446 /* sps high_precision_offsets_enabled_flag */
3448 /* sps persistent_rice_adaptation_enabled_flag */
3450 /* sps cabac_bypass_alignment_enabled_flag, always 0 in current profile */
3452 /* sps intraBlockCopyEnableFlag, always 0 not used by the spec as of now */
3454
3455 /* PPS Range Extensions for Main 444, Main 10, etc. */
3457 /* pps extension log2_max_transform_skip_block_size_minus2, 0...5 */
3459 /* pps cross_component_prediction_enabled_flag */
3461 /* pps chroma_qp_adjustment_enabled_flag */
3463 /* pps diff_cu_chroma_qp_adjustment_depth, 0...3 */
3465 /* pps chroma_qp_adjustment_table_size_minus1+1, 1...6 */
3467 /* pps log2_sao_offset_scale_luma, max(0,bitdepth-10), */
3468 /* maxBitdepth 16 for future. */
3470 /* pps log2_sao_offset_scale_chroma */
3472 /* -[12,+12] */
3473 int8_t cb_qp_adjustment[6];
3474 /* -[12,+12] */
3475 int8_t cr_qp_adjustment[6];
3476
3478
3498 VdpDecoder decoder,
3499 VdpVideoSurface target,
3500 VdpPictureInfo const * picture_info,
3501 uint32_t bitstream_buffer_count,
3502 VdpBitstreamBuffer const * bitstream_buffers
3503);
3504
3584typedef uint32_t VdpVideoMixerFeature;
3585
3597#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
3610#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
3619#define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
3627#define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
3635#define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
3648#define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
3670#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
3677#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
3684#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
3691#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
3698#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
3705#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
3712#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
3719#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
3726#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
3727
3740typedef uint32_t VdpVideoMixerParameter;
3741
3754#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
3767#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
3781#define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
3800#define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
3801
3814typedef uint32_t VdpVideoMixerAttribute;
3815
3829#define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
3857#define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
3870#define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
3886#define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
3898#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
3910#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
3925#define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
3926
3937 VdpDevice device,
3938 VdpVideoMixerFeature feature,
3939 /* output parameters follow */
3940 VdpBool * is_supported
3941);
3942
3954 VdpDevice device,
3955 VdpVideoMixerParameter parameter,
3956 /* output parameters follow */
3957 VdpBool * is_supported
3958);
3959
3970 VdpDevice device,
3971 VdpVideoMixerAttribute attribute,
3972 /* output parameters follow */
3973 VdpBool * is_supported
3974);
3975
3987 VdpDevice device,
3988 VdpVideoMixerParameter parameter,
3989 /* output parameters follow */
3990 void * min_value,
3991 void * max_value
3992);
3993
4005 VdpDevice device,
4006 VdpVideoMixerAttribute attribute,
4007 /* output parameters follow */
4008 void * min_value,
4009 void * max_value
4010);
4011
4015typedef uint32_t VdpVideoMixer;
4016
4038 VdpDevice device,
4039 // The set of features to request
4040 uint32_t feature_count,
4041 VdpVideoMixerFeature const * features,
4042 // The parameters used during creation
4043 uint32_t parameter_count,
4044 VdpVideoMixerParameter const * parameters,
4045 void const * const * parameter_values,
4046 /* output parameters follow */
4047 VdpVideoMixer * mixer
4048);
4049
4061 VdpVideoMixer mixer,
4062 uint32_t feature_count,
4063 VdpVideoMixerFeature const * features,
4064 VdpBool const * feature_enables
4065);
4066
4080 VdpVideoMixer mixer,
4081 uint32_t attribute_count,
4082 VdpVideoMixerAttribute const * attributes,
4083 void const * const * attribute_values
4084);
4085
4098 VdpVideoMixer mixer,
4099 uint32_t feature_count,
4100 VdpVideoMixerFeature const * features,
4101 /* output parameters follow */
4102 VdpBool * feature_supports
4103);
4104
4115 VdpVideoMixer mixer,
4116 uint32_t feature_count,
4117 VdpVideoMixerFeature const * features,
4118 /* output parameters follow */
4119 VdpBool * feature_enables
4120);
4121
4135 VdpVideoMixer mixer,
4136 uint32_t parameter_count,
4137 VdpVideoMixerParameter const * parameters,
4138 /* output parameters follow */
4139 void * const * parameter_values
4140);
4141
4155 VdpVideoMixer mixer,
4156 uint32_t attribute_count,
4157 VdpVideoMixerAttribute const * attributes,
4158 /* output parameters follow */
4159 void * const * attribute_values
4160);
4161
4168 VdpVideoMixer mixer
4169);
4170
4176typedef enum {
4191
4192#define VDP_LAYER_VERSION 0
4193
4198typedef struct {
4221} VdpLayer;
4222
4290 VdpVideoMixer mixer,
4291 VdpOutputSurface background_surface,
4292 VdpRect const * background_source_rect,
4293 VdpVideoMixerPictureStructure current_picture_structure,
4294 uint32_t video_surface_past_count,
4295 VdpVideoSurface const * video_surface_past,
4296 VdpVideoSurface video_surface_current,
4297 uint32_t video_surface_future_count,
4298 VdpVideoSurface const * video_surface_future,
4299 VdpRect const * video_source_rect,
4300 VdpOutputSurface destination_surface,
4301 VdpRect const * destination_rect,
4302 VdpRect const * destination_video_rect,
4303 uint32_t layer_count,
4304 VdpLayer const * layers
4305);
4306
4358typedef uint64_t VdpTime;
4359
4369
4376 VdpPresentationQueueTarget presentation_queue_target
4377);
4378
4383typedef uint32_t VdpPresentationQueue;
4384
4397 VdpDevice device,
4398 VdpPresentationQueueTarget presentation_queue_target,
4399 /* output parameters follow */
4400 VdpPresentationQueue * presentation_queue
4401);
4402
4409 VdpPresentationQueue presentation_queue
4410);
4411
4422 VdpPresentationQueue presentation_queue,
4423 VdpColor * const background_color
4424);
4425
4432 VdpPresentationQueue presentation_queue,
4433 VdpColor * background_color
4434);
4435
4444 VdpPresentationQueue presentation_queue,
4445 /* output parameters follow */
4446 VdpTime * current_time
4447);
4448
4490 VdpPresentationQueue presentation_queue,
4491 VdpOutputSurface surface,
4492 uint32_t clip_width,
4493 uint32_t clip_height,
4494 VdpTime earliest_presentation_time
4495);
4496
4513 VdpPresentationQueue presentation_queue,
4514 VdpOutputSurface surface,
4515 /* output parameters follow */
4516 VdpTime * first_presentation_time
4517);
4518
4523typedef enum {
4531
4544 VdpPresentationQueue presentation_queue,
4545 VdpOutputSurface surface,
4546 /* output parameters follow */
4548 VdpTime * first_presentation_time
4549);
4550
4606 VdpDevice device,
4607 void * context
4608);
4609
4621 VdpDevice device,
4622 VdpPreemptionCallback callback,
4623 void * context
4624);
4625
4643typedef uint32_t VdpFuncId;
4644
4646#define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
4648#define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
4650#define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
4652#define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
4654#define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
4656#define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
4658#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
4660#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
4662#define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
4664#define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
4666#define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
4668#define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
4670#define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
4672#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
4674#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
4676#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
4678#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
4680#define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
4682#define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
4684#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
4686#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
4688#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
4690#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
4692#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
4694#define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
4696#define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
4698#define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
4700#define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
4702#define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
4704#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
4706#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
4708#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
4710#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
4712#define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
4714#define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
4716#define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
4718#define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
4720#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
4722#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
4724#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
4726#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
4728#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
4730#define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
4732#define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
4734#define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
4736#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
4738#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
4740#define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
4742#define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
4744#define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
4746#define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
4748#define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
4750#define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
4752#define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
4754#define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
4756#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
4758#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
4760#define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
4762#define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
4764#define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
4766#define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
4768#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
4769
4770#define VDP_FUNC_ID_BASE_WINSYS 0x1000
4771
4782 VdpDevice device,
4783 VdpFuncId function_id,
4784 /* output parameters follow */
4785 void * * function_pointer
4786);
4787
4790
4798#ifdef __cplusplus
4799}
4800#endif
4801
4802#endif
4803
VdpStatus VdpBitmapSurfacePutBitsNative(VdpBitmapSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpBitmapSurface.
Definition: vdpau.h:2208
VdpStatus VdpBitmapSurfaceGetParameters(VdpBitmapSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height, VdpBool *frequently_accessed)
Retrieve the parameters used to create a VdpBitmapSurface.
Definition: vdpau.h:2180
VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
Create a VdpBitmapSurface.
Definition: vdpau.h:2150
VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
Destroy a VdpBitmapSurface.
Definition: vdpau.h:2165
VdpStatus VdpBitmapSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpBitmapSurface capabilities.
Definition: vdpau.h:2118
uint32_t VdpBitmapSurface
An opaque handle representing a VdpBitmapSurface object.
Definition: vdpau.h:2131
uint32_t VdpColorStandard
YCbCr color space specification.
Definition: vdpau.h:1529
VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
Generate a color space conversion matrix.
Definition: vdpau.h:1546
float VdpCSCMatrix[3][4]
Storage for a color space conversion matrix.
Definition: vdpau.h:1484
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.
Definition: vdpau.h:2760
VdpDecoderCapability
Definition: vdpau.h:2707
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition: vdpau.h:3198
VdpVideoSurfaceSupportedPictureStructure
Definition: vdpau.h:2702
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition: vdpau.h:3206
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition: vdpau.h:2823
uint32_t VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded.
Definition: vdpau.h:2513
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 dev...
Definition: vdpau.h:2734
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition: vdpau.h:2807
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition: vdpau.h:2774
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition: vdpau.h:2792
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.
Definition: vdpau.h:3497
void VdpPictureInfo
A generic "picture information" type.
Definition: vdpau.h:2858
@ VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES
Definition: vdpau.h:2720
@ VDP_DECODER_PROFILE_MAX_WIDTH
Definition: vdpau.h:2710
@ VDP_DECODER_PROFILE_MAX_HEIGHT
Definition: vdpau.h:2711
@ VDP_DECODER_PROFILE_MAX_MACROBLOCKS
Definition: vdpau.h:2709
@ VDP_DECODER_PROFILE_MAX_LEVEL
Definition: vdpau.h:2708
@ VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE
Definition: vdpau.h:2712
@ VDP_VIDEO_SURFACE_FRAME_STRUCTURE
Definition: vdpau.h:2704
@ VDP_VIDEO_SURFACE_FIELD_STRUCTURE
Definition: vdpau.h:2703
uint32_t VdpDevice
An opaque handle representing a VdpDevice object.
Definition: vdpau.h:1435
VdpStatus VdpDeviceDestroy(VdpDevice device)
Destroy a VdpDevice.
Definition: vdpau.h:1442
VdpStatus VdpOutputSurfaceGetBitsNative(VdpOutputSurface surface, VdpRect const *source_rect, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpOutputSurface to application memory in the surface's native format.
Definition: vdpau.h:1965
uint32_t VdpColorTableFormat
The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
Definition: vdpau.h:1796
VdpStatus VdpOutputSurfacePutBitsYCbCr(VdpOutputSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect, VdpCSCMatrix const *csc_matrix)
Copy image data from application memory in a specific YCbCr format to a VdpOutputSurface.
Definition: vdpau.h:2058
uint32_t VdpOutputSurface
An opaque handle representing a VdpOutputSurface object.
Definition: vdpau.h:1897
VdpStatus VdpOutputSurfacePutBitsNative(VdpOutputSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpOutputSurface.
Definition: vdpau.h:1991
VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
Create a VdpOutputSurface.
Definition: vdpau.h:1911
VdpStatus VdpOutputSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpOutputSurface capabilities.
Definition: vdpau.h:1824
VdpStatus VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data matching ...
Definition: vdpau.h:1843
VdpStatus VdpOutputSurfaceQueryPutBitsIndexedCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpIndexedFormat bits_indexed_format, VdpColorTableFormat color_table_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1864
VdpStatus VdpOutputSurfacePutBitsIndexed(VdpOutputSurface surface, VdpIndexedFormat source_indexed_format, void const *const *source_data, uint32_t const *source_pitch, VdpRect const *destination_rect, VdpColorTableFormat color_table_format, void const *color_table)
Copy image data from application memory in a specific indexed format to a VdpOutputSurface.
Definition: vdpau.h:2023
VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpOutputSurface.
Definition: vdpau.h:1938
VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
Destroy a VdpOutputSurface.
Definition: vdpau.h:1925
VdpStatus VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1885
VdpStatus VdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpOutputSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpOutputSurface into a sub-rectangle of another VdpOutputSurface; Out...
Definition: vdpau.h:2403
VdpOutputSurfaceRenderBlendFactor
The blending equation factors.
Definition: vdpau.h:2232
VdpOutputSurfaceRenderBlendEquation
The blending equations.
Definition: vdpau.h:2254
VdpStatus VdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpBitmapSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpBitmapSurface into a sub-rectangle of a VdpOutputSurface; Output Su...
Definition: vdpau.h:2483
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA
Definition: vdpau.h:2237
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE
Definition: vdpau.h:2234
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA
Definition: vdpau.h:2239
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR
Definition: vdpau.h:2235
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR
Definition: vdpau.h:2242
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE
Definition: vdpau.h:2243
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
Definition: vdpau.h:2245
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
Definition: vdpau.h:2240
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO
Definition: vdpau.h:2233
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR
Definition: vdpau.h:2241
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR
Definition: vdpau.h:2236
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
Definition: vdpau.h:2238
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA
Definition: vdpau.h:2246
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
Definition: vdpau.h:2247
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR
Definition: vdpau.h:2244
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN
Definition: vdpau.h:2258
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT
Definition: vdpau.h:2256
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX
Definition: vdpau.h:2259
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD
Definition: vdpau.h:2257
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT
Definition: vdpau.h:2255
VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
Retrieve the presentation queue's "current" time.
Definition: vdpau.h:4443
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition: vdpau.h:4543
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition: vdpau.h:4368
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition: vdpau.h:4421
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition: vdpau.h:4383
VdpStatus VdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, uint32_t clip_width, uint32_t clip_height, VdpTime earliest_presentation_time)
Enter a surface into the presentation queue.
Definition: vdpau.h:4489
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition: vdpau.h:4408
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition: vdpau.h:4431
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition: vdpau.h:4512
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition: vdpau.h:4396
uint64_t VdpTime
The representation of a point in time.
Definition: vdpau.h:4358
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition: vdpau.h:4375
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition: vdpau.h:4523
@ VDP_PRESENTATION_QUEUE_STATUS_QUEUED
Definition: vdpau.h:4527
@ VDP_PRESENTATION_QUEUE_STATUS_IDLE
Definition: vdpau.h:4525
@ VDP_PRESENTATION_QUEUE_STATUS_VISIBLE
Definition: vdpau.h:4529
VdpStatus VdpVideoMixerGetParameterValues(VdpVideoMixer mixer, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void *const *parameter_values)
Retrieve parameter values given at creation time.
Definition: vdpau.h:4134
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition: vdpau.h:4154
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation's support for a specific attribute.
Definition: vdpau.h:3969
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation's support for a specific feature.
Definition: vdpau.h:3936
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition: vdpau.h:3584
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition: vdpau.h:4015
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation's support for a specific parameter.
Definition: vdpau.h:3953
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation's supported for a specific attribute.
Definition: vdpau.h:4004
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition: vdpau.h:3740
VdpStatus VdpVideoMixerRender(VdpVideoMixer mixer, VdpOutputSurface background_surface, VdpRect const *background_source_rect, VdpVideoMixerPictureStructure current_picture_structure, uint32_t video_surface_past_count, VdpVideoSurface const *video_surface_past, VdpVideoSurface video_surface_current, uint32_t video_surface_future_count, VdpVideoSurface const *video_surface_future, VdpRect const *video_source_rect, VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpRect const *destination_video_rect, uint32_t layer_count, VdpLayer const *layers)
Perform a video post-processing and compositing operation.
Definition: vdpau.h:4289
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition: vdpau.h:3814
VdpStatus VdpVideoMixerCreate(VdpDevice device, uint32_t feature_count, VdpVideoMixerFeature const *features, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void const *const *parameter_values, VdpVideoMixer *mixer)
Create a VdpVideoMixer.
Definition: vdpau.h:4037
VdpStatus VdpVideoMixerGetFeatureSupport(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_supports)
Retrieve whether features were requested at creation time.
Definition: vdpau.h:4097
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition: vdpau.h:4079
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition: vdpau.h:4060
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation's supported for a specific parameter.
Definition: vdpau.h:3986
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition: vdpau.h:4176
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition: vdpau.h:4114
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition: vdpau.h:4167
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD
Definition: vdpau.h:4180
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME
Definition: vdpau.h:4189
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD
Definition: vdpau.h:4185
VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's VdpVideoSurface GetBits/PutBits capabilities.
Definition: vdpau.h:1617
VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
Destroy a VdpVideoSurface.
Definition: vdpau.h:1690
VdpStatus VdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches)
Copy image data from application memory in a specific YCbCr format to a VdpVideoSurface.
Definition: vdpau.h:1754
VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
Create a VdpVideoSurface.
Definition: vdpau.h:1676
VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpVideoSurface.
Definition: vdpau.h:1703
VdpStatus VdpVideoSurfaceQueryCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpVideoSurface capabilities.
Definition: vdpau.h:1597
uint32_t VdpVideoSurface
An opaque handle representing a VdpVideoSurface object.
Definition: vdpau.h:1629
VdpStatus VdpVideoSurfaceGetBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat destination_ycbcr_format, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpVideoSurface to application memory in a specified YCbCr format.
Definition: vdpau.h:1729
int VdpBool
A boolean value, holding VDP_TRUE or VDP_FALSE.
Definition: vdpau.h:813
VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
Configure the display preemption callback.
Definition: vdpau.h:4620
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device's display has been preempted.
Definition: vdpau.h:4605
VdpStatus
The set of all possible error codes.
Definition: vdpau.h:1198
char const * VdpGetErrorString(VdpStatus status)
Retrieve a string describing an error code.
Definition: vdpau.h:1341
@ VDP_STATUS_NO_IMPLEMENTATION
Definition: vdpau.h:1204
@ VDP_STATUS_INVALID_COLOR_TABLE_FORMAT
Definition: vdpau.h:1248
@ VDP_STATUS_DISPLAY_PREEMPTED
Definition: vdpau.h:1210
@ VDP_STATUS_INVALID_RGBA_FORMAT
Definition: vdpau.h:1236
@ VDP_STATUS_INVALID_FLAG
Definition: vdpau.h:1262
@ VDP_STATUS_INVALID_HANDLE
Definition: vdpau.h:1217
@ VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE
Definition: vdpau.h:1270
@ VDP_STATUS_RESOURCES
Definition: vdpau.h:1315
@ VDP_STATUS_INVALID_CHROMA_TYPE
Definition: vdpau.h:1228
@ VDP_STATUS_INVALID_Y_CB_CR_FORMAT
Definition: vdpau.h:1232
@ VDP_STATUS_HANDLE_DEVICE_MISMATCH
Definition: vdpau.h:1325
@ VDP_STATUS_INVALID_BLEND_FACTOR
Definition: vdpau.h:1253
@ VDP_STATUS_OK
Definition: vdpau.h:1200
@ VDP_STATUS_INVALID_BLEND_EQUATION
Definition: vdpau.h:1258
@ VDP_STATUS_INVALID_VALUE
Definition: vdpau.h:1304
@ VDP_STATUS_INVALID_INDEXED_FORMAT
Definition: vdpau.h:1240
@ VDP_STATUS_INVALID_DECODER_PROFILE
Definition: vdpau.h:1266
@ VDP_STATUS_INVALID_SIZE
Definition: vdpau.h:1297
@ VDP_STATUS_INVALID_COLOR_STANDARD
Definition: vdpau.h:1244
@ VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE
Definition: vdpau.h:1283
@ VDP_STATUS_ERROR
Definition: vdpau.h:1329
@ VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER
Definition: vdpau.h:1274
@ VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE
Definition: vdpau.h:1278
@ VDP_STATUS_INVALID_FUNC_ID
Definition: vdpau.h:1287
@ VDP_STATUS_INVALID_STRUCT_VERSION
Definition: vdpau.h:1310
@ VDP_STATUS_INVALID_POINTER
Definition: vdpau.h:1224
uint8_t frame_pred_frame_dct
Definition: vdpau.h:2889
uint8_t chroma_format_idc
Definition: vdpau.h:3230
uint8_t NumPocLtCurr
Definition: vdpau.h:3409
uint8_t num_extra_slice_header_bits
Definition: vdpau.h:3297
uint8_t frame_mbs_only_flag
Definition: vdpau.h:2985
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: vdpau.h:3273
VdpOutputSurfaceRenderBlendEquation blend_equation_color
Definition: vdpau.h:2292
uint8_t transformSkipContextEnableFlag
Definition: vdpau.h:3437
uint32_t slice_count
Definition: vdpau.h:3062
uint8_t concealment_motion_vectors
Definition: vdpau.h:2890
uint8_t log2_min_transform_block_size_minus2
Definition: vdpau.h:3243
uint8_t redundant_pic_cnt_present_flag
Definition: vdpau.h:3000
uint8_t log2SaoOffsetScaleChroma
Definition: vdpau.h:3471
uint8_t range_mapuv
Definition: vdpau.h:3109
VdpVideoSurface backward_reference
Definition: vdpau.h:3059
uint8_t interlace
Definition: vdpau.h:3077
uint8_t fastuvmc
Definition: vdpau.h:3103
uint32_t pic_width_in_luma_samples
Definition: vdpau.h:3233
uint8_t log2_max_frame_num_minus4
Definition: vdpau.h:2992
uint32_t struct_version
Definition: vdpau.h:1500
uint8_t pps_deblocking_filter_disabled_flag
Definition: vdpau.h:3340
uint8_t picture_type
Definition: vdpau.h:3064
uint32_t pic_height_in_luma_samples
Definition: vdpau.h:3234
int8_t pps_tc_offset_div2
Definition: vdpau.h:3346
uint8_t RAPPicFlag
Definition: vdpau.h:3361
float red
Definition: vdpau.h:1180
VdpPictureInfoH264 pictureInfo
Definition: vdpau.h:3023
VdpOutputSurfaceRenderBlendFactor blend_factor_source_color
Definition: vdpau.h:2288
uint8_t diffCuChromaQpAdjustmentDepth
Definition: vdpau.h:3464
uint8_t sps_max_dec_pic_buffering_minus1
Definition: vdpau.h:3240
uint32_t y0
Definition: vdpau.h:1164
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3232
uint32_t slice_count
Definition: vdpau.h:2967
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: vdpau.h:3310
VdpBool is_reference
Definition: vdpau.h:2971
uint8_t delta_pic_order_always_zero_flag
Definition: vdpau.h:2995
uint8_t diff_cu_qp_delta_depth
Definition: vdpau.h:3307
uint8_t transform_8x8_mode_flag
Definition: vdpau.h:2986
uint8_t strong_intra_smoothing_enabled_flag
Definition: vdpau.h:3288
VdpVideoSurface backward_reference
Definition: vdpau.h:2878
int8_t init_qp_minus26
Definition: vdpau.h:3302
uint8_t sign_data_hiding_enabled_flag
Definition: vdpau.h:3298
uint8_t log2_min_luma_coding_block_size_minus3
Definition: vdpau.h:3241
VdpBool is_long_term
Definition: vdpau.h:2922
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha
Definition: vdpau.h:2291
uint8_t pulldown
Definition: vdpau.h:3075
VdpOutputSurfaceRenderBlendEquation blend_equation_alpha
Definition: vdpau.h:2293
uint8_t dependent_slice_segments_enabled_flag
Definition: vdpau.h:3295
uint8_t tfcntrflag
Definition: vdpau.h:3079
uint8_t intraBlockCopyEnableFlag
Definition: vdpau.h:3453
uint8_t syncmarker
Definition: vdpau.h:3120
uint32_t NumShortTermPictureSliceHeaderBits
Definition: vdpau.h:3377
uint8_t vop_coding_type
Definition: vdpau.h:3175
uint8_t top_field_first
Definition: vdpau.h:2894
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: vdpau.h:3033
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:2994
uint32_t struct_version
Definition: vdpau.h:2841
uint32_t x1
Definition: vdpau.h:1166
uint8_t postprocflag
Definition: vdpau.h:3073
uint8_t alternate_scan
Definition: vdpau.h:2892
uint8_t persistentRiceAdaptationEnableFlag
Definition: vdpau.h:3449
uint32_t NumLongTermPictureSliceHeaderBits
Definition: vdpau.h:3382
VdpPictureInfoHEVC pictureInfo
Definition: vdpau.h:3430
uint8_t max_transform_hierarchy_depth_intra
Definition: vdpau.h:3246
uint8_t cabacBypassAlignmentEnableFlag
Definition: vdpau.h:3451
uint8_t vop_fcode_forward
Definition: vdpau.h:3176
uint8_t psf
Definition: vdpau.h:3083
uint8_t pic_order_present_flag
Definition: vdpau.h:2998
uint8_t entropy_coding_mode_flag
Definition: vdpau.h:2997
uint8_t log2_diff_max_min_transform_block_size
Definition: vdpau.h:3244
uint16_t vop_time_increment_resolution
Definition: vdpau.h:3174
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: vdpau.h:3271
uint8_t range_mapuv_flag
Definition: vdpau.h:3108
uint8_t pic_order_cnt_type
Definition: vdpau.h:2993
float green
Definition: vdpau.h:1181
uint8_t mb_adaptive_frame_field_flag
Definition: vdpau.h:2981
uint8_t quantizer
Definition: vdpau.h:3091
uint8_t q_scale_type
Definition: vdpau.h:2893
int8_t second_chroma_qp_index_offset
Definition: vdpau.h:2988
uint8_t vop_fcode_backward
Definition: vdpau.h:3177
uint8_t num_ref_idx_l1_active_minus1
Definition: vdpau.h:2991
uint8_t output_flag_present_flag
Definition: vdpau.h:3296
VdpBool bottom_is_reference
Definition: vdpau.h:2932
int8_t pps_beta_offset_div2
Definition: vdpau.h:3343
float hue
Definition: vdpau.h:1520
uint8_t bottom_field_flag
Definition: vdpau.h:2979
uint8_t multires
Definition: vdpau.h:3115
uint8_t quant_type
Definition: vdpau.h:3180
VdpVideoSurface forward_reference
Definition: vdpau.h:3161
uint8_t extended_mv
Definition: vdpau.h:3093
uint8_t NumPocStCurrBefore
Definition: vdpau.h:3403
uint8_t long_term_ref_pics_present_flag
Definition: vdpau.h:3283
uint8_t transformSkipRotationEnableFlag
Definition: vdpau.h:3435
uint8_t weighted_pred_flag
Definition: vdpau.h:2983
uint8_t sps_temporal_mvp_enabled_flag
Definition: vdpau.h:3287
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: vdpau.h:3275
uint8_t num_tile_columns_minus1
Definition: vdpau.h:3317
uint16_t frame_idx
Definition: vdpau.h:2940
int32_t CurrPicOrderCntVal
Definition: vdpau.h:3388
uint8_t max_transform_hierarchy_depth_inter
Definition: vdpau.h:3245
uint8_t num_ref_idx_l0_default_active_minus1
Definition: vdpau.h:3300
int8_t pic_init_qp_minus26
Definition: vdpau.h:2989
uint8_t entropy_coding_sync_enabled_flag
Definition: vdpau.h:3315
uint8_t frame_coding_mode
Definition: vdpau.h:3066
uint8_t implicitRdpcmEnableFlag
Definition: vdpau.h:3439
uint8_t panscan_flag
Definition: vdpau.h:3087
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3303
VdpVideoSurface forward_reference
Definition: vdpau.h:2873
uint8_t sps_range_extension_flag
Definition: vdpau.h:3433
VdpVideoSurface backward_reference
Definition: vdpau.h:3166
uint8_t quarter_sample
Definition: vdpau.h:3181
uint8_t pquant
Definition: vdpau.h:3146
uint8_t IDRPicFlag
Definition: vdpau.h:3358
uint8_t top_field_first
Definition: vdpau.h:3186
uint8_t num_ref_frames
Definition: vdpau.h:2980
VdpBool top_is_reference
Definition: vdpau.h:2927
uint8_t range_mapy_flag
Definition: vdpau.h:3105
VdpOutputSurface source_surface
Definition: vdpau.h:4206
uint32_t y
Definition: vdpau.h:1147
uint8_t weighted_bipred_flag
Definition: vdpau.h:3312
void const * bitstream
Definition: vdpau.h:2843
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:2999
uint8_t rounding_control
Definition: vdpau.h:3184
uint8_t num_short_term_ref_pic_sets
Definition: vdpau.h:3282
uint16_t frame_num
Definition: vdpau.h:2977
uint32_t bitstream_bytes
Definition: vdpau.h:2845
uint8_t chromaQpAdjustmentTableSize
Definition: vdpau.h:3466
uint32_t VdpFuncId
A type suitable for VdpGetProcAddress's function_id parameter.
Definition: vdpau.h:4643
VdpVideoSurface forward_reference
Definition: vdpau.h:3054
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: vdpau.h:3242
float blue
Definition: vdpau.h:1182
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: vdpau.h:3333
uint8_t pps_range_extension_flag
Definition: vdpau.h:3456
VdpColor blend_constant
Definition: vdpau.h:2294
uint8_t cu_qp_delta_enabled_flag
Definition: vdpau.h:3305
float saturation
Definition: vdpau.h:1515
uint8_t weighted_bipred_idc
Definition: vdpau.h:2984
uint8_t log2MaxTransformSkipSize
Definition: vdpau.h:3458
uint8_t refdist_flag
Definition: vdpau.h:3089
uint8_t amp_enabled_flag
Definition: vdpau.h:3267
uint8_t crossComponentPredictionEnableFlag
Definition: vdpau.h:3460
uint8_t chromaQpAdjustmentEnableFlag
Definition: vdpau.h:3462
uint8_t weighted_pred_flag
Definition: vdpau.h:3311
uint8_t direct_8x8_inference_flag
Definition: vdpau.h:2996
float contrast
Definition: vdpau.h:1510
uint8_t maxbframes
Definition: vdpau.h:3132
uint8_t extendedPrecisionProcessingFlag
Definition: vdpau.h:3443
uint8_t uniform_spacing_flag
Definition: vdpau.h:3321
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3038
uint8_t CurrRpsIdx
Definition: vdpau.h:3363
uint32_t struct_version
Definition: vdpau.h:2287
uint8_t num_ref_idx_l0_active_minus1
Definition: vdpau.h:2990
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition: vdpau.h:4781
uint32_t struct_version
Definition: vdpau.h:4202
uint8_t loop_filter_across_tiles_enabled_flag
Definition: vdpau.h:3332
uint8_t bit_depth_chroma_minus8
Definition: vdpau.h:3236
uint32_t y1
Definition: vdpau.h:1168
uint8_t alternate_vertical_scan_flag
Definition: vdpau.h:3185
uint8_t deblocking_filter_override_enabled_flag
Definition: vdpau.h:3337
int8_t chroma_qp_index_offset
Definition: vdpau.h:2987
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color
Definition: vdpau.h:2289
uint8_t loopfilter
Definition: vdpau.h:3101
uint8_t deblockEnable
Definition: vdpau.h:3140
uint8_t interlaced
Definition: vdpau.h:3179
uint8_t full_pel_forward_vector
Definition: vdpau.h:2896
uint8_t tiles_enabled_flag
Definition: vdpau.h:3314
float brightness
Definition: vdpau.h:1505
uint8_t extended_dmv
Definition: vdpau.h:3095
uint8_t full_pel_backward_vector
Definition: vdpau.h:2898
uint32_t x0
Definition: vdpau.h:1162
uint8_t slice_segment_header_extension_present_flag
Definition: vdpau.h:3349
uint8_t resync_marker_disable
Definition: vdpau.h:3178
int8_t pps_cb_qp_offset
Definition: vdpau.h:3308
uint32_t NumPocTotalCurr
Definition: vdpau.h:3365
uint8_t pcm_enabled_flag
Definition: vdpau.h:3269
uint8_t short_video_header
Definition: vdpau.h:3182
uint8_t intra_dc_precision
Definition: vdpau.h:2888
uint8_t rangered
Definition: vdpau.h:3127
uint8_t field_pic_flag
Definition: vdpau.h:2978
uint8_t highPrecisionOffsetsEnableFlag
Definition: vdpau.h:3447
uint32_t slice_count
Definition: vdpau.h:2880
uint8_t pcm_loop_filter_disabled_flag
Definition: vdpau.h:3279
uint8_t sample_adaptive_offset_enabled_flag
Definition: vdpau.h:3268
uint8_t cabac_init_present_flag
Definition: vdpau.h:3299
uint32_t x
Definition: vdpau.h:1145
uint8_t transform_skip_enabled_flag
Definition: vdpau.h:3304
uint8_t num_long_term_ref_pics_sps
Definition: vdpau.h:3286
int8_t pps_cr_qp_offset
Definition: vdpau.h:3309
uint8_t vstransform
Definition: vdpau.h:3099
uint8_t log2_parallel_merge_level_minus2
Definition: vdpau.h:3348
uint32_t NumDeltaPocsOfRefRpsIdx
Definition: vdpau.h:3369
uint8_t num_ref_idx_l1_default_active_minus1
Definition: vdpau.h:3301
VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha
Definition: vdpau.h:2290
uint8_t log2SaoOffsetScaleLuma
Definition: vdpau.h:3469
VdpRect const * destination_rect
Definition: vdpau.h:4220
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:2982
uint8_t intra_vlc_format
Definition: vdpau.h:2891
uint8_t finterpflag
Definition: vdpau.h:3081
uint8_t picture_coding_type
Definition: vdpau.h:2887
uint8_t bit_depth_luma_minus8
Definition: vdpau.h:3235
VdpRect const * source_rect
Definition: vdpau.h:4211
uint8_t range_mapy
Definition: vdpau.h:3106
uint8_t transquant_bypass_enabled_flag
Definition: vdpau.h:3313
uint8_t overlap
Definition: vdpau.h:3097
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3237
uint8_t lists_modification_present_flag
Definition: vdpau.h:3347
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3334
uint8_t intraSmoothingDisabledFlag
Definition: vdpau.h:3445
uint8_t scaling_list_enabled_flag
Definition: vdpau.h:3247
uint8_t NumPocStCurrAfter
Definition: vdpau.h:3406
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: vdpau.h:3277
uint8_t num_tile_rows_minus1
Definition: vdpau.h:3319
uint8_t dquant
Definition: vdpau.h:3085
float alpha
Definition: vdpau.h:1183
uint8_t picture_structure
Definition: vdpau.h:2886
uint8_t explicitRdpcmEnableFlag
Definition: vdpau.h:3441
VdpVideoSurface surface
Definition: vdpau.h:2920
uint32_t VdpYCbCrFormat
The set of all known YCbCr surface formats.
Definition: vdpau.h:904
uint32_t VdpChromaType
The set of all chroma formats for VdpVideoSurfaces.
Definition: vdpau.h:839
uint32_t VdpIndexedFormat
The set of all known indexed surface formats.
Definition: vdpau.h:1085
uint32_t VdpRGBAFormat
The set of all known RGB surface formats.
Definition: vdpau.h:1016
VdpStatus VdpGetInformationString(char const **information_string)
Retrieve an implementation-specific string description of the implementation. This typically includes...
Definition: vdpau.h:1411
VdpStatus VdpGetApiVersion(uint32_t *api_version)
Retrieve the VDPAU version implemented by the backend.
Definition: vdpau.h:1389
Application data buffer containing compressed video data.
Definition: vdpau.h:2837
Definition: vdpau.h:1179
Definition of an additional VdpOutputSurface layer in the composting model.
Definition: vdpau.h:4198
Complete blending operation definition.
Definition: vdpau.h:2283
Picture parameter information for an H.264 picture.
Definition: vdpau.h:2965
Picture parameter information for an H.264 Hi444PP picture.
Definition: vdpau.h:3021
Picture parameter information for an HEVC 444 picture.
Definition: vdpau.h:3428
Picture parameter information for an H.265/HEVC picture.
Definition: vdpau.h:3225
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: vdpau.h:2868
Picture parameter information for an MPEG-4 Part 2 picture.
Definition: vdpau.h:3156
Picture parameter information for a VC1 picture.
Definition: vdpau.h:3049
A location within a surface.
Definition: vdpau.h:1143
Procamp operation parameterization data.
Definition: vdpau.h:1496
A rectangular region of a surface.
Definition: vdpau.h:1160
Information about an H.264 reference frame.
Definition: vdpau.h:2915