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)
2689#define VDP_DECODER_PROFILE_AV1_MAIN ((VdpDecoderProfile)107)
2691#define VDP_DECODER_PROFILE_AV1_HIGH ((VdpDecoderProfile)108)
2693#define VDP_DECODER_PROFILE_AV1_PROFESSIONAL ((VdpDecoderProfile)109)
2694
2696#define VDP_DECODER_LEVEL_MPEG1_NA 0
2697
2699#define VDP_DECODER_LEVEL_MPEG2_LL 0
2701#define VDP_DECODER_LEVEL_MPEG2_ML 1
2703#define VDP_DECODER_LEVEL_MPEG2_HL14 2
2705#define VDP_DECODER_LEVEL_MPEG2_HL 3
2706
2708#define VDP_DECODER_LEVEL_H264_1 10
2710#define VDP_DECODER_LEVEL_H264_1b 9
2712#define VDP_DECODER_LEVEL_H264_1_1 11
2714#define VDP_DECODER_LEVEL_H264_1_2 12
2716#define VDP_DECODER_LEVEL_H264_1_3 13
2718#define VDP_DECODER_LEVEL_H264_2 20
2720#define VDP_DECODER_LEVEL_H264_2_1 21
2722#define VDP_DECODER_LEVEL_H264_2_2 22
2724#define VDP_DECODER_LEVEL_H264_3 30
2726#define VDP_DECODER_LEVEL_H264_3_1 31
2728#define VDP_DECODER_LEVEL_H264_3_2 32
2730#define VDP_DECODER_LEVEL_H264_4 40
2732#define VDP_DECODER_LEVEL_H264_4_1 41
2734#define VDP_DECODER_LEVEL_H264_4_2 42
2736#define VDP_DECODER_LEVEL_H264_5 50
2738#define VDP_DECODER_LEVEL_H264_5_1 51
2739
2741#define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2743#define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2744
2746#define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2748#define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2750#define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2751
2753#define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2755#define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2757#define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2759#define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2761#define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2762
2764#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2766#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2768#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2770#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2771
2773#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2775#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2777#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2779#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2781#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2783#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2784
2786#define VDP_DECODER_LEVEL_DIVX_NA 0
2787
2789#define VDP_DECODER_LEVEL_VP9_L1 1
2790
2792#define VDP_DECODER_LEVEL_AV1_2_0 0
2794#define VDP_DECODER_LEVEL_AV1_2_1 1
2796#define VDP_DECODER_LEVEL_AV1_2_2 2
2798#define VDP_DECODER_LEVEL_AV1_2_3 3
2800#define VDP_DECODER_LEVEL_AV1_3_0 4
2802#define VDP_DECODER_LEVEL_AV1_3_1 5
2804#define VDP_DECODER_LEVEL_AV1_3_2 6
2806#define VDP_DECODER_LEVEL_AV1_3_3 7
2808#define VDP_DECODER_LEVEL_AV1_4_0 8
2810#define VDP_DECODER_LEVEL_AV1_4_1 9
2812#define VDP_DECODER_LEVEL_AV1_4_2 10
2814#define VDP_DECODER_LEVEL_AV1_4_3 11
2816#define VDP_DECODER_LEVEL_AV1_5_0 12
2818#define VDP_DECODER_LEVEL_AV1_5_1 13
2820#define VDP_DECODER_LEVEL_AV1_5_2 14
2822#define VDP_DECODER_LEVEL_AV1_5_3 15
2824#define VDP_DECODER_LEVEL_AV1_6_0 16
2826#define VDP_DECODER_LEVEL_AV1_6_1 17
2828#define VDP_DECODER_LEVEL_AV1_6_2 18
2830#define VDP_DECODER_LEVEL_AV1_6_3 19
2832#define VDP_DECODER_LEVEL_AV1_7_0 20
2834#define VDP_DECODER_LEVEL_AV1_7_1 21
2836#define VDP_DECODER_LEVEL_AV1_7_2 22
2838#define VDP_DECODER_LEVEL_AV1_7_3 23
2839
2846#define VDP_DECODER_LEVEL_HEVC_1 30
2848#define VDP_DECODER_LEVEL_HEVC_2 60
2850#define VDP_DECODER_LEVEL_HEVC_2_1 63
2852#define VDP_DECODER_LEVEL_HEVC_3 90
2854#define VDP_DECODER_LEVEL_HEVC_3_1 93
2856#define VDP_DECODER_LEVEL_HEVC_4 120
2858#define VDP_DECODER_LEVEL_HEVC_4_1 123
2860#define VDP_DECODER_LEVEL_HEVC_5 150
2862#define VDP_DECODER_LEVEL_HEVC_5_1 153
2864#define VDP_DECODER_LEVEL_HEVC_5_2 156
2866#define VDP_DECODER_LEVEL_HEVC_6 180
2868#define VDP_DECODER_LEVEL_HEVC_6_1 183
2870#define VDP_DECODER_LEVEL_HEVC_6_2 186
2871
2872typedef enum {
2876
2877typedef enum {
2892
2905 VdpDevice device,
2906 VdpDecoderProfile profile,
2907 /* output parameters follow */
2908 VdpDecoderCapability capability,
2909 void * capability_value
2910);
2911
2931 VdpDevice device,
2932 VdpDecoderProfile profile,
2933 /* output parameters follow */
2934 VdpBool * is_supported,
2935 uint32_t * max_level,
2936 uint32_t * max_macroblocks,
2937 uint32_t * max_width,
2938 uint32_t * max_height
2939);
2940
2944typedef uint32_t VdpDecoder;
2945
2963 VdpDevice device,
2964 VdpDecoderProfile profile,
2965 uint32_t width,
2966 uint32_t height,
2967 uint32_t max_references,
2968 /* output parameters follow */
2969 VdpDecoder * decoder
2970);
2971
2978 VdpDecoder decoder
2979);
2980
2994 VdpDecoder decoder,
2995 /* output parameters follow */
2996 VdpDecoderProfile * profile,
2997 uint32_t * width,
2998 uint32_t * height
2999);
3000
3001#define VDP_BITSTREAM_BUFFER_VERSION 0
3002
3007typedef struct {
3013 void const * bitstream;
3017
3028typedef void VdpPictureInfo;
3029
3038typedef struct {
3050 uint32_t slice_count;
3051
3070 uint8_t f_code[2][2];
3072 uint8_t intra_quantizer_matrix[64];
3074 uint8_t non_intra_quantizer_matrix[64];
3077
3085typedef struct {
3104 int32_t field_order_cnt[2];
3110 uint16_t frame_idx;
3112
3135typedef struct {
3137 uint32_t slice_count;
3139 int32_t field_order_cnt[2];
3142
3147 uint16_t frame_num;
3172 uint8_t scaling_lists_4x4[6][16];
3174 uint8_t scaling_lists_8x8[2][64];
3178 VdpReferenceFrameH264 referenceFrames[16];
3180
3191typedef struct {
3194
3211
3219typedef struct {
3230
3232 uint32_t slice_count;
3237
3245 uint8_t pulldown;
3247 uint8_t interlace;
3249 uint8_t tfcntrflag;
3253 uint8_t psf;
3255 uint8_t dquant;
3261 uint8_t quantizer;
3267 uint8_t overlap;
3271 uint8_t loopfilter;
3273 uint8_t fastuvmc;
3276 uint8_t range_mapy;
3280
3285 uint8_t multires;
3290 uint8_t syncmarker;
3297 uint8_t rangered;
3302 uint8_t maxbframes;
3316 uint8_t pquant;
3318
3326typedef struct {
3337
3342 int32_t trd[2];
3343 int32_t trb[2];
3349 uint8_t interlaced;
3350 uint8_t quant_type;
3357 uint8_t intra_quantizer_matrix[64];
3358 uint8_t non_intra_quantizer_matrix[64];
3361
3369
3377
3378typedef struct
3379{
3380 unsigned int width;
3381 unsigned int height;
3382
3383 //Frame Indices
3387
3388 unsigned char colorSpace;
3389
3390 unsigned short profile;
3391 unsigned short frameContextIdx;
3392 unsigned short keyFrame;
3393 unsigned short showFrame;
3394 unsigned short errorResilient;
3396 unsigned short subSamplingX;
3397 unsigned short subSamplingY;
3398 unsigned short intraOnly;
3399 unsigned short allowHighPrecisionMv;
3400 unsigned short refreshEntropyProbs;
3401
3402 unsigned char refFrameSignBias[4];
3403
3404 unsigned char bitDepthMinus8Luma;
3406 unsigned char loopFilterLevel;
3407 unsigned char loopFilterSharpness;
3408
3409 unsigned char modeRefLfEnabled;
3410 unsigned char log2TileColumns;
3411 unsigned char log2TileRows;
3412
3413 unsigned char segmentEnabled;
3414 unsigned char segmentMapUpdate;
3416 unsigned char segmentFeatureMode;
3417
3418 unsigned char segmentFeatureEnable[8][4];
3419 short segmentFeatureData[8][4];
3420 unsigned char mbSegmentTreeProbs[7];
3421 unsigned char segmentPredProbs[3];
3422 unsigned char reservedSegment16Bits[2];
3423
3428
3429 unsigned int activeRefIdx[3];
3430 unsigned int resetFrameContext;
3431 unsigned int mcompFilterType;
3432 unsigned int mbRefLfDelta[4];
3433 unsigned int mbModeLfDelta[2];
3437
3455typedef struct {
3481 uint8_t ScalingList4x4[6][16];
3484 uint8_t ScalingList8x8[6][64];
3487 uint8_t ScalingList16x16[6][64];
3490 uint8_t ScalingList32x32[2][64];
3493 uint8_t ScalingListDCCoeff16x16[6];
3496 uint8_t ScalingListDCCoeff32x32[2];
3555 uint16_t column_width_minus1[20];
3559 uint16_t row_height_minus1[22];
3589 uint8_t IDRPicFlag;
3592 uint8_t RAPPicFlag;
3594 uint8_t CurrRpsIdx;
3620
3624 VdpVideoSurface RefPics[16];
3627 int32_t PicOrderCntVal[16];
3631 uint8_t IsLongTerm[16];
3643 uint8_t RefPicSetStCurrBefore[8];
3646 uint8_t RefPicSetStCurrAfter[8];
3649 uint8_t RefPicSetLtCurr[8];
3651
3659typedef struct {
3662
3663 /* SPS Range Extensions for Main 444, Main 10, etc. */
3665 /* sps extension for transform_skip_rotation_enabled_flag */
3667 /* sps extension for transform_skip_context_enabled_flag */
3669 /* sps implicit_rdpcm_enabled_flag */
3671 /* sps explicit_rdpcm_enabled_flag */
3673 /* sps extended_precision_processing_flag,always 0 in current profile */
3675 /* sps intra_smoothing_disabled_flag */
3677 /* sps high_precision_offsets_enabled_flag */
3679 /* sps persistent_rice_adaptation_enabled_flag */
3681 /* sps cabac_bypass_alignment_enabled_flag, always 0 in current profile */
3683 /* sps intraBlockCopyEnableFlag, always 0 not used by the spec as of now */
3685
3686 /* PPS Range Extensions for Main 444, Main 10, etc. */
3688 /* pps extension log2_max_transform_skip_block_size_minus2, 0...5 */
3690 /* pps cross_component_prediction_enabled_flag */
3692 /* pps chroma_qp_adjustment_enabled_flag */
3694 /* pps diff_cu_chroma_qp_adjustment_depth, 0...3 */
3696 /* pps chroma_qp_adjustment_table_size_minus1+1, 1...6 */
3698 /* pps log2_sao_offset_scale_luma, max(0,bitdepth-10), */
3699 /* maxBitdepth 16 for future. */
3701 /* pps log2_sao_offset_scale_chroma */
3703 /* -[12,+12] */
3704 int8_t cb_qp_adjustment[6];
3705 /* -[12,+12] */
3706 int8_t cr_qp_adjustment[6];
3707
3709
3710
3718typedef struct
3719{
3720 unsigned int width;
3721 unsigned int height;
3722
3723 unsigned int frame_offset; // defined as order_hint in AV1 specification
3724
3725 // sequence header
3726 unsigned int profile; // 0 = profile0, 1 = profile1, 2 = profile2
3727 unsigned int use_128x128_superblock; // superblock size 0:64x64, 1: 128x128
3728 unsigned int subsampling_x; // (subsampling_x, _y) 1,1 = 420, 1,0 = 422, 0,0 = 444
3729 unsigned int subsampling_y;
3730 unsigned int mono_chrome; // for monochrome content, mono_chrome = 1 and (subsampling_x, _y) should be 1,1
3731 unsigned int bit_depth_minus8; // bit depth minus 8
3732 unsigned int enable_filter_intra; // tool enable in seq level, 0 : disable 1: frame header control
3733 unsigned int enable_intra_edge_filter; // intra edge filtering process, 0 : disable 1: enabled
3734 unsigned int enable_interintra_compound; // interintra, 0 : not present 1: present
3735 unsigned int enable_masked_compound; // 1: mode info for inter blocks may contain the syntax element compound_type.
3736 // 0: syntax element compound_type will not be present
3737 unsigned int enable_dual_filter; // vertical and horiz filter selection, 1: enable and 0: disable
3738 unsigned int enable_order_hint; // order hint, and related tools, 1: enable and 0: disable
3739 unsigned int order_hint_bits_minus1; // is used to compute OrderHintBits
3740 unsigned int enable_jnt_comp; // joint compound modes, 1: enable and 0: disable
3741 unsigned int enable_superres; // superres in seq level, 0 : disable 1: frame level control
3742 unsigned int enable_cdef; // cdef filtering in seq level, 0 : disable 1: frame level control
3743 unsigned int enable_restoration; // loop restoration filtering in seq level, 0 : disable 1: frame level control
3744 unsigned int enable_fgs; // defined as film_grain_params_present in AV1 specification
3745
3746 // frame header
3747 unsigned int frame_type; // 0:Key frame, 1:Inter frame, 2:intra only, 3:s-frame
3748 unsigned int show_frame; // show_frame = 1 implies that frame should be immediately output once decoded
3749 unsigned int disable_cdf_update; // CDF update during symbol decoding, 1: disabled, 0: enabled
3750 unsigned int allow_screen_content_tools; // 1: intra blocks may use palette encoding, 0: palette encoding is never used
3751 unsigned int force_integer_mv; // 1: motion vectors will always be integers, 0: can contain fractional bits
3752 unsigned int coded_denom; // coded_denom of the superres scale as specified in AV1 specification
3753 unsigned int allow_intrabc; // 1: intra block copy may be used, 0: intra block copy is not allowed
3754 unsigned int allow_high_precision_mv; // 1/8 precision mv enable
3755 unsigned int interp_filter; // interpolation filter. Refer to section 6.8.9 of the AV1 specification Version 1.0.0 with Errata 1
3756 unsigned int switchable_motion_mode ; // defined as is_motion_mode_switchable in AV1 specification
3757 unsigned int use_ref_frame_mvs ; // 1: current frame can use the previous frame mv information, 0: will not use.
3758 unsigned int disable_frame_end_update_cdf ; // 1: indicates that the end of frame CDF update is disabled
3759 unsigned int delta_q_present ; // quantizer index delta values are present in the block level
3760 unsigned int delta_q_res; // left shift which should be applied to decoded quantizer index delta values
3761 unsigned int using_qmatrix ; // 1: quantizer matrix will be used to compute quantizers
3762 unsigned int coded_lossless ; // 1: all segments use lossless coding
3763 unsigned int use_superres ; // 1: superres enabled for frame
3764 unsigned int tx_mode; // 0: ONLY4x4,1:LARGEST,2:SELECT
3765 unsigned int reference_mode ; // 0: SINGLE, 1: SELECT
3766 unsigned int allow_warped_motion ; // 1: allow_warped_motion may be present, 0: allow_warped_motion will not be present
3767 unsigned int reduced_tx_set ; // 1: frame is restricted to subset of the full set of transform types, 0: no such restriction
3768 unsigned int skip_mode ; // 1: most of the mode info is skipped, 0: mode info is not skipped
3769
3770 // tiling info
3771 unsigned int num_tile_cols; // number of tiles across the frame., max is 64
3772 unsigned int num_tile_rows; // number of tiles down the frame., max is 64
3773 unsigned int context_update_tile_id; // specifies which tile to use for the CDF update
3774 unsigned short tile_widths[64]; // Width of each column in superblocks
3775 unsigned short tile_heights[64]; // height of each row in superblocks
3776 unsigned int tile_info[256 * 2]; //AV1_MAX_TILES = 256
3777
3778 // CDEF - refer to section 6.10.14 of the AV1 specification Version 1.0.0 with Errata 1
3779 unsigned char cdef_damping_minus_3; // controls the amount of damping in the deringing filter
3780 unsigned char cdef_bits; // the number of bits needed to specify which CDEF filter to apply
3781 unsigned char cdef_y_strength[8]; // 0-3 bits: y_pri_strength, 4-7 bits y_sec_strength
3782 unsigned char cdef_uv_strength[8]; // 0-3 bits: uv_pri_strength, 4-7 bits uv_sec_strength
3783
3784 // SkipModeFrames
3785 unsigned char SkipModeFrame0; // specifies the frames to use for compound prediction when skip_mode is equal to 1.
3786 unsigned char SkipModeFrame1;
3787
3788 // qp information - refer to section 6.8.11 of the AV1 specification Version 1.0.0 with Errata 1
3789 unsigned char base_qindex; // indicates the base frame qindex. Defined as base_q_idx in AV1 specification
3790 char qp_y_dc_delta_q; // indicates the Y DC quantizer relative to base_q_idx. Defined as DeltaQYDc in AV1 specification
3791 char qp_u_dc_delta_q; // indicates the U DC quantizer relative to base_q_idx. Defined as DeltaQUDc in AV1 specification
3792 char qp_v_dc_delta_q; // indicates the V DC quantizer relative to base_q_idx. Defined as DeltaQVDc in AV1 specification
3793 char qp_u_ac_delta_q; // indicates the U AC quantizer relative to base_q_idx. Defined as DeltaQUAc in AV1 specification
3794 char qp_v_ac_delta_q; // indicates the V AC quantizer relative to base_q_idx. Defined as DeltaQVAc in AV1 specification
3795 unsigned char qm_y; // specifies the level in the quantizer matrix that should be used for luma plane decoding
3796 unsigned char qm_u; // specifies the level in the quantizer matrix that should be used for chroma U plane decoding
3797 unsigned char qm_v; // specifies the level in the quantizer matrix that should be used for chroma V plane decoding
3798
3799 // segmentation - refer to section 6.8.13 of the AV1 specification Version 1.0.0 with Errata 1
3800 unsigned char segmentation_enabled ; // 1 indicates that this frame makes use of the segmentation tool
3801 unsigned char segmentation_update_map ; // 1 indicates that the segmentation map are updated during the decoding of this frame
3802 unsigned char segmentation_update_data ; // 1 indicates that new parameters are about to be specified for each segment
3803 unsigned char segmentation_temporal_update ; // 1 indicates that the updates to the segmentation map are coded relative to the existing segmentation map
3804 short segmentation_feature_data[8][8]; // specifies the feature data for a segment feature
3805 unsigned char segmentation_feature_mask[8]; // indicates that the corresponding feature is unused or feature value is coded
3806
3807 // loopfilter - refer to section 6.8.10 of the AV1 specification Version 1.0.0 with Errata 1
3808 unsigned char loop_filter_level[2]; // contains loop filter strength values
3809 unsigned char loop_filter_level_u; // loop filter strength value of U plane
3810 unsigned char loop_filter_level_v; // loop filter strength value of V plane
3811 unsigned char loop_filter_sharpness; // indicates the sharpness level
3812 char loop_filter_ref_deltas[8]; // contains the adjustment needed for the filter level based on the chosen reference frame
3813 char loop_filter_mode_deltas[2]; // contains the adjustment needed for the filter level based on the chosen mode
3814 unsigned char loop_filter_delta_enabled ; // indicates that the filter level depends on the mode and reference frame used to predict a block
3815 unsigned char loop_filter_delta_update ; // indicates that additional syntax elements are present that specify which mode and
3816 // reference frame deltas are to be updated
3817 unsigned char delta_lf_present ; // specifies whether loop filter delta values are present in the block level
3818 unsigned char delta_lf_res; // specifies the left shift to apply to the decoded loop filter values
3819 unsigned char delta_lf_multi ; // separate loop filter deltas for Hy,Vy,U,V edges
3820 unsigned char reserved4_2bits; // reserved bits; must be set to 0
3821
3822 // restoration - refer to section 6.10.15 of the AV1 specification Version 1.0.0 with Errata 1
3823 unsigned char lr_unit_size[3]; // specifies the size of loop restoration units: 0: 32, 1: 64, 2: 128, 3: 256
3824 unsigned char lr_type[3] ; // used to compute FrameRestorationType
3825
3826 // reference frames
3827 unsigned int primary_ref_frame; // specifies which reference frame contains the CDF values and other state that should be
3828 // loaded at the start of the frame
3829 unsigned int ref_frame_map[8]; // frames in dpb that can be used as reference for current or future frames
3830
3831 unsigned char temporal_layer_id; // temporal layer id
3832 unsigned char spatial_layer_id; // spatial layer id
3833
3834 // ref frame list
3835 struct
3836 {
3837 unsigned int width;
3838 unsigned int height;
3839 unsigned int index;
3840 } ref_frame[7]; // frames used as reference frame for current frame.
3841
3842 // global motion
3843 struct {
3844 unsigned char invalid ;
3845 unsigned char wmtype; // defined as GmType in AV1 specification
3846 int wmmat[6]; // defined as gm_params[] in AV1 specification
3847 } global_motion[7]; // global motion params for reference frames
3848
3849 // film grain params - refer to section 6.8.20 of the AV1 specification Version 1.0.0 with Errata 1
3850 unsigned short apply_grain ;
3851 unsigned short overlap_flag ;
3852 unsigned short scaling_shift_minus8;
3854 unsigned short ar_coeff_lag;
3856 unsigned short grain_scale_shift;
3858 unsigned char num_y_points;
3859 unsigned char scaling_points_y[14][2];
3860 unsigned char num_cb_points;
3861 unsigned char scaling_points_cb[10][2];
3862 unsigned char num_cr_points;
3863 unsigned char scaling_points_cr[10][2];
3864 unsigned short random_seed;
3865 short ar_coeffs_y[24];
3866 short ar_coeffs_cb[25];
3867 short ar_coeffs_cr[25];
3868 unsigned char cb_mult;
3869 unsigned char cb_luma_mult;
3871 unsigned char cr_mult;
3872 unsigned char cr_luma_mult;
3874
3876
3877
3887
3907 VdpDecoder decoder,
3908 VdpVideoSurface target,
3909 VdpPictureInfo const * picture_info,
3910 uint32_t bitstream_buffer_count,
3911 VdpBitstreamBuffer const * bitstream_buffers
3912);
3913
3992typedef uint32_t VdpVideoMixerFeature;
3993
4005#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
4018#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
4027#define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
4035#define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
4043#define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
4056#define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
4078#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
4085#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
4092#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
4099#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
4106#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
4113#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
4120#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
4127#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
4134#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
4135
4148typedef uint32_t VdpVideoMixerParameter;
4149
4162#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
4175#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
4189#define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
4208#define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
4209
4222typedef uint32_t VdpVideoMixerAttribute;
4223
4237#define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
4265#define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
4278#define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
4294#define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
4306#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
4318#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
4333#define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
4334
4345 VdpDevice device,
4346 VdpVideoMixerFeature feature,
4347 /* output parameters follow */
4348 VdpBool * is_supported
4349);
4350
4362 VdpDevice device,
4363 VdpVideoMixerParameter parameter,
4364 /* output parameters follow */
4365 VdpBool * is_supported
4366);
4367
4378 VdpDevice device,
4379 VdpVideoMixerAttribute attribute,
4380 /* output parameters follow */
4381 VdpBool * is_supported
4382);
4383
4395 VdpDevice device,
4396 VdpVideoMixerParameter parameter,
4397 /* output parameters follow */
4398 void * min_value,
4399 void * max_value
4400);
4401
4413 VdpDevice device,
4414 VdpVideoMixerAttribute attribute,
4415 /* output parameters follow */
4416 void * min_value,
4417 void * max_value
4418);
4419
4423typedef uint32_t VdpVideoMixer;
4424
4446 VdpDevice device,
4447 // The set of features to request
4448 uint32_t feature_count,
4449 VdpVideoMixerFeature const * features,
4450 // The parameters used during creation
4451 uint32_t parameter_count,
4452 VdpVideoMixerParameter const * parameters,
4453 void const * const * parameter_values,
4454 /* output parameters follow */
4455 VdpVideoMixer * mixer
4456);
4457
4469 VdpVideoMixer mixer,
4470 uint32_t feature_count,
4471 VdpVideoMixerFeature const * features,
4472 VdpBool const * feature_enables
4473);
4474
4488 VdpVideoMixer mixer,
4489 uint32_t attribute_count,
4490 VdpVideoMixerAttribute const * attributes,
4491 void const * const * attribute_values
4492);
4493
4506 VdpVideoMixer mixer,
4507 uint32_t feature_count,
4508 VdpVideoMixerFeature const * features,
4509 /* output parameters follow */
4510 VdpBool * feature_supports
4511);
4512
4523 VdpVideoMixer mixer,
4524 uint32_t feature_count,
4525 VdpVideoMixerFeature const * features,
4526 /* output parameters follow */
4527 VdpBool * feature_enables
4528);
4529
4543 VdpVideoMixer mixer,
4544 uint32_t parameter_count,
4545 VdpVideoMixerParameter const * parameters,
4546 /* output parameters follow */
4547 void * const * parameter_values
4548);
4549
4563 VdpVideoMixer mixer,
4564 uint32_t attribute_count,
4565 VdpVideoMixerAttribute const * attributes,
4566 /* output parameters follow */
4567 void * const * attribute_values
4568);
4569
4576 VdpVideoMixer mixer
4577);
4578
4584typedef enum {
4599
4600#define VDP_LAYER_VERSION 0
4601
4606typedef struct {
4629} VdpLayer;
4630
4698 VdpVideoMixer mixer,
4699 VdpOutputSurface background_surface,
4700 VdpRect const * background_source_rect,
4701 VdpVideoMixerPictureStructure current_picture_structure,
4702 uint32_t video_surface_past_count,
4703 VdpVideoSurface const * video_surface_past,
4704 VdpVideoSurface video_surface_current,
4705 uint32_t video_surface_future_count,
4706 VdpVideoSurface const * video_surface_future,
4707 VdpRect const * video_source_rect,
4708 VdpOutputSurface destination_surface,
4709 VdpRect const * destination_rect,
4710 VdpRect const * destination_video_rect,
4711 uint32_t layer_count,
4712 VdpLayer const * layers
4713);
4714
4765typedef uint64_t VdpTime;
4766
4776
4783 VdpPresentationQueueTarget presentation_queue_target
4784);
4785
4790typedef uint32_t VdpPresentationQueue;
4791
4804 VdpDevice device,
4805 VdpPresentationQueueTarget presentation_queue_target,
4806 /* output parameters follow */
4807 VdpPresentationQueue * presentation_queue
4808);
4809
4816 VdpPresentationQueue presentation_queue
4817);
4818
4829 VdpPresentationQueue presentation_queue,
4830 VdpColor * const background_color
4831);
4832
4839 VdpPresentationQueue presentation_queue,
4840 VdpColor * background_color
4841);
4842
4851 VdpPresentationQueue presentation_queue,
4852 /* output parameters follow */
4853 VdpTime * current_time
4854);
4855
4897 VdpPresentationQueue presentation_queue,
4898 VdpOutputSurface surface,
4899 uint32_t clip_width,
4900 uint32_t clip_height,
4901 VdpTime earliest_presentation_time
4902);
4903
4920 VdpPresentationQueue presentation_queue,
4921 VdpOutputSurface surface,
4922 /* output parameters follow */
4923 VdpTime * first_presentation_time
4924);
4925
4930typedef enum {
4938
4951 VdpPresentationQueue presentation_queue,
4952 VdpOutputSurface surface,
4953 /* output parameters follow */
4955 VdpTime * first_presentation_time
4956);
4957
5013 VdpDevice device,
5014 void * context
5015);
5016
5028 VdpDevice device,
5029 VdpPreemptionCallback callback,
5030 void * context
5031);
5032
5050typedef uint32_t VdpFuncId;
5051
5053#define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
5055#define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
5057#define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
5059#define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
5061#define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
5063#define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
5065#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
5067#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
5069#define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
5071#define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
5073#define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
5075#define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
5077#define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
5079#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
5081#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
5083#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
5085#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
5087#define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
5089#define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
5091#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
5093#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
5095#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
5097#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
5099#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
5101#define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
5103#define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
5105#define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
5107#define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
5109#define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
5111#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
5113#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
5115#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
5117#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
5119#define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
5121#define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
5123#define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
5125#define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
5127#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
5129#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
5131#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
5133#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
5135#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
5137#define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
5139#define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
5141#define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
5143#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
5145#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
5147#define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
5149#define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
5151#define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
5153#define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
5155#define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
5157#define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
5159#define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
5161#define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
5163#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
5165#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
5167#define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
5169#define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
5171#define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
5173#define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
5175#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
5176
5177#define VDP_FUNC_ID_BASE_WINSYS 0x1000
5178
5189 VdpDevice device,
5190 VdpFuncId function_id,
5191 /* output parameters follow */
5192 void * * function_pointer
5193);
5194
5205#ifdef __cplusplus
5206}
5207#endif
5208
5209#endif
5210
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:2930
VdpDecoderCapability
Definition: vdpau.h:2877
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition: vdpau.h:3368
VdpVideoSurfaceSupportedPictureStructure
Definition: vdpau.h:2872
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition: vdpau.h:3376
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition: vdpau.h:2993
VdpPictureInfoHEVC444 VdpPictureInfoHEVCRangeExt
Picture parameter information for HEVC FormatRangeExtensions picture.
Definition: vdpau.h:3886
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:2904
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition: vdpau.h:2977
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition: vdpau.h:2944
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition: vdpau.h:2962
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:3906
void VdpPictureInfo
A generic "picture information" type.
Definition: vdpau.h:3028
@ VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES
Definition: vdpau.h:2890
@ VDP_DECODER_PROFILE_MAX_WIDTH
Definition: vdpau.h:2880
@ VDP_DECODER_PROFILE_MAX_HEIGHT
Definition: vdpau.h:2881
@ VDP_DECODER_PROFILE_MAX_MACROBLOCKS
Definition: vdpau.h:2879
@ VDP_DECODER_PROFILE_MAX_LEVEL
Definition: vdpau.h:2878
@ VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE
Definition: vdpau.h:2882
@ VDP_VIDEO_SURFACE_FRAME_STRUCTURE
Definition: vdpau.h:2874
@ VDP_VIDEO_SURFACE_FIELD_STRUCTURE
Definition: vdpau.h:2873
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:4850
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition: vdpau.h:4950
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition: vdpau.h:4775
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition: vdpau.h:4828
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition: vdpau.h:4790
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:4896
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition: vdpau.h:4815
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition: vdpau.h:4838
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition: vdpau.h:4919
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition: vdpau.h:4803
uint64_t VdpTime
The representation of a point in time.
Definition: vdpau.h:4765
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition: vdpau.h:4782
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition: vdpau.h:4930
@ VDP_PRESENTATION_QUEUE_STATUS_QUEUED
Definition: vdpau.h:4934
@ VDP_PRESENTATION_QUEUE_STATUS_IDLE
Definition: vdpau.h:4932
@ VDP_PRESENTATION_QUEUE_STATUS_VISIBLE
Definition: vdpau.h:4936
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:4542
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition: vdpau.h:4562
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation's support for a specific attribute.
Definition: vdpau.h:4377
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation's support for a specific feature.
Definition: vdpau.h:4344
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition: vdpau.h:3992
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition: vdpau.h:4423
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation's support for a specific parameter.
Definition: vdpau.h:4361
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation's supported for a specific attribute.
Definition: vdpau.h:4412
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition: vdpau.h:4148
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:4697
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition: vdpau.h:4222
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:4445
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:4505
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition: vdpau.h:4487
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition: vdpau.h:4468
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation's supported for a specific parameter.
Definition: vdpau.h:4394
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition: vdpau.h:4584
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition: vdpau.h:4522
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition: vdpau.h:4575
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD
Definition: vdpau.h:4588
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME
Definition: vdpau.h:4597
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD
Definition: vdpau.h:4593
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:5027
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device's display has been preempted.
Definition: vdpau.h:5012
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:5050
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition: vdpau.h:5188
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:3007
uint32_t struct_version
Definition: vdpau.h:3011
void const * bitstream
Definition: vdpau.h:3013
uint32_t bitstream_bytes
Definition: vdpau.h:3015
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:4606
VdpOutputSurface source_surface
Definition: vdpau.h:4614
uint32_t struct_version
Definition: vdpau.h:4610
VdpRect const * destination_rect
Definition: vdpau.h:4628
VdpRect const * source_rect
Definition: vdpau.h:4619
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 AV1 picture.
Definition: vdpau.h:3719
short cb_offset
Definition: vdpau.h:3870
char qp_y_dc_delta_q
Definition: vdpau.h:3790
unsigned char delta_lf_present
Definition: vdpau.h:3817
unsigned char delta_lf_multi
Definition: vdpau.h:3819
unsigned int delta_q_present
Definition: vdpau.h:3759
unsigned char qm_v
Definition: vdpau.h:3797
unsigned int frame_offset
Definition: vdpau.h:3723
unsigned short random_seed
Definition: vdpau.h:3864
unsigned char num_cr_points
Definition: vdpau.h:3862
unsigned char cr_mult
Definition: vdpau.h:3871
unsigned int enable_interintra_compound
Definition: vdpau.h:3734
unsigned int tx_mode
Definition: vdpau.h:3764
unsigned char spatial_layer_id
Definition: vdpau.h:3832
unsigned char num_y_points
Definition: vdpau.h:3858
unsigned int profile
Definition: vdpau.h:3726
unsigned short grain_scale_shift
Definition: vdpau.h:3856
unsigned int enable_fgs
Definition: vdpau.h:3744
unsigned int enable_order_hint
Definition: vdpau.h:3738
unsigned int frame_type
Definition: vdpau.h:3747
unsigned int force_integer_mv
Definition: vdpau.h:3751
unsigned int allow_intrabc
Definition: vdpau.h:3753
unsigned short ar_coeff_shift_minus6
Definition: vdpau.h:3855
unsigned int coded_lossless
Definition: vdpau.h:3762
unsigned int num_tile_rows
Definition: vdpau.h:3772
unsigned char qm_y
Definition: vdpau.h:3795
unsigned char invalid
Definition: vdpau.h:3844
unsigned int enable_cdef
Definition: vdpau.h:3742
unsigned int show_frame
Definition: vdpau.h:3748
unsigned char loop_filter_delta_enabled
Definition: vdpau.h:3814
unsigned short scaling_shift_minus8
Definition: vdpau.h:3852
unsigned char loop_filter_level_u
Definition: vdpau.h:3809
unsigned char cdef_bits
Definition: vdpau.h:3780
unsigned int reference_mode
Definition: vdpau.h:3765
unsigned char loop_filter_sharpness
Definition: vdpau.h:3811
unsigned char SkipModeFrame0
Definition: vdpau.h:3785
unsigned char segmentation_update_data
Definition: vdpau.h:3802
unsigned int mono_chrome
Definition: vdpau.h:3730
unsigned int allow_high_precision_mv
Definition: vdpau.h:3754
unsigned int coded_denom
Definition: vdpau.h:3752
unsigned short apply_grain
Definition: vdpau.h:3850
unsigned int switchable_motion_mode
Definition: vdpau.h:3756
char qp_u_dc_delta_q
Definition: vdpau.h:3791
unsigned int allow_warped_motion
Definition: vdpau.h:3766
unsigned char loop_filter_level_v
Definition: vdpau.h:3810
unsigned int using_qmatrix
Definition: vdpau.h:3761
unsigned int enable_jnt_comp
Definition: vdpau.h:3740
unsigned short chroma_scaling_from_luma
Definition: vdpau.h:3853
unsigned int reduced_tx_set
Definition: vdpau.h:3767
unsigned int enable_restoration
Definition: vdpau.h:3743
unsigned char base_qindex
Definition: vdpau.h:3789
unsigned char temporal_layer_id
Definition: vdpau.h:3831
unsigned int subsampling_y
Definition: vdpau.h:3729
unsigned char cdef_damping_minus_3
Definition: vdpau.h:3779
unsigned int subsampling_x
Definition: vdpau.h:3728
unsigned char cb_luma_mult
Definition: vdpau.h:3869
unsigned short overlap_flag
Definition: vdpau.h:3851
unsigned int use_128x128_superblock
Definition: vdpau.h:3727
unsigned int index
Definition: vdpau.h:3839
unsigned char cb_mult
Definition: vdpau.h:3868
unsigned short clip_to_restricted_range
Definition: vdpau.h:3857
unsigned int use_ref_frame_mvs
Definition: vdpau.h:3757
char qp_v_ac_delta_q
Definition: vdpau.h:3794
short cr_offset
Definition: vdpau.h:3873
unsigned int enable_masked_compound
Definition: vdpau.h:3735
unsigned char wmtype
Definition: vdpau.h:3845
unsigned char reserved4_2bits
Definition: vdpau.h:3820
unsigned int context_update_tile_id
Definition: vdpau.h:3773
unsigned int width
Definition: vdpau.h:3720
unsigned int enable_superres
Definition: vdpau.h:3741
unsigned char segmentation_enabled
Definition: vdpau.h:3800
unsigned char num_cb_points
Definition: vdpau.h:3860
unsigned int disable_frame_end_update_cdf
Definition: vdpau.h:3758
unsigned int allow_screen_content_tools
Definition: vdpau.h:3750
char qp_v_dc_delta_q
Definition: vdpau.h:3792
unsigned int use_superres
Definition: vdpau.h:3763
unsigned short ar_coeff_lag
Definition: vdpau.h:3854
unsigned char segmentation_update_map
Definition: vdpau.h:3801
unsigned char SkipModeFrame1
Definition: vdpau.h:3786
unsigned char segmentation_temporal_update
Definition: vdpau.h:3803
unsigned int primary_ref_frame
Definition: vdpau.h:3827
unsigned int enable_dual_filter
Definition: vdpau.h:3737
unsigned int enable_intra_edge_filter
Definition: vdpau.h:3733
unsigned int skip_mode
Definition: vdpau.h:3768
unsigned char qm_u
Definition: vdpau.h:3796
unsigned int enable_filter_intra
Definition: vdpau.h:3732
unsigned int bit_depth_minus8
Definition: vdpau.h:3731
char qp_u_ac_delta_q
Definition: vdpau.h:3793
unsigned char loop_filter_delta_update
Definition: vdpau.h:3815
unsigned int height
Definition: vdpau.h:3721
unsigned char cr_luma_mult
Definition: vdpau.h:3872
unsigned int disable_cdf_update
Definition: vdpau.h:3749
unsigned char delta_lf_res
Definition: vdpau.h:3818
unsigned int order_hint_bits_minus1
Definition: vdpau.h:3739
unsigned int num_tile_cols
Definition: vdpau.h:3771
unsigned int delta_q_res
Definition: vdpau.h:3760
unsigned int interp_filter
Definition: vdpau.h:3755
Picture parameter information for an H.264 picture.
Definition: vdpau.h:3135
uint8_t frame_mbs_only_flag
Definition: vdpau.h:3155
uint8_t redundant_pic_cnt_present_flag
Definition: vdpau.h:3170
uint8_t log2_max_frame_num_minus4
Definition: vdpau.h:3162
uint32_t slice_count
Definition: vdpau.h:3137
VdpBool is_reference
Definition: vdpau.h:3141
uint8_t delta_pic_order_always_zero_flag
Definition: vdpau.h:3165
uint8_t transform_8x8_mode_flag
Definition: vdpau.h:3156
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3164
uint8_t pic_order_present_flag
Definition: vdpau.h:3168
uint8_t entropy_coding_mode_flag
Definition: vdpau.h:3167
uint8_t pic_order_cnt_type
Definition: vdpau.h:3163
uint8_t mb_adaptive_frame_field_flag
Definition: vdpau.h:3151
int8_t second_chroma_qp_index_offset
Definition: vdpau.h:3158
uint8_t num_ref_idx_l1_active_minus1
Definition: vdpau.h:3161
uint8_t bottom_field_flag
Definition: vdpau.h:3149
uint8_t weighted_pred_flag
Definition: vdpau.h:3153
int8_t pic_init_qp_minus26
Definition: vdpau.h:3159
uint8_t num_ref_frames
Definition: vdpau.h:3150
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3169
uint16_t frame_num
Definition: vdpau.h:3147
uint8_t weighted_bipred_idc
Definition: vdpau.h:3154
uint8_t direct_8x8_inference_flag
Definition: vdpau.h:3166
uint8_t num_ref_idx_l0_active_minus1
Definition: vdpau.h:3160
int8_t chroma_qp_index_offset
Definition: vdpau.h:3157
uint8_t field_pic_flag
Definition: vdpau.h:3148
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3152
Picture parameter information for an H.264 Hi444PP picture.
Definition: vdpau.h:3191
VdpPictureInfoH264 pictureInfo
Definition: vdpau.h:3193
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: vdpau.h:3203
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3208
Picture parameter information for an HEVC 444 picture.
Definition: vdpau.h:3659
uint8_t transformSkipContextEnableFlag
Definition: vdpau.h:3668
uint8_t log2SaoOffsetScaleChroma
Definition: vdpau.h:3702
uint8_t diffCuChromaQpAdjustmentDepth
Definition: vdpau.h:3695
uint8_t intraBlockCopyEnableFlag
Definition: vdpau.h:3684
uint8_t persistentRiceAdaptationEnableFlag
Definition: vdpau.h:3680
VdpPictureInfoHEVC pictureInfo
Definition: vdpau.h:3661
uint8_t cabacBypassAlignmentEnableFlag
Definition: vdpau.h:3682
uint8_t transformSkipRotationEnableFlag
Definition: vdpau.h:3666
uint8_t implicitRdpcmEnableFlag
Definition: vdpau.h:3670
uint8_t sps_range_extension_flag
Definition: vdpau.h:3664
uint8_t chromaQpAdjustmentTableSize
Definition: vdpau.h:3697
uint8_t pps_range_extension_flag
Definition: vdpau.h:3687
uint8_t log2MaxTransformSkipSize
Definition: vdpau.h:3689
uint8_t crossComponentPredictionEnableFlag
Definition: vdpau.h:3691
uint8_t chromaQpAdjustmentEnableFlag
Definition: vdpau.h:3693
uint8_t extendedPrecisionProcessingFlag
Definition: vdpau.h:3674
uint8_t highPrecisionOffsetsEnableFlag
Definition: vdpau.h:3678
uint8_t log2SaoOffsetScaleLuma
Definition: vdpau.h:3700
uint8_t intraSmoothingDisabledFlag
Definition: vdpau.h:3676
uint8_t explicitRdpcmEnableFlag
Definition: vdpau.h:3672
Picture parameter information for an H.265/HEVC picture.
Definition: vdpau.h:3455
uint8_t chroma_format_idc
Definition: vdpau.h:3460
uint8_t NumPocLtCurr
Definition: vdpau.h:3640
uint8_t num_extra_slice_header_bits
Definition: vdpau.h:3527
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: vdpau.h:3503
uint8_t log2_min_transform_block_size_minus2
Definition: vdpau.h:3473
uint32_t pic_width_in_luma_samples
Definition: vdpau.h:3463
uint8_t pps_deblocking_filter_disabled_flag
Definition: vdpau.h:3570
uint32_t pic_height_in_luma_samples
Definition: vdpau.h:3464
int8_t pps_tc_offset_div2
Definition: vdpau.h:3576
uint8_t RAPPicFlag
Definition: vdpau.h:3592
uint8_t sps_max_dec_pic_buffering_minus1
Definition: vdpau.h:3470
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3462
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: vdpau.h:3540
uint8_t diff_cu_qp_delta_depth
Definition: vdpau.h:3537
uint8_t strong_intra_smoothing_enabled_flag
Definition: vdpau.h:3518
int8_t init_qp_minus26
Definition: vdpau.h:3532
uint8_t sign_data_hiding_enabled_flag
Definition: vdpau.h:3528
uint8_t log2_min_luma_coding_block_size_minus3
Definition: vdpau.h:3471
uint8_t dependent_slice_segments_enabled_flag
Definition: vdpau.h:3525
uint32_t NumShortTermPictureSliceHeaderBits
Definition: vdpau.h:3608
uint32_t NumLongTermPictureSliceHeaderBits
Definition: vdpau.h:3613
uint8_t max_transform_hierarchy_depth_intra
Definition: vdpau.h:3476
uint8_t log2_diff_max_min_transform_block_size
Definition: vdpau.h:3474
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: vdpau.h:3501
uint8_t output_flag_present_flag
Definition: vdpau.h:3526
int8_t pps_beta_offset_div2
Definition: vdpau.h:3573
uint8_t NumPocStCurrBefore
Definition: vdpau.h:3634
uint8_t long_term_ref_pics_present_flag
Definition: vdpau.h:3513
uint8_t sps_temporal_mvp_enabled_flag
Definition: vdpau.h:3517
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: vdpau.h:3505
uint8_t num_tile_columns_minus1
Definition: vdpau.h:3547
int32_t CurrPicOrderCntVal
Definition: vdpau.h:3619
uint8_t max_transform_hierarchy_depth_inter
Definition: vdpau.h:3475
uint8_t num_ref_idx_l0_default_active_minus1
Definition: vdpau.h:3530
uint8_t entropy_coding_sync_enabled_flag
Definition: vdpau.h:3545
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3533
uint8_t IDRPicFlag
Definition: vdpau.h:3589
uint8_t weighted_bipred_flag
Definition: vdpau.h:3542
uint8_t num_short_term_ref_pic_sets
Definition: vdpau.h:3512
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: vdpau.h:3472
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: vdpau.h:3563
uint8_t cu_qp_delta_enabled_flag
Definition: vdpau.h:3535
uint8_t amp_enabled_flag
Definition: vdpau.h:3497
uint8_t weighted_pred_flag
Definition: vdpau.h:3541
uint8_t uniform_spacing_flag
Definition: vdpau.h:3551
uint8_t CurrRpsIdx
Definition: vdpau.h:3594
uint8_t loop_filter_across_tiles_enabled_flag
Definition: vdpau.h:3562
uint8_t bit_depth_chroma_minus8
Definition: vdpau.h:3466
uint8_t deblocking_filter_override_enabled_flag
Definition: vdpau.h:3567
uint8_t tiles_enabled_flag
Definition: vdpau.h:3544
uint8_t slice_segment_header_extension_present_flag
Definition: vdpau.h:3579
int8_t pps_cb_qp_offset
Definition: vdpau.h:3538
uint32_t NumPocTotalCurr
Definition: vdpau.h:3596
uint8_t pcm_enabled_flag
Definition: vdpau.h:3499
uint8_t pcm_loop_filter_disabled_flag
Definition: vdpau.h:3509
uint8_t sample_adaptive_offset_enabled_flag
Definition: vdpau.h:3498
uint8_t cabac_init_present_flag
Definition: vdpau.h:3529
uint8_t transform_skip_enabled_flag
Definition: vdpau.h:3534
uint8_t num_long_term_ref_pics_sps
Definition: vdpau.h:3516
int8_t pps_cr_qp_offset
Definition: vdpau.h:3539
uint8_t log2_parallel_merge_level_minus2
Definition: vdpau.h:3578
uint32_t NumDeltaPocsOfRefRpsIdx
Definition: vdpau.h:3600
uint8_t num_ref_idx_l1_default_active_minus1
Definition: vdpau.h:3531
uint8_t bit_depth_luma_minus8
Definition: vdpau.h:3465
uint8_t transquant_bypass_enabled_flag
Definition: vdpau.h:3543
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3467
uint8_t lists_modification_present_flag
Definition: vdpau.h:3577
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3564
uint8_t scaling_list_enabled_flag
Definition: vdpau.h:3477
uint8_t NumPocStCurrAfter
Definition: vdpau.h:3637
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: vdpau.h:3507
uint8_t num_tile_rows_minus1
Definition: vdpau.h:3549
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: vdpau.h:3038
uint8_t frame_pred_frame_dct
Definition: vdpau.h:3059
uint8_t concealment_motion_vectors
Definition: vdpau.h:3060
VdpVideoSurface backward_reference
Definition: vdpau.h:3048
uint8_t top_field_first
Definition: vdpau.h:3064
uint8_t alternate_scan
Definition: vdpau.h:3062
uint8_t q_scale_type
Definition: vdpau.h:3063
VdpVideoSurface forward_reference
Definition: vdpau.h:3043
uint8_t full_pel_forward_vector
Definition: vdpau.h:3066
uint8_t full_pel_backward_vector
Definition: vdpau.h:3068
uint8_t intra_dc_precision
Definition: vdpau.h:3058
uint32_t slice_count
Definition: vdpau.h:3050
uint8_t intra_vlc_format
Definition: vdpau.h:3061
uint8_t picture_coding_type
Definition: vdpau.h:3057
uint8_t picture_structure
Definition: vdpau.h:3056
Picture parameter information for an MPEG-4 Part 2 picture.
Definition: vdpau.h:3326
uint8_t vop_coding_type
Definition: vdpau.h:3345
uint8_t vop_fcode_forward
Definition: vdpau.h:3346
uint16_t vop_time_increment_resolution
Definition: vdpau.h:3344
uint8_t vop_fcode_backward
Definition: vdpau.h:3347
uint8_t quant_type
Definition: vdpau.h:3350
VdpVideoSurface forward_reference
Definition: vdpau.h:3331
VdpVideoSurface backward_reference
Definition: vdpau.h:3336
uint8_t quarter_sample
Definition: vdpau.h:3351
uint8_t top_field_first
Definition: vdpau.h:3356
uint8_t rounding_control
Definition: vdpau.h:3354
uint8_t alternate_vertical_scan_flag
Definition: vdpau.h:3355
uint8_t interlaced
Definition: vdpau.h:3349
uint8_t resync_marker_disable
Definition: vdpau.h:3348
uint8_t short_video_header
Definition: vdpau.h:3352
Picture parameter information for a VC1 picture.
Definition: vdpau.h:3219
uint32_t slice_count
Definition: vdpau.h:3232
uint8_t range_mapuv
Definition: vdpau.h:3279
VdpVideoSurface backward_reference
Definition: vdpau.h:3229
uint8_t interlace
Definition: vdpau.h:3247
uint8_t fastuvmc
Definition: vdpau.h:3273
uint8_t picture_type
Definition: vdpau.h:3234
uint8_t pulldown
Definition: vdpau.h:3245
uint8_t tfcntrflag
Definition: vdpau.h:3249
uint8_t syncmarker
Definition: vdpau.h:3290
uint8_t postprocflag
Definition: vdpau.h:3243
uint8_t psf
Definition: vdpau.h:3253
uint8_t range_mapuv_flag
Definition: vdpau.h:3278
uint8_t quantizer
Definition: vdpau.h:3261
uint8_t multires
Definition: vdpau.h:3285
uint8_t extended_mv
Definition: vdpau.h:3263
uint8_t frame_coding_mode
Definition: vdpau.h:3236
uint8_t panscan_flag
Definition: vdpau.h:3257
uint8_t pquant
Definition: vdpau.h:3316
uint8_t range_mapy_flag
Definition: vdpau.h:3275
VdpVideoSurface forward_reference
Definition: vdpau.h:3224
uint8_t refdist_flag
Definition: vdpau.h:3259
uint8_t maxbframes
Definition: vdpau.h:3302
uint8_t loopfilter
Definition: vdpau.h:3271
uint8_t deblockEnable
Definition: vdpau.h:3310
uint8_t extended_dmv
Definition: vdpau.h:3265
uint8_t rangered
Definition: vdpau.h:3297
uint8_t vstransform
Definition: vdpau.h:3269
uint8_t finterpflag
Definition: vdpau.h:3251
uint8_t range_mapy
Definition: vdpau.h:3276
uint8_t overlap
Definition: vdpau.h:3267
uint8_t dquant
Definition: vdpau.h:3255
Definition: vdpau.h:3379
unsigned short intraOnly
Definition: vdpau.h:3398
unsigned short allowHighPrecisionMv
Definition: vdpau.h:3399
unsigned short refreshEntropyProbs
Definition: vdpau.h:3400
VdpVideoSurface altReference
Definition: vdpau.h:3386
unsigned char log2TileRows
Definition: vdpau.h:3411
unsigned int width
Definition: vdpau.h:3380
unsigned char segmentMapUpdate
Definition: vdpau.h:3414
unsigned int height
Definition: vdpau.h:3381
unsigned short frameContextIdx
Definition: vdpau.h:3391
unsigned int uncompressedHeaderSize
Definition: vdpau.h:3434
unsigned short keyFrame
Definition: vdpau.h:3392
unsigned short profile
Definition: vdpau.h:3390
int qpChAc
Definition: vdpau.h:3427
unsigned int mcompFilterType
Definition: vdpau.h:3431
unsigned char segmentEnabled
Definition: vdpau.h:3413
VdpVideoSurface goldenReference
Definition: vdpau.h:3385
int qpYAc
Definition: vdpau.h:3424
unsigned char loopFilterLevel
Definition: vdpau.h:3406
int qpYDc
Definition: vdpau.h:3425
unsigned char segmentMapTemporalUpdate
Definition: vdpau.h:3415
unsigned char log2TileColumns
Definition: vdpau.h:3410
unsigned short frameParallelDecoding
Definition: vdpau.h:3395
unsigned int resetFrameContext
Definition: vdpau.h:3430
unsigned char colorSpace
Definition: vdpau.h:3388
unsigned char bitDepthMinus8Chroma
Definition: vdpau.h:3405
unsigned short subSamplingX
Definition: vdpau.h:3396
VdpVideoSurface lastReference
Definition: vdpau.h:3384
unsigned char bitDepthMinus8Luma
Definition: vdpau.h:3404
unsigned short showFrame
Definition: vdpau.h:3393
int qpChDc
Definition: vdpau.h:3426
unsigned char modeRefLfEnabled
Definition: vdpau.h:3409
unsigned short errorResilient
Definition: vdpau.h:3394
unsigned char loopFilterSharpness
Definition: vdpau.h:3407
unsigned short subSamplingY
Definition: vdpau.h:3397
unsigned int compressedHeaderSize
Definition: vdpau.h:3435
unsigned char segmentFeatureMode
Definition: vdpau.h:3416
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:3085
VdpBool is_long_term
Definition: vdpau.h:3092
VdpBool bottom_is_reference
Definition: vdpau.h:3102
uint16_t frame_idx
Definition: vdpau.h:3110
VdpBool top_is_reference
Definition: vdpau.h:3097
VdpVideoSurface surface
Definition: vdpau.h:3090