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)
908#define VDP_CHROMA_TYPE_420_16 ((VdpChromaType)9)
917#define VDP_CHROMA_TYPE_422_16 ((VdpChromaType)10)
926#define VDP_CHROMA_TYPE_444_16 ((VdpChromaType)11)
927
932#define VDP_CHROMA_TYPE_420_FIELD_16 ((VdpChromaType)12)
937#define VDP_CHROMA_TYPE_422_FIELD_16 ((VdpChromaType)13)
942#define VDP_CHROMA_TYPE_444_FIELD_16 ((VdpChromaType)14)
943
948#define VDP_CHROMA_TYPE_420_FRAME_16 ((VdpChromaType)15)
953#define VDP_CHROMA_TYPE_422_FRAME_16 ((VdpChromaType)16)
958#define VDP_CHROMA_TYPE_444_FRAME_16 ((VdpChromaType)17)
959
963typedef uint32_t VdpYCbCrFormat;
964
978#define VDP_YCBCR_FORMAT_NV12 ((VdpYCbCrFormat)0)
990#define VDP_YCBCR_FORMAT_YV12 ((VdpYCbCrFormat)1)
1004#define VDP_YCBCR_FORMAT_UYVY ((VdpYCbCrFormat)2)
1018#define VDP_YCBCR_FORMAT_YUYV ((VdpYCbCrFormat)3)
1031#define VDP_YCBCR_FORMAT_Y8U8V8A8 ((VdpYCbCrFormat)4)
1044#define VDP_YCBCR_FORMAT_V8U8Y8A8 ((VdpYCbCrFormat)5)
1058#define VDP_YCBCR_FORMAT_Y_UV_444 ((VdpYCbCrFormat)6)
1070#define VDP_YCBCR_FORMAT_Y_U_V_444 ((VdpYCbCrFormat)7)
1088#define VDP_YCBCR_FORMAT_P010 ((VdpYCbCrFormat)8)
1102#define VDP_YCBCR_FORMAT_P016 ((VdpYCbCrFormat)9)
1114 #define VDP_YCBCR_FORMAT_Y_U_V_444_16 ((VdpYCbCrFormat)11)
1115
1119typedef uint32_t VdpRGBAFormat;
1120
1133#define VDP_RGBA_FORMAT_B8G8R8A8 ((VdpRGBAFormat)0)
1146#define VDP_RGBA_FORMAT_R8G8B8A8 ((VdpRGBAFormat)1)
1159#define VDP_RGBA_FORMAT_R10G10B10A2 ((VdpRGBAFormat)2)
1172#define VDP_RGBA_FORMAT_B10G10R10A2 ((VdpRGBAFormat)3)
1183#define VDP_RGBA_FORMAT_A8 ((VdpRGBAFormat)4)
1184
1188typedef uint32_t VdpIndexedFormat;
1189
1201#define VDP_INDEXED_FORMAT_A4I4 ((VdpIndexedFormat)0)
1213#define VDP_INDEXED_FORMAT_I4A4 ((VdpIndexedFormat)1)
1225#define VDP_INDEXED_FORMAT_A8I8 ((VdpIndexedFormat)2)
1237#define VDP_INDEXED_FORMAT_I8A8 ((VdpIndexedFormat)3)
1238
1246typedef struct {
1248 uint32_t x;
1250 uint32_t y;
1251} VdpPoint;
1252
1263typedef struct {
1265 uint32_t x0;
1267 uint32_t y0;
1269 uint32_t x1;
1271 uint32_t y1;
1272} VdpRect;
1273
1282typedef struct {
1283 float red;
1284 float green;
1285 float blue;
1286 float alpha;
1287} VdpColor;
1288
1301typedef enum {
1433} VdpStatus;
1434
1444typedef char const * VdpGetErrorString(
1445 VdpStatus status
1446);
1447
1472#define VDPAU_INTERFACE_VERSION 1
1473
1485#define VDPAU_VERSION 1
1486
1493 /* output parameters follow */
1494 uint32_t * api_version
1495);
1496
1515 /* output parameters follow */
1516 char const * * information_string
1517);
1518
1538typedef uint32_t VdpDevice;
1539
1546 VdpDevice device
1547);
1548
1587typedef float VdpCSCMatrix[3][4];
1588
1589#define VDP_PROCAMP_VERSION 0
1590
1599typedef struct {
1623 float hue;
1624} VdpProcamp;
1625
1632typedef uint32_t VdpColorStandard;
1633
1635#define VDP_COLOR_STANDARD_ITUR_BT_601 ((VdpColorStandard)0)
1637#define VDP_COLOR_STANDARD_ITUR_BT_709 ((VdpColorStandard)1)
1639#define VDP_COLOR_STANDARD_SMPTE_240M ((VdpColorStandard)2)
1640
1650 VdpProcamp * procamp,
1651 VdpColorStandard standard,
1652 /* output parameters follow */
1653 VdpCSCMatrix * csc_matrix
1654);
1655
1701 VdpDevice device,
1702 VdpChromaType surface_chroma_type,
1703 /* output parameters follow */
1704 VdpBool * is_supported,
1705 uint32_t * max_width,
1706 uint32_t * max_height
1707);
1708
1721 VdpDevice device,
1722 VdpChromaType surface_chroma_type,
1723 VdpYCbCrFormat bits_ycbcr_format,
1724 /* output parameters follow */
1725 VdpBool * is_supported
1726);
1727
1732typedef uint32_t VdpVideoSurface;
1733
1780 VdpDevice device,
1781 VdpChromaType chroma_type,
1782 uint32_t width,
1783 uint32_t height,
1784 /* output parameters follow */
1785 VdpVideoSurface * surface
1786);
1787
1794 VdpVideoSurface surface
1795);
1796
1807 VdpVideoSurface surface,
1808 /* output parameters follow */
1809 VdpChromaType * chroma_type,
1810 uint32_t * width,
1811 uint32_t * height
1812);
1813
1833 VdpVideoSurface surface,
1834 VdpYCbCrFormat destination_ycbcr_format,
1835 void * const * destination_data,
1836 uint32_t const * destination_pitches
1837);
1838
1858 VdpVideoSurface surface,
1859 VdpYCbCrFormat source_ycbcr_format,
1860 void const * const * source_data,
1861 uint32_t const * source_pitches
1862);
1863
1898typedef uint32_t VdpColorTableFormat;
1899
1911#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8 ((VdpColorTableFormat)0)
1912
1927 VdpDevice device,
1928 VdpRGBAFormat surface_rgba_format,
1929 /* output parameters follow */
1930 VdpBool * is_supported,
1931 uint32_t * max_width,
1932 uint32_t * max_height
1933);
1934
1946 VdpDevice device,
1947 VdpRGBAFormat surface_rgba_format,
1948 /* output parameters follow */
1949 VdpBool * is_supported
1950);
1951
1967 VdpDevice device,
1968 VdpRGBAFormat surface_rgba_format,
1969 VdpIndexedFormat bits_indexed_format,
1970 VdpColorTableFormat color_table_format,
1971 /* output parameters follow */
1972 VdpBool * is_supported
1973);
1974
1988 VdpDevice device,
1989 VdpRGBAFormat surface_rgba_format,
1990 VdpYCbCrFormat bits_ycbcr_format,
1991 /* output parameters follow */
1992 VdpBool * is_supported
1993);
1994
1999typedef uint32_t VdpOutputSurface;
2000
2014 VdpDevice device,
2015 VdpRGBAFormat rgba_format,
2016 uint32_t width,
2017 uint32_t height,
2018 /* output parameters follow */
2019 VdpOutputSurface * surface
2020);
2021
2028 VdpOutputSurface surface
2029);
2030
2041 VdpOutputSurface surface,
2042 /* output parameters follow */
2043 VdpRGBAFormat * rgba_format,
2044 uint32_t * width,
2045 uint32_t * height
2046);
2047
2068 VdpOutputSurface surface,
2069 VdpRect const * source_rect,
2070 void * const * destination_data,
2071 uint32_t const * destination_pitches
2072);
2073
2094 VdpOutputSurface surface,
2095 void const * const * source_data,
2096 uint32_t const * source_pitches,
2097 VdpRect const * destination_rect
2098);
2099
2126 VdpOutputSurface surface,
2127 VdpIndexedFormat source_indexed_format,
2128 void const * const * source_data,
2129 uint32_t const * source_pitch,
2130 VdpRect const * destination_rect,
2131 VdpColorTableFormat color_table_format,
2132 void const * color_table
2133);
2134
2161 VdpOutputSurface surface,
2162 VdpYCbCrFormat source_ycbcr_format,
2163 void const * const * source_data,
2164 uint32_t const * source_pitches,
2165 VdpRect const * destination_rect,
2166 VdpCSCMatrix const * csc_matrix
2167);
2168
2220 VdpDevice device,
2221 VdpRGBAFormat surface_rgba_format,
2222 /* output parameters follow */
2223 VdpBool * is_supported,
2224 uint32_t * max_width,
2225 uint32_t * max_height
2226);
2227
2232typedef uint32_t VdpBitmapSurface;
2233
2252 VdpDevice device,
2253 VdpRGBAFormat rgba_format,
2254 uint32_t width,
2255 uint32_t height,
2256 VdpBool frequently_accessed,
2257 /* output parameters follow */
2258 VdpBitmapSurface * surface
2259);
2260
2267 VdpBitmapSurface surface
2268);
2269
2282 VdpBitmapSurface surface,
2283 /* output parameters follow */
2284 VdpRGBAFormat * rgba_format,
2285 uint32_t * width,
2286 uint32_t * height,
2287 VdpBool * frequently_accessed
2288);
2289
2310 VdpBitmapSurface surface,
2311 void const * const * source_data,
2312 uint32_t const * source_pitches,
2313 VdpRect const * destination_rect
2314);
2315
2332typedef enum {
2349
2354typedef enum {
2361
2362#define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2363
2383typedef struct {
2396
2401#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0 0
2402
2408#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90 1
2409
2415#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180 2
2416
2422#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270 3
2423
2431#define VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX (1 << 2)
2432
2504 VdpOutputSurface destination_surface,
2505 VdpRect const * destination_rect,
2506 VdpOutputSurface source_surface,
2507 VdpRect const * source_rect,
2508 VdpColor const * colors,
2509 VdpOutputSurfaceRenderBlendState const * blend_state,
2510 uint32_t flags
2511);
2512
2584 VdpOutputSurface destination_surface,
2585 VdpRect const * destination_rect,
2586 VdpBitmapSurface source_surface,
2587 VdpRect const * source_rect,
2588 VdpColor const * colors,
2589 VdpOutputSurfaceRenderBlendState const * blend_state,
2590 uint32_t flags
2591);
2592
2613typedef uint32_t VdpDecoderProfile;
2614
2616#define VDP_DECODER_PROFILE_MPEG1 ((VdpDecoderProfile)0)
2618#define VDP_DECODER_PROFILE_MPEG2_SIMPLE ((VdpDecoderProfile)1)
2620#define VDP_DECODER_PROFILE_MPEG2_MAIN ((VdpDecoderProfile)2)
2623#define VDP_DECODER_PROFILE_H264_BASELINE ((VdpDecoderProfile)6)
2625#define VDP_DECODER_PROFILE_H264_MAIN ((VdpDecoderProfile)7)
2627#define VDP_DECODER_PROFILE_H264_HIGH ((VdpDecoderProfile)8)
2629#define VDP_DECODER_PROFILE_VC1_SIMPLE ((VdpDecoderProfile)9)
2631#define VDP_DECODER_PROFILE_VC1_MAIN ((VdpDecoderProfile)10)
2633#define VDP_DECODER_PROFILE_VC1_ADVANCED ((VdpDecoderProfile)11)
2635#define VDP_DECODER_PROFILE_MPEG4_PART2_SP ((VdpDecoderProfile)12)
2637#define VDP_DECODER_PROFILE_MPEG4_PART2_ASP ((VdpDecoderProfile)13)
2639#define VDP_DECODER_PROFILE_DIVX4_QMOBILE ((VdpDecoderProfile)14)
2641#define VDP_DECODER_PROFILE_DIVX4_MOBILE ((VdpDecoderProfile)15)
2643#define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER ((VdpDecoderProfile)16)
2645#define VDP_DECODER_PROFILE_DIVX4_HD_1080P ((VdpDecoderProfile)17)
2647#define VDP_DECODER_PROFILE_DIVX5_QMOBILE ((VdpDecoderProfile)18)
2649#define VDP_DECODER_PROFILE_DIVX5_MOBILE ((VdpDecoderProfile)19)
2651#define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER ((VdpDecoderProfile)20)
2653#define VDP_DECODER_PROFILE_DIVX5_HD_1080P ((VdpDecoderProfile)21)
2655#define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE ((VdpDecoderProfile)22)
2657#define VDP_DECODER_PROFILE_H264_EXTENDED ((VdpDecoderProfile)23)
2659#define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH ((VdpDecoderProfile)24)
2661#define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH ((VdpDecoderProfile)25)
2664#define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
2666#define VDP_DECODER_PROFILE_VP9_PROFILE_0 ((VdpDecoderProfile)27)
2668#define VDP_DECODER_PROFILE_VP9_PROFILE_1 ((VdpDecoderProfile)28)
2670#define VDP_DECODER_PROFILE_VP9_PROFILE_2 ((VdpDecoderProfile)29)
2672#define VDP_DECODER_PROFILE_VP9_PROFILE_3 ((VdpDecoderProfile)30)
2675#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
2677#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
2679#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
2681#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
2683#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
2685#define VDP_DECODER_PROFILE_HEVC_MAIN_444_10 ((VdpDecoderProfile)105)
2687#define VDP_DECODER_PROFILE_HEVC_MAIN_444_12 ((VdpDecoderProfile)106)
2688
2690#define VDP_DECODER_LEVEL_MPEG1_NA 0
2691
2693#define VDP_DECODER_LEVEL_MPEG2_LL 0
2695#define VDP_DECODER_LEVEL_MPEG2_ML 1
2697#define VDP_DECODER_LEVEL_MPEG2_HL14 2
2699#define VDP_DECODER_LEVEL_MPEG2_HL 3
2700
2702#define VDP_DECODER_LEVEL_H264_1 10
2704#define VDP_DECODER_LEVEL_H264_1b 9
2706#define VDP_DECODER_LEVEL_H264_1_1 11
2708#define VDP_DECODER_LEVEL_H264_1_2 12
2710#define VDP_DECODER_LEVEL_H264_1_3 13
2712#define VDP_DECODER_LEVEL_H264_2 20
2714#define VDP_DECODER_LEVEL_H264_2_1 21
2716#define VDP_DECODER_LEVEL_H264_2_2 22
2718#define VDP_DECODER_LEVEL_H264_3 30
2720#define VDP_DECODER_LEVEL_H264_3_1 31
2722#define VDP_DECODER_LEVEL_H264_3_2 32
2724#define VDP_DECODER_LEVEL_H264_4 40
2726#define VDP_DECODER_LEVEL_H264_4_1 41
2728#define VDP_DECODER_LEVEL_H264_4_2 42
2730#define VDP_DECODER_LEVEL_H264_5 50
2732#define VDP_DECODER_LEVEL_H264_5_1 51
2733
2735#define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2737#define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2738
2740#define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2742#define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2744#define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2745
2747#define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2749#define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2751#define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2753#define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2755#define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2756
2758#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2760#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2762#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2764#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2765
2767#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2769#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2771#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2773#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2775#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2777#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2778
2780#define VDP_DECODER_LEVEL_DIVX_NA 0
2781
2783#define VDP_DECODER_LEVEL_VP9_L1 1
2784
2791#define VDP_DECODER_LEVEL_HEVC_1 30
2793#define VDP_DECODER_LEVEL_HEVC_2 60
2795#define VDP_DECODER_LEVEL_HEVC_2_1 63
2797#define VDP_DECODER_LEVEL_HEVC_3 90
2799#define VDP_DECODER_LEVEL_HEVC_3_1 93
2801#define VDP_DECODER_LEVEL_HEVC_4 120
2803#define VDP_DECODER_LEVEL_HEVC_4_1 123
2805#define VDP_DECODER_LEVEL_HEVC_5 150
2807#define VDP_DECODER_LEVEL_HEVC_5_1 153
2809#define VDP_DECODER_LEVEL_HEVC_5_2 156
2811#define VDP_DECODER_LEVEL_HEVC_6 180
2813#define VDP_DECODER_LEVEL_HEVC_6_1 183
2815#define VDP_DECODER_LEVEL_HEVC_6_2 186
2816
2817typedef enum {
2821
2822typedef enum {
2837
2850 VdpDevice device,
2851 VdpDecoderProfile profile,
2852 /* output parameters follow */
2853 VdpDecoderCapability capability,
2854 void * capability_value
2855);
2856
2876 VdpDevice device,
2877 VdpDecoderProfile profile,
2878 /* output parameters follow */
2879 VdpBool * is_supported,
2880 uint32_t * max_level,
2881 uint32_t * max_macroblocks,
2882 uint32_t * max_width,
2883 uint32_t * max_height
2884);
2885
2889typedef uint32_t VdpDecoder;
2890
2908 VdpDevice device,
2909 VdpDecoderProfile profile,
2910 uint32_t width,
2911 uint32_t height,
2912 uint32_t max_references,
2913 /* output parameters follow */
2914 VdpDecoder * decoder
2915);
2916
2923 VdpDecoder decoder
2924);
2925
2939 VdpDecoder decoder,
2940 /* output parameters follow */
2941 VdpDecoderProfile * profile,
2942 uint32_t * width,
2943 uint32_t * height
2944);
2945
2946#define VDP_BITSTREAM_BUFFER_VERSION 0
2947
2952typedef struct {
2958 void const * bitstream;
2962
2973typedef void VdpPictureInfo;
2974
2983typedef struct {
2995 uint32_t slice_count;
2996
3015 uint8_t f_code[2][2];
3017 uint8_t intra_quantizer_matrix[64];
3019 uint8_t non_intra_quantizer_matrix[64];
3022
3030typedef struct {
3049 int32_t field_order_cnt[2];
3055 uint16_t frame_idx;
3057
3080typedef struct {
3082 uint32_t slice_count;
3084 int32_t field_order_cnt[2];
3087
3092 uint16_t frame_num;
3117 uint8_t scaling_lists_4x4[6][16];
3119 uint8_t scaling_lists_8x8[2][64];
3123 VdpReferenceFrameH264 referenceFrames[16];
3125
3136typedef struct {
3139
3156
3164typedef struct {
3175
3177 uint32_t slice_count;
3182
3190 uint8_t pulldown;
3192 uint8_t interlace;
3194 uint8_t tfcntrflag;
3198 uint8_t psf;
3200 uint8_t dquant;
3206 uint8_t quantizer;
3212 uint8_t overlap;
3216 uint8_t loopfilter;
3218 uint8_t fastuvmc;
3221 uint8_t range_mapy;
3225
3230 uint8_t multires;
3235 uint8_t syncmarker;
3242 uint8_t rangered;
3247 uint8_t maxbframes;
3261 uint8_t pquant;
3263
3271typedef struct {
3282
3287 int32_t trd[2];
3288 int32_t trb[2];
3294 uint8_t interlaced;
3295 uint8_t quant_type;
3302 uint8_t intra_quantizer_matrix[64];
3303 uint8_t non_intra_quantizer_matrix[64];
3306
3314
3322
3323typedef struct
3324{
3325 unsigned int width;
3326 unsigned int height;
3327
3328 //Frame Indices
3332
3333 unsigned char colorSpace;
3334
3335 unsigned short profile;
3336 unsigned short frameContextIdx;
3337 unsigned short keyFrame;
3338 unsigned short showFrame;
3339 unsigned short errorResilient;
3341 unsigned short subSamplingX;
3342 unsigned short subSamplingY;
3343 unsigned short intraOnly;
3344 unsigned short allowHighPrecisionMv;
3345 unsigned short refreshEntropyProbs;
3346
3347 unsigned char refFrameSignBias[4];
3348
3349 unsigned char bitDepthMinus8Luma;
3351 unsigned char loopFilterLevel;
3352 unsigned char loopFilterSharpness;
3353
3354 unsigned char modeRefLfEnabled;
3355 unsigned char log2TileColumns;
3356 unsigned char log2TileRows;
3357
3358 unsigned char segmentEnabled;
3359 unsigned char segmentMapUpdate;
3361 unsigned char segmentFeatureMode;
3362
3363 unsigned char segmentFeatureEnable[8][4];
3364 short segmentFeatureData[8][4];
3365 unsigned char mbSegmentTreeProbs[7];
3366 unsigned char segmentPredProbs[3];
3367 unsigned char reservedSegment16Bits[2];
3368
3373
3374 unsigned int activeRefIdx[3];
3375 unsigned int resetFrameContext;
3376 unsigned int mcompFilterType;
3377 unsigned int mbRefLfDelta[4];
3378 unsigned int mbModeLfDelta[2];
3382
3400typedef struct {
3426 uint8_t ScalingList4x4[6][16];
3429 uint8_t ScalingList8x8[6][64];
3432 uint8_t ScalingList16x16[6][64];
3435 uint8_t ScalingList32x32[2][64];
3438 uint8_t ScalingListDCCoeff16x16[6];
3441 uint8_t ScalingListDCCoeff32x32[2];
3500 uint16_t column_width_minus1[20];
3504 uint16_t row_height_minus1[22];
3534 uint8_t IDRPicFlag;
3537 uint8_t RAPPicFlag;
3539 uint8_t CurrRpsIdx;
3565
3569 VdpVideoSurface RefPics[16];
3572 int32_t PicOrderCntVal[16];
3576 uint8_t IsLongTerm[16];
3588 uint8_t RefPicSetStCurrBefore[8];
3591 uint8_t RefPicSetStCurrAfter[8];
3594 uint8_t RefPicSetLtCurr[8];
3596
3604typedef struct {
3607
3608 /* SPS Range Extensions for Main 444, Main 10, etc. */
3610 /* sps extension for transform_skip_rotation_enabled_flag */
3612 /* sps extension for transform_skip_context_enabled_flag */
3614 /* sps implicit_rdpcm_enabled_flag */
3616 /* sps explicit_rdpcm_enabled_flag */
3618 /* sps extended_precision_processing_flag,always 0 in current profile */
3620 /* sps intra_smoothing_disabled_flag */
3622 /* sps high_precision_offsets_enabled_flag */
3624 /* sps persistent_rice_adaptation_enabled_flag */
3626 /* sps cabac_bypass_alignment_enabled_flag, always 0 in current profile */
3628 /* sps intraBlockCopyEnableFlag, always 0 not used by the spec as of now */
3630
3631 /* PPS Range Extensions for Main 444, Main 10, etc. */
3633 /* pps extension log2_max_transform_skip_block_size_minus2, 0...5 */
3635 /* pps cross_component_prediction_enabled_flag */
3637 /* pps chroma_qp_adjustment_enabled_flag */
3639 /* pps diff_cu_chroma_qp_adjustment_depth, 0...3 */
3641 /* pps chroma_qp_adjustment_table_size_minus1+1, 1...6 */
3643 /* pps log2_sao_offset_scale_luma, max(0,bitdepth-10), */
3644 /* maxBitdepth 16 for future. */
3646 /* pps log2_sao_offset_scale_chroma */
3648 /* -[12,+12] */
3649 int8_t cb_qp_adjustment[6];
3650 /* -[12,+12] */
3651 int8_t cr_qp_adjustment[6];
3652
3654
3664
3684 VdpDecoder decoder,
3685 VdpVideoSurface target,
3686 VdpPictureInfo const * picture_info,
3687 uint32_t bitstream_buffer_count,
3688 VdpBitstreamBuffer const * bitstream_buffers
3689);
3690
3769typedef uint32_t VdpVideoMixerFeature;
3770
3782#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
3795#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
3804#define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
3812#define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
3820#define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
3833#define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
3855#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
3862#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
3869#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
3876#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
3883#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
3890#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
3897#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
3904#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
3911#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
3912
3925typedef uint32_t VdpVideoMixerParameter;
3926
3939#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
3952#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
3966#define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
3985#define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
3986
3999typedef uint32_t VdpVideoMixerAttribute;
4000
4014#define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
4042#define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
4055#define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
4071#define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
4083#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
4095#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
4110#define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
4111
4122 VdpDevice device,
4123 VdpVideoMixerFeature feature,
4124 /* output parameters follow */
4125 VdpBool * is_supported
4126);
4127
4139 VdpDevice device,
4140 VdpVideoMixerParameter parameter,
4141 /* output parameters follow */
4142 VdpBool * is_supported
4143);
4144
4155 VdpDevice device,
4156 VdpVideoMixerAttribute attribute,
4157 /* output parameters follow */
4158 VdpBool * is_supported
4159);
4160
4172 VdpDevice device,
4173 VdpVideoMixerParameter parameter,
4174 /* output parameters follow */
4175 void * min_value,
4176 void * max_value
4177);
4178
4190 VdpDevice device,
4191 VdpVideoMixerAttribute attribute,
4192 /* output parameters follow */
4193 void * min_value,
4194 void * max_value
4195);
4196
4200typedef uint32_t VdpVideoMixer;
4201
4223 VdpDevice device,
4224 // The set of features to request
4225 uint32_t feature_count,
4226 VdpVideoMixerFeature const * features,
4227 // The parameters used during creation
4228 uint32_t parameter_count,
4229 VdpVideoMixerParameter const * parameters,
4230 void const * const * parameter_values,
4231 /* output parameters follow */
4232 VdpVideoMixer * mixer
4233);
4234
4246 VdpVideoMixer mixer,
4247 uint32_t feature_count,
4248 VdpVideoMixerFeature const * features,
4249 VdpBool const * feature_enables
4250);
4251
4265 VdpVideoMixer mixer,
4266 uint32_t attribute_count,
4267 VdpVideoMixerAttribute const * attributes,
4268 void const * const * attribute_values
4269);
4270
4283 VdpVideoMixer mixer,
4284 uint32_t feature_count,
4285 VdpVideoMixerFeature const * features,
4286 /* output parameters follow */
4287 VdpBool * feature_supports
4288);
4289
4300 VdpVideoMixer mixer,
4301 uint32_t feature_count,
4302 VdpVideoMixerFeature const * features,
4303 /* output parameters follow */
4304 VdpBool * feature_enables
4305);
4306
4320 VdpVideoMixer mixer,
4321 uint32_t parameter_count,
4322 VdpVideoMixerParameter const * parameters,
4323 /* output parameters follow */
4324 void * const * parameter_values
4325);
4326
4340 VdpVideoMixer mixer,
4341 uint32_t attribute_count,
4342 VdpVideoMixerAttribute const * attributes,
4343 /* output parameters follow */
4344 void * const * attribute_values
4345);
4346
4353 VdpVideoMixer mixer
4354);
4355
4361typedef enum {
4376
4377#define VDP_LAYER_VERSION 0
4378
4383typedef struct {
4406} VdpLayer;
4407
4475 VdpVideoMixer mixer,
4476 VdpOutputSurface background_surface,
4477 VdpRect const * background_source_rect,
4478 VdpVideoMixerPictureStructure current_picture_structure,
4479 uint32_t video_surface_past_count,
4480 VdpVideoSurface const * video_surface_past,
4481 VdpVideoSurface video_surface_current,
4482 uint32_t video_surface_future_count,
4483 VdpVideoSurface const * video_surface_future,
4484 VdpRect const * video_source_rect,
4485 VdpOutputSurface destination_surface,
4486 VdpRect const * destination_rect,
4487 VdpRect const * destination_video_rect,
4488 uint32_t layer_count,
4489 VdpLayer const * layers
4490);
4491
4542typedef uint64_t VdpTime;
4543
4553
4560 VdpPresentationQueueTarget presentation_queue_target
4561);
4562
4567typedef uint32_t VdpPresentationQueue;
4568
4581 VdpDevice device,
4582 VdpPresentationQueueTarget presentation_queue_target,
4583 /* output parameters follow */
4584 VdpPresentationQueue * presentation_queue
4585);
4586
4593 VdpPresentationQueue presentation_queue
4594);
4595
4606 VdpPresentationQueue presentation_queue,
4607 VdpColor * const background_color
4608);
4609
4616 VdpPresentationQueue presentation_queue,
4617 VdpColor * background_color
4618);
4619
4628 VdpPresentationQueue presentation_queue,
4629 /* output parameters follow */
4630 VdpTime * current_time
4631);
4632
4674 VdpPresentationQueue presentation_queue,
4675 VdpOutputSurface surface,
4676 uint32_t clip_width,
4677 uint32_t clip_height,
4678 VdpTime earliest_presentation_time
4679);
4680
4697 VdpPresentationQueue presentation_queue,
4698 VdpOutputSurface surface,
4699 /* output parameters follow */
4700 VdpTime * first_presentation_time
4701);
4702
4707typedef enum {
4715
4728 VdpPresentationQueue presentation_queue,
4729 VdpOutputSurface surface,
4730 /* output parameters follow */
4732 VdpTime * first_presentation_time
4733);
4734
4790 VdpDevice device,
4791 void * context
4792);
4793
4805 VdpDevice device,
4806 VdpPreemptionCallback callback,
4807 void * context
4808);
4809
4827typedef uint32_t VdpFuncId;
4828
4830#define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
4832#define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
4834#define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
4836#define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
4838#define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
4840#define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
4842#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
4844#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
4846#define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
4848#define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
4850#define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
4852#define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
4854#define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
4856#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
4858#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
4860#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
4862#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
4864#define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
4866#define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
4868#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
4870#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
4872#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
4874#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
4876#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
4878#define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
4880#define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
4882#define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
4884#define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
4886#define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
4888#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
4890#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
4892#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
4894#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
4896#define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
4898#define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
4900#define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
4902#define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
4904#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
4906#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
4908#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
4910#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
4912#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
4914#define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
4916#define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
4918#define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
4920#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
4922#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
4924#define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
4926#define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
4928#define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
4930#define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
4932#define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
4934#define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
4936#define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
4938#define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
4940#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
4942#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
4944#define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
4946#define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
4948#define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
4950#define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
4952#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
4953
4954#define VDP_FUNC_ID_BASE_WINSYS 0x1000
4955
4966 VdpDevice device,
4967 VdpFuncId function_id,
4968 /* output parameters follow */
4969 void * * function_pointer
4970);
4971
4982#ifdef __cplusplus
4983}
4984#endif
4985
4986#endif
4987
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:2309
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:2281
VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
Create a VdpBitmapSurface.
Definition: vdpau.h:2251
VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
Destroy a VdpBitmapSurface.
Definition: vdpau.h:2266
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:2219
uint32_t VdpBitmapSurface
An opaque handle representing a VdpBitmapSurface object.
Definition: vdpau.h:2232
uint32_t VdpColorStandard
YCbCr color space specification.
Definition: vdpau.h:1632
VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
Generate a color space conversion matrix.
Definition: vdpau.h:1649
float VdpCSCMatrix[3][4]
Storage for a color space conversion matrix.
Definition: vdpau.h:1587
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:2875
VdpDecoderCapability
Definition: vdpau.h:2822
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition: vdpau.h:3313
VdpVideoSurfaceSupportedPictureStructure
Definition: vdpau.h:2817
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition: vdpau.h:3321
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition: vdpau.h:2938
VdpPictureInfoHEVC444 VdpPictureInfoHEVCRangeExt
Picture parameter information for HEVC FormatRangeExtensions picture.
Definition: vdpau.h:3663
uint32_t VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded.
Definition: vdpau.h:2613
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:2849
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition: vdpau.h:2922
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition: vdpau.h:2889
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition: vdpau.h:2907
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:3683
void VdpPictureInfo
A generic "picture information" type.
Definition: vdpau.h:2973
@ VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES
Definition: vdpau.h:2835
@ VDP_DECODER_PROFILE_MAX_WIDTH
Definition: vdpau.h:2825
@ VDP_DECODER_PROFILE_MAX_HEIGHT
Definition: vdpau.h:2826
@ VDP_DECODER_PROFILE_MAX_MACROBLOCKS
Definition: vdpau.h:2824
@ VDP_DECODER_PROFILE_MAX_LEVEL
Definition: vdpau.h:2823
@ VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE
Definition: vdpau.h:2827
@ VDP_VIDEO_SURFACE_FRAME_STRUCTURE
Definition: vdpau.h:2819
@ VDP_VIDEO_SURFACE_FIELD_STRUCTURE
Definition: vdpau.h:2818
uint32_t VdpDevice
An opaque handle representing a VdpDevice object.
Definition: vdpau.h:1538
VdpStatus VdpDeviceDestroy(VdpDevice device)
Destroy a VdpDevice.
Definition: vdpau.h:1545
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:2067
uint32_t VdpColorTableFormat
The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
Definition: vdpau.h:1898
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:2160
uint32_t VdpOutputSurface
An opaque handle representing a VdpOutputSurface object.
Definition: vdpau.h:1999
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:2093
VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
Create a VdpOutputSurface.
Definition: vdpau.h:2013
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:1926
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:1945
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:1966
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:2125
VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpOutputSurface.
Definition: vdpau.h:2040
VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
Destroy a VdpOutputSurface.
Definition: vdpau.h:2027
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:1987
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:2503
VdpOutputSurfaceRenderBlendFactor
The blending equation factors.
Definition: vdpau.h:2332
VdpOutputSurfaceRenderBlendEquation
The blending equations.
Definition: vdpau.h:2354
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:2583
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA
Definition: vdpau.h:2337
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE
Definition: vdpau.h:2334
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA
Definition: vdpau.h:2339
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR
Definition: vdpau.h:2335
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR
Definition: vdpau.h:2342
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE
Definition: vdpau.h:2343
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
Definition: vdpau.h:2345
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
Definition: vdpau.h:2340
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO
Definition: vdpau.h:2333
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR
Definition: vdpau.h:2341
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR
Definition: vdpau.h:2336
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
Definition: vdpau.h:2338
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA
Definition: vdpau.h:2346
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
Definition: vdpau.h:2347
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR
Definition: vdpau.h:2344
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN
Definition: vdpau.h:2358
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT
Definition: vdpau.h:2356
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX
Definition: vdpau.h:2359
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD
Definition: vdpau.h:2357
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT
Definition: vdpau.h:2355
VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
Retrieve the presentation queue's "current" time.
Definition: vdpau.h:4627
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition: vdpau.h:4727
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition: vdpau.h:4552
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition: vdpau.h:4605
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition: vdpau.h:4567
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:4673
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition: vdpau.h:4592
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition: vdpau.h:4615
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition: vdpau.h:4696
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition: vdpau.h:4580
uint64_t VdpTime
The representation of a point in time.
Definition: vdpau.h:4542
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition: vdpau.h:4559
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition: vdpau.h:4707
@ VDP_PRESENTATION_QUEUE_STATUS_QUEUED
Definition: vdpau.h:4711
@ VDP_PRESENTATION_QUEUE_STATUS_IDLE
Definition: vdpau.h:4709
@ VDP_PRESENTATION_QUEUE_STATUS_VISIBLE
Definition: vdpau.h:4713
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:4319
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition: vdpau.h:4339
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation's support for a specific attribute.
Definition: vdpau.h:4154
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation's support for a specific feature.
Definition: vdpau.h:4121
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition: vdpau.h:3769
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition: vdpau.h:4200
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation's support for a specific parameter.
Definition: vdpau.h:4138
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation's supported for a specific attribute.
Definition: vdpau.h:4189
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition: vdpau.h:3925
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:4474
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition: vdpau.h:3999
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:4222
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:4282
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition: vdpau.h:4264
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition: vdpau.h:4245
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation's supported for a specific parameter.
Definition: vdpau.h:4171
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition: vdpau.h:4361
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition: vdpau.h:4299
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition: vdpau.h:4352
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD
Definition: vdpau.h:4365
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME
Definition: vdpau.h:4374
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD
Definition: vdpau.h:4370
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:1720
VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
Destroy a VdpVideoSurface.
Definition: vdpau.h:1793
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:1857
VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
Create a VdpVideoSurface.
Definition: vdpau.h:1779
VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpVideoSurface.
Definition: vdpau.h:1806
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:1700
uint32_t VdpVideoSurface
An opaque handle representing a VdpVideoSurface object.
Definition: vdpau.h:1732
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:1832
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:4804
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device's display has been preempted.
Definition: vdpau.h:4789
VdpStatus
The set of all possible error codes.
Definition: vdpau.h:1301
char const * VdpGetErrorString(VdpStatus status)
Retrieve a string describing an error code.
Definition: vdpau.h:1444
@ VDP_STATUS_NO_IMPLEMENTATION
Definition: vdpau.h:1307
@ VDP_STATUS_INVALID_COLOR_TABLE_FORMAT
Definition: vdpau.h:1351
@ VDP_STATUS_DISPLAY_PREEMPTED
Definition: vdpau.h:1313
@ VDP_STATUS_INVALID_RGBA_FORMAT
Definition: vdpau.h:1339
@ VDP_STATUS_INVALID_FLAG
Definition: vdpau.h:1365
@ VDP_STATUS_INVALID_HANDLE
Definition: vdpau.h:1320
@ VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE
Definition: vdpau.h:1373
@ VDP_STATUS_RESOURCES
Definition: vdpau.h:1418
@ VDP_STATUS_INVALID_CHROMA_TYPE
Definition: vdpau.h:1331
@ VDP_STATUS_INVALID_Y_CB_CR_FORMAT
Definition: vdpau.h:1335
@ VDP_STATUS_HANDLE_DEVICE_MISMATCH
Definition: vdpau.h:1428
@ VDP_STATUS_INVALID_BLEND_FACTOR
Definition: vdpau.h:1356
@ VDP_STATUS_OK
Definition: vdpau.h:1303
@ VDP_STATUS_INVALID_BLEND_EQUATION
Definition: vdpau.h:1361
@ VDP_STATUS_INVALID_VALUE
Definition: vdpau.h:1407
@ VDP_STATUS_INVALID_INDEXED_FORMAT
Definition: vdpau.h:1343
@ VDP_STATUS_INVALID_DECODER_PROFILE
Definition: vdpau.h:1369
@ VDP_STATUS_INVALID_SIZE
Definition: vdpau.h:1400
@ VDP_STATUS_INVALID_COLOR_STANDARD
Definition: vdpau.h:1347
@ VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE
Definition: vdpau.h:1386
@ VDP_STATUS_ERROR
Definition: vdpau.h:1432
@ VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER
Definition: vdpau.h:1377
@ VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE
Definition: vdpau.h:1381
@ VDP_STATUS_INVALID_FUNC_ID
Definition: vdpau.h:1390
@ VDP_STATUS_INVALID_STRUCT_VERSION
Definition: vdpau.h:1413
@ VDP_STATUS_INVALID_POINTER
Definition: vdpau.h:1327
uint32_t VdpFuncId
A type suitable for VdpGetProcAddress's function_id parameter.
Definition: vdpau.h:4827
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition: vdpau.h:4965
uint32_t VdpYCbCrFormat
The set of all known YCbCr surface formats.
Definition: vdpau.h:963
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:1188
uint32_t VdpRGBAFormat
The set of all known RGB surface formats.
Definition: vdpau.h:1119
VdpStatus VdpGetInformationString(char const **information_string)
Retrieve an implementation-specific string description of the implementation. This typically includes...
Definition: vdpau.h:1514
VdpStatus VdpGetApiVersion(uint32_t *api_version)
Retrieve the VDPAU version implemented by the backend.
Definition: vdpau.h:1492
Application data buffer containing compressed video data.
Definition: vdpau.h:2952
uint32_t struct_version
Definition: vdpau.h:2956
void const * bitstream
Definition: vdpau.h:2958
uint32_t bitstream_bytes
Definition: vdpau.h:2960
Definition: vdpau.h:1282
float red
Definition: vdpau.h:1283
float green
Definition: vdpau.h:1284
float blue
Definition: vdpau.h:1285
float alpha
Definition: vdpau.h:1286
Definition of an additional VdpOutputSurface layer in the composting model.
Definition: vdpau.h:4383
VdpOutputSurface source_surface
Definition: vdpau.h:4391
uint32_t struct_version
Definition: vdpau.h:4387
VdpRect const * destination_rect
Definition: vdpau.h:4405
VdpRect const * source_rect
Definition: vdpau.h:4396
Complete blending operation definition.
Definition: vdpau.h:2383
VdpOutputSurfaceRenderBlendEquation blend_equation_color
Definition: vdpau.h:2392
VdpOutputSurfaceRenderBlendFactor blend_factor_source_color
Definition: vdpau.h:2388
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha
Definition: vdpau.h:2391
VdpOutputSurfaceRenderBlendEquation blend_equation_alpha
Definition: vdpau.h:2393
VdpColor blend_constant
Definition: vdpau.h:2394
uint32_t struct_version
Definition: vdpau.h:2387
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color
Definition: vdpau.h:2389
VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha
Definition: vdpau.h:2390
Picture parameter information for an H.264 picture.
Definition: vdpau.h:3080
uint8_t frame_mbs_only_flag
Definition: vdpau.h:3100
uint8_t redundant_pic_cnt_present_flag
Definition: vdpau.h:3115
uint8_t log2_max_frame_num_minus4
Definition: vdpau.h:3107
uint32_t slice_count
Definition: vdpau.h:3082
VdpBool is_reference
Definition: vdpau.h:3086
uint8_t delta_pic_order_always_zero_flag
Definition: vdpau.h:3110
uint8_t transform_8x8_mode_flag
Definition: vdpau.h:3101
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3109
uint8_t pic_order_present_flag
Definition: vdpau.h:3113
uint8_t entropy_coding_mode_flag
Definition: vdpau.h:3112
uint8_t pic_order_cnt_type
Definition: vdpau.h:3108
uint8_t mb_adaptive_frame_field_flag
Definition: vdpau.h:3096
int8_t second_chroma_qp_index_offset
Definition: vdpau.h:3103
uint8_t num_ref_idx_l1_active_minus1
Definition: vdpau.h:3106
uint8_t bottom_field_flag
Definition: vdpau.h:3094
uint8_t weighted_pred_flag
Definition: vdpau.h:3098
int8_t pic_init_qp_minus26
Definition: vdpau.h:3104
uint8_t num_ref_frames
Definition: vdpau.h:3095
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3114
uint16_t frame_num
Definition: vdpau.h:3092
uint8_t weighted_bipred_idc
Definition: vdpau.h:3099
uint8_t direct_8x8_inference_flag
Definition: vdpau.h:3111
uint8_t num_ref_idx_l0_active_minus1
Definition: vdpau.h:3105
int8_t chroma_qp_index_offset
Definition: vdpau.h:3102
uint8_t field_pic_flag
Definition: vdpau.h:3093
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3097
Picture parameter information for an H.264 Hi444PP picture.
Definition: vdpau.h:3136
VdpPictureInfoH264 pictureInfo
Definition: vdpau.h:3138
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: vdpau.h:3148
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3153
Picture parameter information for an HEVC 444 picture.
Definition: vdpau.h:3604
uint8_t transformSkipContextEnableFlag
Definition: vdpau.h:3613
uint8_t log2SaoOffsetScaleChroma
Definition: vdpau.h:3647
uint8_t diffCuChromaQpAdjustmentDepth
Definition: vdpau.h:3640
uint8_t intraBlockCopyEnableFlag
Definition: vdpau.h:3629
uint8_t persistentRiceAdaptationEnableFlag
Definition: vdpau.h:3625
VdpPictureInfoHEVC pictureInfo
Definition: vdpau.h:3606
uint8_t cabacBypassAlignmentEnableFlag
Definition: vdpau.h:3627
uint8_t transformSkipRotationEnableFlag
Definition: vdpau.h:3611
uint8_t implicitRdpcmEnableFlag
Definition: vdpau.h:3615
uint8_t sps_range_extension_flag
Definition: vdpau.h:3609
uint8_t chromaQpAdjustmentTableSize
Definition: vdpau.h:3642
uint8_t pps_range_extension_flag
Definition: vdpau.h:3632
uint8_t log2MaxTransformSkipSize
Definition: vdpau.h:3634
uint8_t crossComponentPredictionEnableFlag
Definition: vdpau.h:3636
uint8_t chromaQpAdjustmentEnableFlag
Definition: vdpau.h:3638
uint8_t extendedPrecisionProcessingFlag
Definition: vdpau.h:3619
uint8_t highPrecisionOffsetsEnableFlag
Definition: vdpau.h:3623
uint8_t log2SaoOffsetScaleLuma
Definition: vdpau.h:3645
uint8_t intraSmoothingDisabledFlag
Definition: vdpau.h:3621
uint8_t explicitRdpcmEnableFlag
Definition: vdpau.h:3617
Picture parameter information for an H.265/HEVC picture.
Definition: vdpau.h:3400
uint8_t chroma_format_idc
Definition: vdpau.h:3405
uint8_t NumPocLtCurr
Definition: vdpau.h:3585
uint8_t num_extra_slice_header_bits
Definition: vdpau.h:3472
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: vdpau.h:3448
uint8_t log2_min_transform_block_size_minus2
Definition: vdpau.h:3418
uint32_t pic_width_in_luma_samples
Definition: vdpau.h:3408
uint8_t pps_deblocking_filter_disabled_flag
Definition: vdpau.h:3515
uint32_t pic_height_in_luma_samples
Definition: vdpau.h:3409
int8_t pps_tc_offset_div2
Definition: vdpau.h:3521
uint8_t RAPPicFlag
Definition: vdpau.h:3537
uint8_t sps_max_dec_pic_buffering_minus1
Definition: vdpau.h:3415
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3407
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: vdpau.h:3485
uint8_t diff_cu_qp_delta_depth
Definition: vdpau.h:3482
uint8_t strong_intra_smoothing_enabled_flag
Definition: vdpau.h:3463
int8_t init_qp_minus26
Definition: vdpau.h:3477
uint8_t sign_data_hiding_enabled_flag
Definition: vdpau.h:3473
uint8_t log2_min_luma_coding_block_size_minus3
Definition: vdpau.h:3416
uint8_t dependent_slice_segments_enabled_flag
Definition: vdpau.h:3470
uint32_t NumShortTermPictureSliceHeaderBits
Definition: vdpau.h:3553
uint32_t NumLongTermPictureSliceHeaderBits
Definition: vdpau.h:3558
uint8_t max_transform_hierarchy_depth_intra
Definition: vdpau.h:3421
uint8_t log2_diff_max_min_transform_block_size
Definition: vdpau.h:3419
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: vdpau.h:3446
uint8_t output_flag_present_flag
Definition: vdpau.h:3471
int8_t pps_beta_offset_div2
Definition: vdpau.h:3518
uint8_t NumPocStCurrBefore
Definition: vdpau.h:3579
uint8_t long_term_ref_pics_present_flag
Definition: vdpau.h:3458
uint8_t sps_temporal_mvp_enabled_flag
Definition: vdpau.h:3462
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: vdpau.h:3450
uint8_t num_tile_columns_minus1
Definition: vdpau.h:3492
int32_t CurrPicOrderCntVal
Definition: vdpau.h:3564
uint8_t max_transform_hierarchy_depth_inter
Definition: vdpau.h:3420
uint8_t num_ref_idx_l0_default_active_minus1
Definition: vdpau.h:3475
uint8_t entropy_coding_sync_enabled_flag
Definition: vdpau.h:3490
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3478
uint8_t IDRPicFlag
Definition: vdpau.h:3534
uint8_t weighted_bipred_flag
Definition: vdpau.h:3487
uint8_t num_short_term_ref_pic_sets
Definition: vdpau.h:3457
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: vdpau.h:3417
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: vdpau.h:3508
uint8_t cu_qp_delta_enabled_flag
Definition: vdpau.h:3480
uint8_t amp_enabled_flag
Definition: vdpau.h:3442
uint8_t weighted_pred_flag
Definition: vdpau.h:3486
uint8_t uniform_spacing_flag
Definition: vdpau.h:3496
uint8_t CurrRpsIdx
Definition: vdpau.h:3539
uint8_t loop_filter_across_tiles_enabled_flag
Definition: vdpau.h:3507
uint8_t bit_depth_chroma_minus8
Definition: vdpau.h:3411
uint8_t deblocking_filter_override_enabled_flag
Definition: vdpau.h:3512
uint8_t tiles_enabled_flag
Definition: vdpau.h:3489
uint8_t slice_segment_header_extension_present_flag
Definition: vdpau.h:3524
int8_t pps_cb_qp_offset
Definition: vdpau.h:3483
uint32_t NumPocTotalCurr
Definition: vdpau.h:3541
uint8_t pcm_enabled_flag
Definition: vdpau.h:3444
uint8_t pcm_loop_filter_disabled_flag
Definition: vdpau.h:3454
uint8_t sample_adaptive_offset_enabled_flag
Definition: vdpau.h:3443
uint8_t cabac_init_present_flag
Definition: vdpau.h:3474
uint8_t transform_skip_enabled_flag
Definition: vdpau.h:3479
uint8_t num_long_term_ref_pics_sps
Definition: vdpau.h:3461
int8_t pps_cr_qp_offset
Definition: vdpau.h:3484
uint8_t log2_parallel_merge_level_minus2
Definition: vdpau.h:3523
uint32_t NumDeltaPocsOfRefRpsIdx
Definition: vdpau.h:3545
uint8_t num_ref_idx_l1_default_active_minus1
Definition: vdpau.h:3476
uint8_t bit_depth_luma_minus8
Definition: vdpau.h:3410
uint8_t transquant_bypass_enabled_flag
Definition: vdpau.h:3488
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3412
uint8_t lists_modification_present_flag
Definition: vdpau.h:3522
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3509
uint8_t scaling_list_enabled_flag
Definition: vdpau.h:3422
uint8_t NumPocStCurrAfter
Definition: vdpau.h:3582
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: vdpau.h:3452
uint8_t num_tile_rows_minus1
Definition: vdpau.h:3494
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: vdpau.h:2983
uint8_t frame_pred_frame_dct
Definition: vdpau.h:3004
uint8_t concealment_motion_vectors
Definition: vdpau.h:3005
VdpVideoSurface backward_reference
Definition: vdpau.h:2993
uint8_t top_field_first
Definition: vdpau.h:3009
uint8_t alternate_scan
Definition: vdpau.h:3007
uint8_t q_scale_type
Definition: vdpau.h:3008
VdpVideoSurface forward_reference
Definition: vdpau.h:2988
uint8_t full_pel_forward_vector
Definition: vdpau.h:3011
uint8_t full_pel_backward_vector
Definition: vdpau.h:3013
uint8_t intra_dc_precision
Definition: vdpau.h:3003
uint32_t slice_count
Definition: vdpau.h:2995
uint8_t intra_vlc_format
Definition: vdpau.h:3006
uint8_t picture_coding_type
Definition: vdpau.h:3002
uint8_t picture_structure
Definition: vdpau.h:3001
Picture parameter information for an MPEG-4 Part 2 picture.
Definition: vdpau.h:3271
uint8_t vop_coding_type
Definition: vdpau.h:3290
uint8_t vop_fcode_forward
Definition: vdpau.h:3291
uint16_t vop_time_increment_resolution
Definition: vdpau.h:3289
uint8_t vop_fcode_backward
Definition: vdpau.h:3292
uint8_t quant_type
Definition: vdpau.h:3295
VdpVideoSurface forward_reference
Definition: vdpau.h:3276
VdpVideoSurface backward_reference
Definition: vdpau.h:3281
uint8_t quarter_sample
Definition: vdpau.h:3296
uint8_t top_field_first
Definition: vdpau.h:3301
uint8_t rounding_control
Definition: vdpau.h:3299
uint8_t alternate_vertical_scan_flag
Definition: vdpau.h:3300
uint8_t interlaced
Definition: vdpau.h:3294
uint8_t resync_marker_disable
Definition: vdpau.h:3293
uint8_t short_video_header
Definition: vdpau.h:3297
Picture parameter information for a VC1 picture.
Definition: vdpau.h:3164
uint32_t slice_count
Definition: vdpau.h:3177
uint8_t range_mapuv
Definition: vdpau.h:3224
VdpVideoSurface backward_reference
Definition: vdpau.h:3174
uint8_t interlace
Definition: vdpau.h:3192
uint8_t fastuvmc
Definition: vdpau.h:3218
uint8_t picture_type
Definition: vdpau.h:3179
uint8_t pulldown
Definition: vdpau.h:3190
uint8_t tfcntrflag
Definition: vdpau.h:3194
uint8_t syncmarker
Definition: vdpau.h:3235
uint8_t postprocflag
Definition: vdpau.h:3188
uint8_t psf
Definition: vdpau.h:3198
uint8_t range_mapuv_flag
Definition: vdpau.h:3223
uint8_t quantizer
Definition: vdpau.h:3206
uint8_t multires
Definition: vdpau.h:3230
uint8_t extended_mv
Definition: vdpau.h:3208
uint8_t frame_coding_mode
Definition: vdpau.h:3181
uint8_t panscan_flag
Definition: vdpau.h:3202
uint8_t pquant
Definition: vdpau.h:3261
uint8_t range_mapy_flag
Definition: vdpau.h:3220
VdpVideoSurface forward_reference
Definition: vdpau.h:3169
uint8_t refdist_flag
Definition: vdpau.h:3204
uint8_t maxbframes
Definition: vdpau.h:3247
uint8_t loopfilter
Definition: vdpau.h:3216
uint8_t deblockEnable
Definition: vdpau.h:3255
uint8_t extended_dmv
Definition: vdpau.h:3210
uint8_t rangered
Definition: vdpau.h:3242
uint8_t vstransform
Definition: vdpau.h:3214
uint8_t finterpflag
Definition: vdpau.h:3196
uint8_t range_mapy
Definition: vdpau.h:3221
uint8_t overlap
Definition: vdpau.h:3212
uint8_t dquant
Definition: vdpau.h:3200
Definition: vdpau.h:3324
unsigned short intraOnly
Definition: vdpau.h:3343
unsigned short allowHighPrecisionMv
Definition: vdpau.h:3344
unsigned short refreshEntropyProbs
Definition: vdpau.h:3345
VdpVideoSurface altReference
Definition: vdpau.h:3331
unsigned char log2TileRows
Definition: vdpau.h:3356
unsigned int width
Definition: vdpau.h:3325
unsigned char segmentMapUpdate
Definition: vdpau.h:3359
unsigned int height
Definition: vdpau.h:3326
unsigned short frameContextIdx
Definition: vdpau.h:3336
unsigned int uncompressedHeaderSize
Definition: vdpau.h:3379
unsigned short keyFrame
Definition: vdpau.h:3337
unsigned short profile
Definition: vdpau.h:3335
int qpChAc
Definition: vdpau.h:3372
unsigned int mcompFilterType
Definition: vdpau.h:3376
unsigned char segmentEnabled
Definition: vdpau.h:3358
VdpVideoSurface goldenReference
Definition: vdpau.h:3330
int qpYAc
Definition: vdpau.h:3369
unsigned char loopFilterLevel
Definition: vdpau.h:3351
int qpYDc
Definition: vdpau.h:3370
unsigned char segmentMapTemporalUpdate
Definition: vdpau.h:3360
unsigned char log2TileColumns
Definition: vdpau.h:3355
unsigned short frameParallelDecoding
Definition: vdpau.h:3340
unsigned int resetFrameContext
Definition: vdpau.h:3375
unsigned char colorSpace
Definition: vdpau.h:3333
unsigned char bitDepthMinus8Chroma
Definition: vdpau.h:3350
unsigned short subSamplingX
Definition: vdpau.h:3341
VdpVideoSurface lastReference
Definition: vdpau.h:3329
unsigned char bitDepthMinus8Luma
Definition: vdpau.h:3349
unsigned short showFrame
Definition: vdpau.h:3338
int qpChDc
Definition: vdpau.h:3371
unsigned char modeRefLfEnabled
Definition: vdpau.h:3354
unsigned short errorResilient
Definition: vdpau.h:3339
unsigned char loopFilterSharpness
Definition: vdpau.h:3352
unsigned short subSamplingY
Definition: vdpau.h:3342
unsigned int compressedHeaderSize
Definition: vdpau.h:3380
unsigned char segmentFeatureMode
Definition: vdpau.h:3361
A location within a surface.
Definition: vdpau.h:1246
uint32_t y
Definition: vdpau.h:1250
uint32_t x
Definition: vdpau.h:1248
Procamp operation parameterization data.
Definition: vdpau.h:1599
uint32_t struct_version
Definition: vdpau.h:1603
float hue
Definition: vdpau.h:1623
float saturation
Definition: vdpau.h:1618
float contrast
Definition: vdpau.h:1613
float brightness
Definition: vdpau.h:1608
A rectangular region of a surface.
Definition: vdpau.h:1263
uint32_t y0
Definition: vdpau.h:1267
uint32_t x1
Definition: vdpau.h:1269
uint32_t y1
Definition: vdpau.h:1271
uint32_t x0
Definition: vdpau.h:1265
Information about an H.264 reference frame.
Definition: vdpau.h:3030
VdpBool is_long_term
Definition: vdpau.h:3037
VdpBool bottom_is_reference
Definition: vdpau.h:3047
uint16_t frame_idx
Definition: vdpau.h:3055
VdpBool top_is_reference
Definition: vdpau.h:3042
VdpVideoSurface surface
Definition: vdpau.h:3035