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
807 
808 #define VDP_FALSE 0
809 
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)
850 
858 #define VDP_CHROMA_TYPE_422 ((VdpChromaType)1)
859 
867 #define VDP_CHROMA_TYPE_444 ((VdpChromaType)2)
868 
873 #define VDP_CHROMA_TYPE_420_FIELD ((VdpChromaType)3)
874 
878 #define VDP_CHROMA_TYPE_422_FIELD ((VdpChromaType)4)
879 
883 #define VDP_CHROMA_TYPE_444_FIELD ((VdpChromaType)5)
884 
889 #define VDP_CHROMA_TYPE_420_FRAME ((VdpChromaType)6)
890 
894 #define VDP_CHROMA_TYPE_422_FRAME ((VdpChromaType)7)
895 
899 #define VDP_CHROMA_TYPE_444_FRAME ((VdpChromaType)8)
900 
904 typedef uint32_t VdpYCbCrFormat;
905 
919 #define VDP_YCBCR_FORMAT_NV12 ((VdpYCbCrFormat)0)
920 
931 #define VDP_YCBCR_FORMAT_YV12 ((VdpYCbCrFormat)1)
932 
945 #define VDP_YCBCR_FORMAT_UYVY ((VdpYCbCrFormat)2)
946 
959 #define VDP_YCBCR_FORMAT_YUYV ((VdpYCbCrFormat)3)
960 
972 #define VDP_YCBCR_FORMAT_Y8U8V8A8 ((VdpYCbCrFormat)4)
973 
985 #define VDP_YCBCR_FORMAT_V8U8Y8A8 ((VdpYCbCrFormat)5)
986 
990 typedef uint32_t VdpRGBAFormat;
991 
1004 #define VDP_RGBA_FORMAT_B8G8R8A8 ((VdpRGBAFormat)0)
1005 
1017 #define VDP_RGBA_FORMAT_R8G8B8A8 ((VdpRGBAFormat)1)
1018 
1030 #define VDP_RGBA_FORMAT_R10G10B10A2 ((VdpRGBAFormat)2)
1031 
1043 #define VDP_RGBA_FORMAT_B10G10R10A2 ((VdpRGBAFormat)3)
1044 
1054 #define VDP_RGBA_FORMAT_A8 ((VdpRGBAFormat)4)
1055 
1059 typedef uint32_t VdpIndexedFormat;
1060 
1072 #define VDP_INDEXED_FORMAT_A4I4 ((VdpIndexedFormat)0)
1073 
1084 #define VDP_INDEXED_FORMAT_I4A4 ((VdpIndexedFormat)1)
1085 
1096 #define VDP_INDEXED_FORMAT_A8I8 ((VdpIndexedFormat)2)
1097 
1108 #define VDP_INDEXED_FORMAT_I8A8 ((VdpIndexedFormat)3)
1109 
1117 typedef struct {
1119  uint32_t x;
1121  uint32_t y;
1122 } VdpPoint;
1123 
1134 typedef struct {
1136  uint32_t x0;
1138  uint32_t y0;
1140  uint32_t x1;
1142  uint32_t y1;
1143 } VdpRect;
1144 
1153 typedef struct {
1154  float red;
1155  float green;
1156  float blue;
1157  float alpha;
1158 } VdpColor;
1159 
1172 typedef enum {
1304 } VdpStatus;
1305 
1315 typedef char const * VdpGetErrorString(
1316  VdpStatus status
1317 );
1318 
1343 #define VDPAU_INTERFACE_VERSION 1
1344 
1356 #define VDPAU_VERSION 1
1357 
1364  /* output parameters follow */
1365  uint32_t * api_version
1366 );
1367 
1386  /* output parameters follow */
1387  char const * * information_string
1388 );
1389 
1409 typedef uint32_t VdpDevice;
1410 
1417  VdpDevice device
1418 );
1419 
1458 typedef float VdpCSCMatrix[3][4];
1459 
1460 #define VDP_PROCAMP_VERSION 0
1461 
1470 typedef struct {
1474  uint32_t struct_version;
1479  float brightness;
1484  float contrast;
1489  float saturation;
1494  float hue;
1495 } VdpProcamp;
1496 
1503 typedef uint32_t VdpColorStandard;
1504 
1506 #define VDP_COLOR_STANDARD_ITUR_BT_601 ((VdpColorStandard)0)
1507 
1508 #define VDP_COLOR_STANDARD_ITUR_BT_709 ((VdpColorStandard)1)
1509 
1510 #define VDP_COLOR_STANDARD_SMPTE_240M ((VdpColorStandard)2)
1511 
1521  VdpProcamp * procamp,
1522  VdpColorStandard standard,
1523  /* output parameters follow */
1524  VdpCSCMatrix * csc_matrix
1525 );
1526 
1572  VdpDevice device,
1573  VdpChromaType surface_chroma_type,
1574  /* output parameters follow */
1575  VdpBool * is_supported,
1576  uint32_t * max_width,
1577  uint32_t * max_height
1578 );
1579 
1592  VdpDevice device,
1593  VdpChromaType surface_chroma_type,
1594  VdpYCbCrFormat bits_ycbcr_format,
1595  /* output parameters follow */
1596  VdpBool * is_supported
1597 );
1598 
1603 typedef uint32_t VdpVideoSurface;
1604 
1651  VdpDevice device,
1652  VdpChromaType chroma_type,
1653  uint32_t width,
1654  uint32_t height,
1655  /* output parameters follow */
1656  VdpVideoSurface * surface
1657 );
1658 
1665  VdpVideoSurface surface
1666 );
1667 
1678  VdpVideoSurface surface,
1679  /* output parameters follow */
1680  VdpChromaType * chroma_type,
1681  uint32_t * width,
1682  uint32_t * height
1683 );
1684 
1704  VdpVideoSurface surface,
1705  VdpYCbCrFormat destination_ycbcr_format,
1706  void * const * destination_data,
1707  uint32_t const * destination_pitches
1708 );
1709 
1729  VdpVideoSurface surface,
1730  VdpYCbCrFormat source_ycbcr_format,
1731  void const * const * source_data,
1732  uint32_t const * source_pitches
1733 );
1734 
1770 typedef uint32_t VdpColorTableFormat;
1771 
1783 #define VDP_COLOR_TABLE_FORMAT_B8G8R8X8 ((VdpColorTableFormat)0)
1784 
1799  VdpDevice device,
1800  VdpRGBAFormat surface_rgba_format,
1801  /* output parameters follow */
1802  VdpBool * is_supported,
1803  uint32_t * max_width,
1804  uint32_t * max_height
1805 );
1806 
1818  VdpDevice device,
1819  VdpRGBAFormat surface_rgba_format,
1820  /* output parameters follow */
1821  VdpBool * is_supported
1822 );
1823 
1839  VdpDevice device,
1840  VdpRGBAFormat surface_rgba_format,
1841  VdpIndexedFormat bits_indexed_format,
1842  VdpColorTableFormat color_table_format,
1843  /* output parameters follow */
1844  VdpBool * is_supported
1845 );
1846 
1860  VdpDevice device,
1861  VdpRGBAFormat surface_rgba_format,
1862  VdpYCbCrFormat bits_ycbcr_format,
1863  /* output parameters follow */
1864  VdpBool * is_supported
1865 );
1866 
1871 typedef uint32_t VdpOutputSurface;
1872 
1886  VdpDevice device,
1887  VdpRGBAFormat rgba_format,
1888  uint32_t width,
1889  uint32_t height,
1890  /* output parameters follow */
1891  VdpOutputSurface * surface
1892 );
1893 
1900  VdpOutputSurface surface
1901 );
1902 
1913  VdpOutputSurface surface,
1914  /* output parameters follow */
1915  VdpRGBAFormat * rgba_format,
1916  uint32_t * width,
1917  uint32_t * height
1918 );
1919 
1940  VdpOutputSurface surface,
1941  VdpRect const * source_rect,
1942  void * const * destination_data,
1943  uint32_t const * destination_pitches
1944 );
1945 
1966  VdpOutputSurface surface,
1967  void const * const * source_data,
1968  uint32_t const * source_pitches,
1969  VdpRect const * destination_rect
1970 );
1971 
1998  VdpOutputSurface surface,
1999  VdpIndexedFormat source_indexed_format,
2000  void const * const * source_data,
2001  uint32_t const * source_pitch,
2002  VdpRect const * destination_rect,
2003  VdpColorTableFormat color_table_format,
2004  void const * color_table
2005 );
2006 
2033  VdpOutputSurface surface,
2034  VdpYCbCrFormat source_ycbcr_format,
2035  void const * const * source_data,
2036  uint32_t const * source_pitches,
2037  VdpRect const * destination_rect,
2038  VdpCSCMatrix const * csc_matrix
2039 );
2040 
2093  VdpDevice device,
2094  VdpRGBAFormat surface_rgba_format,
2095  /* output parameters follow */
2096  VdpBool * is_supported,
2097  uint32_t * max_width,
2098  uint32_t * max_height
2099 );
2100 
2105 typedef uint32_t VdpBitmapSurface;
2106 
2125  VdpDevice device,
2126  VdpRGBAFormat rgba_format,
2127  uint32_t width,
2128  uint32_t height,
2129  VdpBool frequently_accessed,
2130  /* output parameters follow */
2131  VdpBitmapSurface * surface
2132 );
2133 
2140  VdpBitmapSurface surface
2141 );
2142 
2155  VdpBitmapSurface surface,
2156  /* output parameters follow */
2157  VdpRGBAFormat * rgba_format,
2158  uint32_t * width,
2159  uint32_t * height,
2160  VdpBool * frequently_accessed
2161 );
2162 
2183  VdpBitmapSurface surface,
2184  void const * const * source_data,
2185  uint32_t const * source_pitches,
2186  VdpRect const * destination_rect
2187 );
2188 
2206 typedef enum {
2223 
2228 typedef enum {
2235 
2236 #define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2237 
2257 typedef struct {
2261  uint32_t struct_version;
2270 
2275 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0 0
2276 
2282 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90 1
2283 
2289 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180 2
2290 
2296 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270 3
2297 
2305 #define VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX (1 << 2)
2306 
2378  VdpOutputSurface destination_surface,
2379  VdpRect const * destination_rect,
2380  VdpOutputSurface source_surface,
2381  VdpRect const * source_rect,
2382  VdpColor const * colors,
2383  VdpOutputSurfaceRenderBlendState const * blend_state,
2384  uint32_t flags
2385 );
2386 
2458  VdpOutputSurface destination_surface,
2459  VdpRect const * destination_rect,
2460  VdpBitmapSurface source_surface,
2461  VdpRect const * source_rect,
2462  VdpColor const * colors,
2463  VdpOutputSurfaceRenderBlendState const * blend_state,
2464  uint32_t flags
2465 );
2466 
2487 typedef uint32_t VdpDecoderProfile;
2488 
2490 #define VDP_DECODER_PROFILE_MPEG1 ((VdpDecoderProfile)0)
2491 
2492 #define VDP_DECODER_PROFILE_MPEG2_SIMPLE ((VdpDecoderProfile)1)
2493 
2494 #define VDP_DECODER_PROFILE_MPEG2_MAIN ((VdpDecoderProfile)2)
2495 
2497 #define VDP_DECODER_PROFILE_H264_BASELINE ((VdpDecoderProfile)6)
2498 
2499 #define VDP_DECODER_PROFILE_H264_MAIN ((VdpDecoderProfile)7)
2500 
2501 #define VDP_DECODER_PROFILE_H264_HIGH ((VdpDecoderProfile)8)
2502 
2503 #define VDP_DECODER_PROFILE_VC1_SIMPLE ((VdpDecoderProfile)9)
2504 
2505 #define VDP_DECODER_PROFILE_VC1_MAIN ((VdpDecoderProfile)10)
2506 
2507 #define VDP_DECODER_PROFILE_VC1_ADVANCED ((VdpDecoderProfile)11)
2508 
2509 #define VDP_DECODER_PROFILE_MPEG4_PART2_SP ((VdpDecoderProfile)12)
2510 
2511 #define VDP_DECODER_PROFILE_MPEG4_PART2_ASP ((VdpDecoderProfile)13)
2512 
2513 #define VDP_DECODER_PROFILE_DIVX4_QMOBILE ((VdpDecoderProfile)14)
2514 
2515 #define VDP_DECODER_PROFILE_DIVX4_MOBILE ((VdpDecoderProfile)15)
2516 
2517 #define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER ((VdpDecoderProfile)16)
2518 
2519 #define VDP_DECODER_PROFILE_DIVX4_HD_1080P ((VdpDecoderProfile)17)
2520 
2521 #define VDP_DECODER_PROFILE_DIVX5_QMOBILE ((VdpDecoderProfile)18)
2522 
2523 #define VDP_DECODER_PROFILE_DIVX5_MOBILE ((VdpDecoderProfile)19)
2524 
2525 #define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER ((VdpDecoderProfile)20)
2526 
2527 #define VDP_DECODER_PROFILE_DIVX5_HD_1080P ((VdpDecoderProfile)21)
2528 
2529 #define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE ((VdpDecoderProfile)22)
2530 
2531 #define VDP_DECODER_PROFILE_H264_EXTENDED ((VdpDecoderProfile)23)
2532 
2533 #define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH ((VdpDecoderProfile)24)
2534 
2535 #define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH ((VdpDecoderProfile)25)
2536 
2538 #define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
2539 
2541 #define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
2542 
2543 #define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
2544 
2545 #define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
2546 
2547 #define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
2548 
2549 #define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
2550 
2552 #define VDP_DECODER_LEVEL_MPEG1_NA 0
2553 
2555 #define VDP_DECODER_LEVEL_MPEG2_LL 0
2556 
2557 #define VDP_DECODER_LEVEL_MPEG2_ML 1
2558 
2559 #define VDP_DECODER_LEVEL_MPEG2_HL14 2
2560 
2561 #define VDP_DECODER_LEVEL_MPEG2_HL 3
2562 
2564 #define VDP_DECODER_LEVEL_H264_1 10
2565 
2566 #define VDP_DECODER_LEVEL_H264_1b 9
2567 
2568 #define VDP_DECODER_LEVEL_H264_1_1 11
2569 
2570 #define VDP_DECODER_LEVEL_H264_1_2 12
2571 
2572 #define VDP_DECODER_LEVEL_H264_1_3 13
2573 
2574 #define VDP_DECODER_LEVEL_H264_2 20
2575 
2576 #define VDP_DECODER_LEVEL_H264_2_1 21
2577 
2578 #define VDP_DECODER_LEVEL_H264_2_2 22
2579 
2580 #define VDP_DECODER_LEVEL_H264_3 30
2581 
2582 #define VDP_DECODER_LEVEL_H264_3_1 31
2583 
2584 #define VDP_DECODER_LEVEL_H264_3_2 32
2585 
2586 #define VDP_DECODER_LEVEL_H264_4 40
2587 
2588 #define VDP_DECODER_LEVEL_H264_4_1 41
2589 
2590 #define VDP_DECODER_LEVEL_H264_4_2 42
2591 
2592 #define VDP_DECODER_LEVEL_H264_5 50
2593 
2594 #define VDP_DECODER_LEVEL_H264_5_1 51
2595 
2597 #define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2598 
2599 #define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2600 
2602 #define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2603 
2604 #define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2605 
2606 #define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2607 
2609 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2610 
2611 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2612 
2613 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2614 
2615 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2616 
2617 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2618 
2620 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2621 
2622 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2623 
2624 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2625 
2626 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2627 
2629 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2630 
2631 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2632 
2633 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2634 
2635 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2636 
2637 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2638 
2639 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2640 
2642 #define VDP_DECODER_LEVEL_DIVX_NA 0
2643 
2650 #define VDP_DECODER_LEVEL_HEVC_1 30
2651 
2652 #define VDP_DECODER_LEVEL_HEVC_2 60
2653 
2654 #define VDP_DECODER_LEVEL_HEVC_2_1 63
2655 
2656 #define VDP_DECODER_LEVEL_HEVC_3 90
2657 
2658 #define VDP_DECODER_LEVEL_HEVC_3_1 93
2659 
2660 #define VDP_DECODER_LEVEL_HEVC_4 120
2661 
2662 #define VDP_DECODER_LEVEL_HEVC_4_1 123
2663 
2664 #define VDP_DECODER_LEVEL_HEVC_5 150
2665 
2666 #define VDP_DECODER_LEVEL_HEVC_5_1 153
2667 
2668 #define VDP_DECODER_LEVEL_HEVC_5_2 156
2669 
2670 #define VDP_DECODER_LEVEL_HEVC_6 180
2671 
2672 #define VDP_DECODER_LEVEL_HEVC_6_1 183
2673 
2674 #define VDP_DECODER_LEVEL_HEVC_6_2 186
2675 
2676 typedef enum {
2680 
2681 typedef enum {
2688 
2701  VdpDevice device,
2702  VdpDecoderProfile profile,
2703  /* output parameters follow */
2704  VdpDecoderCapability capability,
2705  void * capability_value
2706 );
2707 
2727  VdpDevice device,
2728  VdpDecoderProfile profile,
2729  /* output parameters follow */
2730  VdpBool * is_supported,
2731  uint32_t * max_level,
2732  uint32_t * max_macroblocks,
2733  uint32_t * max_width,
2734  uint32_t * max_height
2735 );
2736 
2740 typedef uint32_t VdpDecoder;
2741 
2759  VdpDevice device,
2760  VdpDecoderProfile profile,
2761  uint32_t width,
2762  uint32_t height,
2763  uint32_t max_references,
2764  /* output parameters follow */
2765  VdpDecoder * decoder
2766 );
2767 
2774  VdpDecoder decoder
2775 );
2776 
2790  VdpDecoder decoder,
2791  /* output parameters follow */
2792  VdpDecoderProfile * profile,
2793  uint32_t * width,
2794  uint32_t * height
2795 );
2796 
2797 #define VDP_BITSTREAM_BUFFER_VERSION 0
2798 
2803 typedef struct {
2807  uint32_t struct_version;
2809  void const * bitstream;
2813 
2824 typedef void VdpPictureInfo;
2825 
2834 typedef struct {
2846  uint32_t slice_count;
2847 
2859  uint8_t q_scale_type;
2866  uint8_t f_code[2][2];
2868  uint8_t intra_quantizer_matrix[64];
2870  uint8_t non_intra_quantizer_matrix[64];
2873 
2881 typedef struct {
2900  int32_t field_order_cnt[2];
2906  uint16_t frame_idx;
2908 
2931 typedef struct {
2933  uint32_t slice_count;
2935  int32_t field_order_cnt[2];
2938 
2943  uint16_t frame_num;
2968  uint8_t scaling_lists_4x4[6][16];
2970  uint8_t scaling_lists_8x8[2][64];
2974  VdpReferenceFrameH264 referenceFrames[16];
2976 
2987 typedef struct {
2990 
3007 
3015 typedef struct {
3026 
3028  uint32_t slice_count;
3030  uint8_t picture_type;
3033 
3039  uint8_t postprocflag;
3041  uint8_t pulldown;
3043  uint8_t interlace;
3045  uint8_t tfcntrflag;
3047  uint8_t finterpflag;
3049  uint8_t psf;
3051  uint8_t dquant;
3053  uint8_t panscan_flag;
3055  uint8_t refdist_flag;
3057  uint8_t quantizer;
3059  uint8_t extended_mv;
3061  uint8_t extended_dmv;
3063  uint8_t overlap;
3065  uint8_t vstransform;
3067  uint8_t loopfilter;
3069  uint8_t fastuvmc;
3072  uint8_t range_mapy;
3075  uint8_t range_mapuv;
3076 
3081  uint8_t multires;
3086  uint8_t syncmarker;
3093  uint8_t rangered;
3098  uint8_t maxbframes;
3106  uint8_t deblockEnable;
3112  uint8_t pquant;
3114 
3122 typedef struct {
3133 
3138  int32_t trd[2];
3139  int32_t trb[2];
3145  uint8_t interlaced;
3146  uint8_t quant_type;
3153  uint8_t intra_quantizer_matrix[64];
3154  uint8_t non_intra_quantizer_matrix[64];
3157 
3165 
3173 
3191 typedef struct {
3217  uint8_t ScalingList4x4[6][16];
3220  uint8_t ScalingList8x8[6][64];
3223  uint8_t ScalingList16x16[6][64];
3226  uint8_t ScalingList32x32[2][64];
3229  uint8_t ScalingListDCCoeff16x16[6];
3232  uint8_t ScalingListDCCoeff32x32[2];
3291  uint16_t column_width_minus1[20];
3295  uint16_t row_height_minus1[22];
3316 
3324  uint8_t IDRPicFlag;
3327  uint8_t RAPPicFlag;
3329  uint8_t CurrRpsIdx;
3355 
3359  VdpVideoSurface RefPics[16];
3362  int32_t PicOrderCntVal[16];
3366  uint8_t IsLongTerm[16];
3375  uint8_t NumPocLtCurr;
3378  uint8_t RefPicSetStCurrBefore[8];
3381  uint8_t RefPicSetStCurrAfter[8];
3384  uint8_t RefPicSetLtCurr[8];
3386 
3406  VdpDecoder decoder,
3407  VdpVideoSurface target,
3408  VdpPictureInfo const * picture_info,
3409  uint32_t bitstream_buffer_count,
3410  VdpBitstreamBuffer const * bitstream_buffers
3411 );
3412 
3492 typedef uint32_t VdpVideoMixerFeature;
3493 
3505 #define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
3506 
3518 #define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
3519 
3527 #define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
3528 
3535 #define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
3536 
3543 #define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
3544 
3556 #define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
3557 
3578 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
3579 
3585 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
3586 
3592 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
3593 
3599 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
3600 
3606 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
3607 
3613 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
3614 
3620 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
3621 
3627 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
3628 
3634 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
3635 
3648 typedef uint32_t VdpVideoMixerParameter;
3649 
3662 #define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
3663 
3675 #define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
3676 
3689 #define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
3690 
3708 #define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
3709 
3722 typedef uint32_t VdpVideoMixerAttribute;
3723 
3737 #define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
3738 
3765 #define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
3766 
3778 #define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
3779 
3794 #define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
3795 
3806 #define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
3807 
3818 #define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
3819 
3833 #define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
3834 
3845  VdpDevice device,
3846  VdpVideoMixerFeature feature,
3847  /* output parameters follow */
3848  VdpBool * is_supported
3849 );
3850 
3862  VdpDevice device,
3863  VdpVideoMixerParameter parameter,
3864  /* output parameters follow */
3865  VdpBool * is_supported
3866 );
3867 
3878  VdpDevice device,
3879  VdpVideoMixerAttribute attribute,
3880  /* output parameters follow */
3881  VdpBool * is_supported
3882 );
3883 
3895  VdpDevice device,
3896  VdpVideoMixerParameter parameter,
3897  /* output parameters follow */
3898  void * min_value,
3899  void * max_value
3900 );
3901 
3913  VdpDevice device,
3914  VdpVideoMixerAttribute attribute,
3915  /* output parameters follow */
3916  void * min_value,
3917  void * max_value
3918 );
3919 
3923 typedef uint32_t VdpVideoMixer;
3924 
3946  VdpDevice device,
3947  // The set of features to request
3948  uint32_t feature_count,
3949  VdpVideoMixerFeature const * features,
3950  // The parameters used during creation
3951  uint32_t parameter_count,
3952  VdpVideoMixerParameter const * parameters,
3953  void const * const * parameter_values,
3954  /* output parameters follow */
3955  VdpVideoMixer * mixer
3956 );
3957 
3969  VdpVideoMixer mixer,
3970  uint32_t feature_count,
3971  VdpVideoMixerFeature const * features,
3972  VdpBool const * feature_enables
3973 );
3974 
3988  VdpVideoMixer mixer,
3989  uint32_t attribute_count,
3990  VdpVideoMixerAttribute const * attributes,
3991  void const * const * attribute_values
3992 );
3993 
4006  VdpVideoMixer mixer,
4007  uint32_t feature_count,
4008  VdpVideoMixerFeature const * features,
4009  /* output parameters follow */
4010  VdpBool * feature_supports
4011 );
4012 
4023  VdpVideoMixer mixer,
4024  uint32_t feature_count,
4025  VdpVideoMixerFeature const * features,
4026  /* output parameters follow */
4027  VdpBool * feature_enables
4028 );
4029 
4043  VdpVideoMixer mixer,
4044  uint32_t parameter_count,
4045  VdpVideoMixerParameter const * parameters,
4046  /* output parameters follow */
4047  void * const * parameter_values
4048 );
4049 
4063  VdpVideoMixer mixer,
4064  uint32_t attribute_count,
4065  VdpVideoMixerAttribute const * attributes,
4066  /* output parameters follow */
4067  void * const * attribute_values
4068 );
4069 
4076  VdpVideoMixer mixer
4077 );
4078 
4084 typedef enum {
4099 
4100 #define VDP_LAYER_VERSION 0
4101 
4106 typedef struct {
4110  uint32_t struct_version;
4129 } VdpLayer;
4130 
4198  VdpVideoMixer mixer,
4199  VdpOutputSurface background_surface,
4200  VdpRect const * background_source_rect,
4201  VdpVideoMixerPictureStructure current_picture_structure,
4202  uint32_t video_surface_past_count,
4203  VdpVideoSurface const * video_surface_past,
4204  VdpVideoSurface video_surface_current,
4205  uint32_t video_surface_future_count,
4206  VdpVideoSurface const * video_surface_future,
4207  VdpRect const * video_source_rect,
4208  VdpOutputSurface destination_surface,
4209  VdpRect const * destination_rect,
4210  VdpRect const * destination_video_rect,
4211  uint32_t layer_count,
4212  VdpLayer const * layers
4213 );
4214 
4266 typedef uint64_t VdpTime;
4267 
4277 
4284  VdpPresentationQueueTarget presentation_queue_target
4285 );
4286 
4291 typedef uint32_t VdpPresentationQueue;
4292 
4305  VdpDevice device,
4306  VdpPresentationQueueTarget presentation_queue_target,
4307  /* output parameters follow */
4308  VdpPresentationQueue * presentation_queue
4309 );
4310 
4317  VdpPresentationQueue presentation_queue
4318 );
4319 
4330  VdpPresentationQueue presentation_queue,
4331  VdpColor * const background_color
4332 );
4333 
4340  VdpPresentationQueue presentation_queue,
4341  VdpColor * background_color
4342 );
4343 
4352  VdpPresentationQueue presentation_queue,
4353  /* output parameters follow */
4354  VdpTime * current_time
4355 );
4356 
4398  VdpPresentationQueue presentation_queue,
4399  VdpOutputSurface surface,
4400  uint32_t clip_width,
4401  uint32_t clip_height,
4402  VdpTime earliest_presentation_time
4403 );
4404 
4421  VdpPresentationQueue presentation_queue,
4422  VdpOutputSurface surface,
4423  /* output parameters follow */
4424  VdpTime * first_presentation_time
4425 );
4426 
4431 typedef enum {
4439 
4452  VdpPresentationQueue presentation_queue,
4453  VdpOutputSurface surface,
4454  /* output parameters follow */
4455  VdpPresentationQueueStatus * status,
4456  VdpTime * first_presentation_time
4457 );
4458 
4514  VdpDevice device,
4515  void * context
4516 );
4517 
4529  VdpDevice device,
4530  VdpPreemptionCallback callback,
4531  void * context
4532 );
4533 
4551 typedef uint32_t VdpFuncId;
4552 
4554 #define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
4555 
4556 #define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
4557 
4558 #define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
4559 
4560 #define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
4561 
4562 #define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
4563 
4564 #define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
4565 
4566 #define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
4567 
4568 #define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
4569 
4570 #define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
4571 
4572 #define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
4573 
4574 #define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
4575 
4576 #define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
4577 
4578 #define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
4579 
4580 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
4581 
4582 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
4583 
4584 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
4585 
4586 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
4587 
4588 #define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
4589 
4590 #define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
4591 
4592 #define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
4593 
4594 #define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
4595 
4596 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
4597 
4598 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
4599 
4600 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
4601 
4602 #define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
4603 
4604 #define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
4605 
4606 #define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
4607 
4608 #define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
4609 
4610 #define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
4611 
4612 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
4613 
4614 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
4615 
4616 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
4617 
4618 #define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
4619 
4620 #define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
4621 
4622 #define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
4623 
4624 #define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
4625 
4626 #define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
4627 
4628 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
4629 
4630 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
4631 
4632 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
4633 
4634 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
4635 
4636 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
4637 
4638 #define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
4639 
4640 #define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
4641 
4642 #define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
4643 
4644 #define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
4645 
4646 #define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
4647 
4648 #define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
4649 
4650 #define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
4651 
4652 #define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
4653 
4654 #define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
4655 
4656 #define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
4657 
4658 #define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
4659 
4660 #define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
4661 
4662 #define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
4663 
4664 #define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
4665 
4666 #define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
4667 
4668 #define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
4669 
4670 #define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
4671 
4672 #define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
4673 
4674 #define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
4675 
4676 #define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
4677 
4678 #define VDP_FUNC_ID_BASE_WINSYS 0x1000
4679 
4690  VdpDevice device,
4691  VdpFuncId function_id,
4692  /* output parameters follow */
4693  void * * function_pointer
4694 );
4695 
4698 
4706 #ifdef __cplusplus
4707 }
4708 #endif
4709 
4710 #endif
4711 
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:1703
Definition: vdpau.h:1271
float saturation
Definition: vdpau.h:1489
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition: vdpau.h:3164
VdpOutputSurfaceRenderBlendEquation
The blending equations.
Definition: vdpau.h:2228
Definition: vdpau.h:2682
uint32_t VdpYCbCrFormat
The set of all known YCbCr surface formats.
Definition: vdpau.h:904
Definition: vdpau.h:1210
uint32_t bitstream_bytes
Definition: vdpau.h:2811
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: vdpau.h:3237
uint8_t quarter_sample
Definition: vdpau.h:3147
uint8_t frame_pred_frame_dct
Definition: vdpau.h:2855
uint8_t extended_dmv
Definition: vdpau.h:3061
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition: vdpau.h:4689
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition: vdpau.h:2789
uint8_t pquant
Definition: vdpau.h:3112
Definition: vdpau.h:1153
Application data buffer containing compressed video data.
Definition: vdpau.h:2803
uint8_t NumPocStCurrAfter
Definition: vdpau.h:3372
VdpOutputSurfaceRenderBlendFactor
The blending equation factors.
Definition: vdpau.h:2206
float hue
Definition: vdpau.h:1494
VdpBool is_long_term
Definition: vdpau.h:2888
uint32_t VdpIndexedFormat
The set of all known indexed surface formats.
Definition: vdpau.h:1059
uint8_t q_scale_type
Definition: vdpau.h:2859
uint8_t sps_temporal_mvp_enabled_flag
Definition: vdpau.h:3253
uint8_t strong_intra_smoothing_enabled_flag
Definition: vdpau.h:3254
uint32_t VdpRGBAFormat
The set of all known RGB surface formats.
Definition: vdpau.h:990
VdpStatus VdpGetApiVersion(uint32_t *api_version)
Retrieve the VDPAU version implemented by the backend.
Definition: vdpau.h:1363
uint8_t num_tile_rows_minus1
Definition: vdpau.h:3285
uint8_t range_mapy
Definition: vdpau.h:3072
Definition: vdpau.h:4433
void const * bitstream
Definition: vdpau.h:2809
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition: vdpau.h:4420
uint8_t bit_depth_chroma_minus8
Definition: vdpau.h:3202
uint8_t frame_mbs_only_flag
Definition: vdpau.h:2951
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&#39;s native format to a VdpOutputSurface.
Definition: vdpau.h:1965
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:4005
uint8_t postprocflag
Definition: vdpau.h:3039
uint32_t struct_version
Definition: vdpau.h:2261
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition: vdpau.h:3172
uint8_t deblocking_filter_override_enabled_flag
Definition: vdpau.h:3303
uint8_t max_transform_hierarchy_depth_inter
Definition: vdpau.h:3211
VdpStatus VdpVideoSurfaceQueryCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation&#39;s VdpVideoSurface capabilities.
Definition: vdpau.h:1571
uint8_t output_flag_present_flag
Definition: vdpau.h:3262
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:2948
Definition: vdpau.h:1214
uint8_t long_term_ref_pics_present_flag
Definition: vdpau.h:3249
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:1997
VdpRect const * source_rect
Definition: vdpau.h:4119
uint32_t NumShortTermPictureSliceHeaderBits
Definition: vdpau.h:3343
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition: vdpau.h:3923
float contrast
Definition: vdpau.h:1484
uint32_t VdpOutputSurface
An opaque handle representing a VdpOutputSurface object.
Definition: vdpau.h:1871
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: vdpau.h:3276
uint8_t transform_skip_enabled_flag
Definition: vdpau.h:3270
VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation&#39;s VdpVideoSurface GetBits/PutBits capabilities.
Definition: vdpau.h:1591
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition: vdpau.h:3987
uint8_t log2_parallel_merge_level_minus2
Definition: vdpau.h:3314
uint32_t y1
Definition: vdpau.h:1142
Definition: vdpau.h:1206
Definition: vdpau.h:1218
uint8_t num_ref_idx_l1_default_active_minus1
Definition: vdpau.h:3267
VdpVideoSurface forward_reference
Definition: vdpau.h:3127
VdpOutputSurface source_surface
Definition: vdpau.h:4114
Definition: vdpau.h:1227
uint8_t tiles_enabled_flag
Definition: vdpau.h:3280
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition: vdpau.h:4291
Definition: vdpau.h:2677
int8_t pps_tc_offset_div2
Definition: vdpau.h:3312
uint8_t dependent_slice_segments_enabled_flag
Definition: vdpau.h:3261
uint8_t pcm_loop_filter_disabled_flag
Definition: vdpau.h:3245
Picture parameter information for an H.265/HEVC picture.
Definition: vdpau.h:3191
VdpBool bottom_is_reference
Definition: vdpau.h:2898
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition: vdpau.h:4339
VdpStatus VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported)
Query the implementation&#39;s capability to perform a PutBits operation using application data matching ...
Definition: vdpau.h:1817
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&#39;s native format...
Definition: vdpau.h:1939
VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpOutputSurface.
Definition: vdpau.h:1912
VdpVideoSurfaceSupportedPictureStructure
Definition: vdpau.h:2676
uint8_t direct_8x8_inference_flag
Definition: vdpau.h:2962
uint32_t pic_height_in_luma_samples
Definition: vdpau.h:3200
uint32_t slice_count
Definition: vdpau.h:2846
uint32_t VdpBitmapSurface
An opaque handle representing a VdpBitmapSurface object.
Definition: vdpau.h:2105
uint32_t struct_version
Definition: vdpau.h:1474
VdpStatus VdpBitmapSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation&#39;s VdpBitmapSurface capabilities.
Definition: vdpau.h:2092
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition: vdpau.h:4084
uint8_t deblockEnable
Definition: vdpau.h:3106
uint8_t cabac_init_present_flag
Definition: vdpau.h:3265
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:3945
VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
Destroy a VdpBitmapSurface.
Definition: vdpau.h:2139
uint32_t NumDeltaPocsOfRefRpsIdx
Definition: vdpau.h:3335
uint8_t num_long_term_ref_pics_sps
Definition: vdpau.h:3252
Definition: vdpau.h:1174
VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha
Definition: vdpau.h:2264
uint8_t NumPocLtCurr
Definition: vdpau.h:3375
Definition: vdpau.h:2685
uint8_t vop_fcode_backward
Definition: vdpau.h:3143
int8_t second_chroma_qp_index_offset
Definition: vdpau.h:2954
uint8_t num_short_term_ref_pic_sets
Definition: vdpau.h:3248
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation&#39;s support for a specific feature.
Definition: vdpau.h:3844
VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
Create a VdpOutputSurface.
Definition: vdpau.h:1885
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3198
uint8_t interlaced
Definition: vdpau.h:3145
uint32_t x0
Definition: vdpau.h:1136
VdpStatus VdpGetInformationString(char const **information_string)
Retrieve an implementation-specific string description of the implementation. This typically includes...
Definition: vdpau.h:1385
VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
Create a VdpBitmapSurface.
Definition: vdpau.h:2124
uint8_t sign_data_hiding_enabled_flag
Definition: vdpau.h:3264
uint32_t VdpColorTableFormat
The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
Definition: vdpau.h:1770
uint8_t log2_diff_max_min_transform_block_size
Definition: vdpau.h:3210
uint8_t short_video_header
Definition: vdpau.h:3148
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition: vdpau.h:3648
uint32_t VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded...
Definition: vdpau.h:2487
Definition: vdpau.h:1202
uint8_t pic_order_cnt_type
Definition: vdpau.h:2959
VdpStatus VdpDeviceDestroy(VdpDevice device)
Destroy a VdpDevice.
Definition: vdpau.h:1416
uint8_t bit_depth_luma_minus8
Definition: vdpau.h:3201
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3300
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition: vdpau.h:3968
uint8_t pic_order_present_flag
Definition: vdpau.h:2964
uint8_t amp_enabled_flag
Definition: vdpau.h:3233
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition: vdpau.h:2758
VdpStatus VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation&#39;s capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1859
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition: vdpau.h:4075
VdpColor blend_constant
Definition: vdpau.h:2268
uint32_t slice_count
Definition: vdpau.h:3028
uint8_t num_ref_idx_l0_active_minus1
Definition: vdpau.h:2956
uint8_t transform_8x8_mode_flag
Definition: vdpau.h:2952
uint8_t interlace
Definition: vdpau.h:3043
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: vdpau.h:3241
uint32_t VdpDevice
An opaque handle representing a VdpDevice object.
Definition: vdpau.h:1409
VdpBool is_reference
Definition: vdpau.h:2937
uint8_t range_mapuv_flag
Definition: vdpau.h:3074
uint8_t alternate_vertical_scan_flag
Definition: vdpau.h:3151
VdpVideoSurface surface
Definition: vdpau.h:2886
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3269
Definition: vdpau.h:2678
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:3405
uint8_t vop_fcode_forward
Definition: vdpau.h:3142
uint8_t fastuvmc
Definition: vdpau.h:3069
uint8_t resync_marker_disable
Definition: vdpau.h:3144
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device&#39;s display has been preempted.
Definition: vdpau.h:4513
float green
Definition: vdpau.h:1155
uint8_t NumPocStCurrBefore
Definition: vdpau.h:3369
VdpVideoSurface forward_reference
Definition: vdpau.h:3020
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition: vdpau.h:4304
uint8_t slice_segment_header_extension_present_flag
Definition: vdpau.h:3315
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition: vdpau.h:4022
uint8_t intra_vlc_format
Definition: vdpau.h:2857
VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
Retrieve the presentation queue&#39;s "current" time.
Definition: vdpau.h:4351
uint8_t log2_min_luma_coding_block_size_minus3
Definition: vdpau.h:3207
uint8_t num_ref_idx_l1_active_minus1
Definition: vdpau.h:2957
uint32_t NumLongTermPictureSliceHeaderBits
Definition: vdpau.h:3348
uint8_t transquant_bypass_enabled_flag
Definition: vdpau.h:3279
uint8_t entropy_coding_sync_enabled_flag
Definition: vdpau.h:3281
uint32_t y
Definition: vdpau.h:1121
uint8_t num_extra_slice_header_bits
Definition: vdpau.h:3263
uint8_t weighted_bipred_idc
Definition: vdpau.h:2950
VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
Configure the display preemption callback.
Definition: vdpau.h:4528
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: vdpau.h:3299
uint8_t full_pel_forward_vector
Definition: vdpau.h:2862
uint8_t range_mapuv
Definition: vdpau.h:3075
uint8_t quant_type
Definition: vdpau.h:3146
int8_t pps_cr_qp_offset
Definition: vdpau.h:3275
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:2032
A location within a surface.
Definition: vdpau.h:1117
uint32_t x1
Definition: vdpau.h:1140
uint32_t NumPocTotalCurr
Definition: vdpau.h:3331
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:2154
uint8_t vop_coding_type
Definition: vdpau.h:3141
uint8_t max_transform_hierarchy_depth_intra
Definition: vdpau.h:3212
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation&#39;s support for a specific attribute.
Definition: vdpau.h:3877
void VdpPictureInfo
A generic "picture information" type.
Definition: vdpau.h:2824
uint8_t entropy_coding_mode_flag
Definition: vdpau.h:2963
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: vdpau.h:3239
Definition of an additional VdpOutputSurface layer in the composting model.
Definition: vdpau.h:4106
Definition: vdpau.h:1284
uint8_t picture_type
Definition: vdpau.h:3030
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3203
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:4397
uint32_t x
Definition: vdpau.h:1119
VdpOutputSurfaceRenderBlendEquation blend_equation_alpha
Definition: vdpau.h:2267
Definition: vdpau.h:1198
VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
Destroy a VdpVideoSurface.
Definition: vdpau.h:1664
int8_t pic_init_qp_minus26
Definition: vdpau.h:2955
uint8_t alternate_scan
Definition: vdpau.h:2858
uint8_t weighted_bipred_flag
Definition: vdpau.h:3278
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: vdpau.h:2999
uint8_t log2_max_frame_num_minus4
Definition: vdpau.h:2958
uint32_t VdpChromaType
The set of all chroma formats for VdpVideoSurfaces.
Definition: vdpau.h:839
Definition: vdpau.h:1240
float blue
Definition: vdpau.h:1156
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition: vdpau.h:2773
Definition: vdpau.h:1191
uint8_t overlap
Definition: vdpau.h:3063
Picture parameter information for a VC1 picture.
Definition: vdpau.h:3015
uint8_t weighted_pred_flag
Definition: vdpau.h:2949
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition: vdpau.h:4062
uint8_t diff_cu_qp_delta_depth
Definition: vdpau.h:3273
Definition: vdpau.h:1184
uint8_t concealment_motion_vectors
Definition: vdpau.h:2856
Complete blending operation definition.
Definition: vdpau.h:2257
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition: vdpau.h:3492
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:2457
Picture parameter information for an MPEG-4 Part 2 picture.
Definition: vdpau.h:3122
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition: vdpau.h:2740
Definition: vdpau.h:1236
uint8_t finterpflag
Definition: vdpau.h:3047
Definition: vdpau.h:1261
uint8_t loop_filter_across_tiles_enabled_flag
Definition: vdpau.h:3298
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:2960
uint8_t cu_qp_delta_enabled_flag
Definition: vdpau.h:3271
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation&#39;s supported for a specific parameter.
Definition: vdpau.h:3894
uint8_t rounding_control
Definition: vdpau.h:3150
uint32_t pic_width_in_luma_samples
Definition: vdpau.h:3199
int VdpBool
A boolean value, holding VDP_TRUE or VDP_FALSE.
Definition: vdpau.h:813
A rectangular region of a surface.
Definition: vdpau.h:1134
uint32_t VdpFuncId
A type suitable for VdpGetProcAddress&#39;s function_id parameter.
Definition: vdpau.h:4551
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition: vdpau.h:4276
uint8_t num_ref_frames
Definition: vdpau.h:2946
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition: vdpau.h:4316
uint8_t multires
Definition: vdpau.h:3081
uint8_t sample_adaptive_offset_enabled_flag
Definition: vdpau.h:3234
uint8_t dquant
Definition: vdpau.h:3051
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition: vdpau.h:4431
uint8_t intra_dc_precision
Definition: vdpau.h:2854
uint8_t pps_deblocking_filter_disabled_flag
Definition: vdpau.h:3306
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation&#39;s supported for a specific attribute.
Definition: vdpau.h:3912
uint32_t struct_version
Definition: vdpau.h:2807
uint32_t struct_version
Definition: vdpau.h:4110
uint32_t slice_count
Definition: vdpau.h:2933
int8_t pps_cb_qp_offset
Definition: vdpau.h:3274
uint8_t refdist_flag
Definition: vdpau.h:3055
uint8_t sps_max_dec_pic_buffering_minus1
Definition: vdpau.h:3206
uint8_t uniform_spacing_flag
Definition: vdpau.h:3287
uint8_t quantizer
Definition: vdpau.h:3057
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:2700
float VdpCSCMatrix[3][4]
Storage for a color space conversion matrix.
Definition: vdpau.h:1458
uint8_t IDRPicFlag
Definition: vdpau.h:3324
uint8_t pulldown
Definition: vdpau.h:3041
Definition: vdpau.h:4435
uint8_t rangered
Definition: vdpau.h:3093
uint8_t RAPPicFlag
Definition: vdpau.h:3327
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:2965
uint8_t vstransform
Definition: vdpau.h:3065
uint8_t frame_coding_mode
Definition: vdpau.h:3032
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&#39;s native format to a VdpBitmapSurface.
Definition: vdpau.h:2182
Definition: vdpau.h:1303
uint16_t vop_time_increment_resolution
Definition: vdpau.h:3140
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:4042
uint8_t top_field_first
Definition: vdpau.h:2860
uint8_t maxbframes
Definition: vdpau.h:3098
VdpVideoSurface backward_reference
Definition: vdpau.h:3132
VdpOutputSurfaceRenderBlendFactor blend_factor_source_color
Definition: vdpau.h:2262
uint8_t weighted_pred_flag
Definition: vdpau.h:3277
uint16_t frame_idx
Definition: vdpau.h:2906
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: vdpau.h:2834
VdpPictureInfoH264 pictureInfo
Definition: vdpau.h:2989
Definition: vdpau.h:1178
uint32_t VdpColorStandard
YCbCr color space specification.
Definition: vdpau.h:1503
Procamp operation parameterization data.
Definition: vdpau.h:1470
float alpha
Definition: vdpau.h:1157
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition: vdpau.h:4451
Definition: vdpau.h:2684
uint8_t full_pel_backward_vector
Definition: vdpau.h:2864
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&#39;s VdpDecoder capabilities.
Definition: vdpau.h:2726
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition: vdpau.h:3722
uint8_t CurrRpsIdx
Definition: vdpau.h:3329
VdpVideoSurface forward_reference
Definition: vdpau.h:2839
VdpVideoSurface backward_reference
Definition: vdpau.h:3025
uint8_t top_field_first
Definition: vdpau.h:3152
VdpRect const * destination_rect
Definition: vdpau.h:4128
int8_t chroma_qp_index_offset
Definition: vdpau.h:2953
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color
Definition: vdpau.h:2263
uint8_t redundant_pic_cnt_present_flag
Definition: vdpau.h:2966
int8_t init_qp_minus26
Definition: vdpau.h:3268
Definition: vdpau.h:1299
VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
Generate a color space conversion matrix.
Definition: vdpau.h:1520
VdpStatus
The set of all possible error codes.
Definition: vdpau.h:1172
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:2377
uint8_t field_pic_flag
Definition: vdpau.h:2944
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation&#39;s support for a specific parameter.
Definition: vdpau.h:3861
Information about an H.264 reference frame.
Definition: vdpau.h:2881
uint8_t bottom_field_flag
Definition: vdpau.h:2945
Picture parameter information for an H.264 picture.
Definition: vdpau.h:2931
VdpDecoderCapability
Definition: vdpau.h:2681
uint64_t VdpTime
The representation of a point in time.
Definition: vdpau.h:4266
uint8_t extended_mv
Definition: vdpau.h:3059
uint16_t frame_num
Definition: vdpau.h:2943
uint8_t pcm_enabled_flag
Definition: vdpau.h:3235
float brightness
Definition: vdpau.h:1479
uint8_t chroma_format_idc
Definition: vdpau.h:3196
VdpBool top_is_reference
Definition: vdpau.h:2893
VdpVideoSurface backward_reference
Definition: vdpau.h:2844
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: vdpau.h:3208
Picture parameter information for an H.264 Hi444PP picture.
Definition: vdpau.h:2987
uint32_t y0
Definition: vdpau.h:1138
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: vdpau.h:3243
VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpVideoSurface.
Definition: vdpau.h:1677
uint32_t VdpVideoSurface
An opaque handle representing a VdpVideoSurface object.
Definition: vdpau.h:1603
uint8_t num_ref_idx_l0_default_active_minus1
Definition: vdpau.h:3266
Definition: vdpau.h:1278
char const * VdpGetErrorString(VdpStatus status)
Retrieve a string describing an error code.
Definition: vdpau.h:1315
VdpStatus VdpOutputSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation&#39;s VdpOutputSurface capabilities.
Definition: vdpau.h:1798
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:4197
Definition: vdpau.h:2683
uint8_t psf
Definition: vdpau.h:3049
Definition: vdpau.h:1289
uint8_t syncmarker
Definition: vdpau.h:3086
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:1728
uint8_t delta_pic_order_always_zero_flag
Definition: vdpau.h:2961
VdpStatus VdpOutputSurfaceQueryPutBitsIndexedCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpIndexedFormat bits_indexed_format, VdpColorTableFormat color_table_format, VdpBool *is_supported)
Query the implementation&#39;s capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1838
uint8_t tfcntrflag
Definition: vdpau.h:3045
int32_t CurrPicOrderCntVal
Definition: vdpau.h:3354
uint8_t log2_min_transform_block_size_minus2
Definition: vdpau.h:3209
Definition: vdpau.h:1232
VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
Destroy a VdpOutputSurface.
Definition: vdpau.h:1899
uint8_t loopfilter
Definition: vdpau.h:3067
uint8_t lists_modification_present_flag
Definition: vdpau.h:3313
uint8_t panscan_flag
Definition: vdpau.h:3053
float red
Definition: vdpau.h:1154
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha
Definition: vdpau.h:2265
uint8_t picture_coding_type
Definition: vdpau.h:2853
uint8_t range_mapy_flag
Definition: vdpau.h:3071
uint8_t num_tile_columns_minus1
Definition: vdpau.h:3283
uint8_t picture_structure
Definition: vdpau.h:2852
int8_t pps_beta_offset_div2
Definition: vdpau.h:3309
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition: vdpau.h:4283
uint8_t scaling_list_enabled_flag
Definition: vdpau.h:3213
VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
Create a VdpVideoSurface.
Definition: vdpau.h:1650
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition: vdpau.h:4329
VdpOutputSurfaceRenderBlendEquation blend_equation_color
Definition: vdpau.h:2266
uint8_t mb_adaptive_frame_field_flag
Definition: vdpau.h:2947
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3004