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
785 extern "C" {
786 #endif
787 
806 #define VDP_TRUE 1
808 #define VDP_FALSE 0
813 typedef int VdpBool;
814 
833 #define VDP_INVALID_HANDLE 0xffffffffU
834 
839 typedef 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 
963 typedef 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 
1119 typedef 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 
1188 typedef 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 
1246 typedef struct {
1248  uint32_t x;
1250  uint32_t y;
1251 } VdpPoint;
1252 
1263 typedef struct {
1265  uint32_t x0;
1267  uint32_t y0;
1269  uint32_t x1;
1271  uint32_t y1;
1272 } VdpRect;
1273 
1282 typedef struct {
1283  float red;
1284  float green;
1285  float blue;
1286  float alpha;
1287 } VdpColor;
1288 
1301 typedef enum {
1433 } VdpStatus;
1434 
1444 typedef 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 
1538 typedef uint32_t VdpDevice;
1539 
1546  VdpDevice device
1547 );
1548 
1587 typedef float VdpCSCMatrix[3][4];
1588 
1589 #define VDP_PROCAMP_VERSION 0
1590 
1599 typedef struct {
1603  uint32_t struct_version;
1608  float brightness;
1613  float contrast;
1618  float saturation;
1623  float hue;
1624 } VdpProcamp;
1625 
1632 typedef 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 
1732 typedef 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 
1898 typedef 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 
1999 typedef 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 
2232 typedef 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 
2332 typedef enum {
2349 
2354 typedef enum {
2361 
2362 #define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2363 
2383 typedef struct {
2387  uint32_t struct_version;
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 
2613 typedef 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 
2872 typedef enum {
2876 
2877 typedef 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 
2944 typedef 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 
3007 typedef struct {
3011  uint32_t struct_version;
3013  void const * bitstream;
3017 
3028 typedef void VdpPictureInfo;
3029 
3038 typedef struct {
3050  uint32_t slice_count;
3051 
3063  uint8_t q_scale_type;
3070  uint8_t f_code[2][2];
3072  uint8_t intra_quantizer_matrix[64];
3074  uint8_t non_intra_quantizer_matrix[64];
3077 
3085 typedef struct {
3104  int32_t field_order_cnt[2];
3110  uint16_t frame_idx;
3112 
3135 typedef 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 
3191 typedef struct {
3194 
3211 
3219 typedef struct {
3230 
3232  uint32_t slice_count;
3234  uint8_t picture_type;
3237 
3243  uint8_t postprocflag;
3245  uint8_t pulldown;
3247  uint8_t interlace;
3249  uint8_t tfcntrflag;
3251  uint8_t finterpflag;
3253  uint8_t psf;
3255  uint8_t dquant;
3257  uint8_t panscan_flag;
3259  uint8_t refdist_flag;
3261  uint8_t quantizer;
3263  uint8_t extended_mv;
3265  uint8_t extended_dmv;
3267  uint8_t overlap;
3269  uint8_t vstransform;
3271  uint8_t loopfilter;
3273  uint8_t fastuvmc;
3276  uint8_t range_mapy;
3279  uint8_t range_mapuv;
3280 
3285  uint8_t multires;
3290  uint8_t syncmarker;
3297  uint8_t rangered;
3302  uint8_t maxbframes;
3310  uint8_t deblockEnable;
3316  uint8_t pquant;
3318 
3326 typedef 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 
3378 typedef 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;
3395  unsigned short frameParallelDecoding;
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;
3405  unsigned char bitDepthMinus8Chroma;
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 
3424  int qpYAc;
3425  int qpYDc;
3426  int qpChDc;
3427  int qpChAc;
3428 
3429  unsigned int activeRefIdx[3];
3430  unsigned int resetFrameContext;
3431  unsigned int mcompFilterType;
3432  unsigned int mbRefLfDelta[4];
3433  unsigned int mbModeLfDelta[2];
3435  unsigned int compressedHeaderSize;
3437 
3455 typedef 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];
3640  uint8_t NumPocLtCurr;
3643  uint8_t RefPicSetStCurrBefore[8];
3646  uint8_t RefPicSetStCurrAfter[8];
3649  uint8_t RefPicSetLtCurr[8];
3651 
3659 typedef 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 
3718 typedef 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;
3853  unsigned short chroma_scaling_from_luma ;
3854  unsigned short ar_coeff_lag;
3855  unsigned short ar_coeff_shift_minus6;
3856  unsigned short grain_scale_shift;
3857  unsigned short clip_to_restricted_range ;
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;
3870  short cb_offset;
3871  unsigned char cr_mult;
3872  unsigned char cr_luma_mult;
3873  short cr_offset;
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 
3992 typedef 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 
4148 typedef 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 
4222 typedef 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 
4423 typedef 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 
4584 typedef enum {
4599 
4600 #define VDP_LAYER_VERSION 0
4601 
4606 typedef struct {
4610  uint32_t struct_version;
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 
4765 typedef uint64_t VdpTime;
4766 
4776 
4783  VdpPresentationQueueTarget presentation_queue_target
4784 );
4785 
4790 typedef 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 
4930 typedef enum {
4938 
4951  VdpPresentationQueue presentation_queue,
4952  VdpOutputSurface surface,
4953  /* output parameters follow */
4954  VdpPresentationQueueStatus * status,
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 
5050 typedef 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