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 
999 #define VDP_YCBCR_FORMAT_Y_UV_444 ((VdpYCbCrFormat)6)
1000 
1011 #define VDP_YCBCR_FORMAT_Y_U_V_444 ((VdpYCbCrFormat)7)
1012 
1016 typedef uint32_t VdpRGBAFormat;
1017 
1030 #define VDP_RGBA_FORMAT_B8G8R8A8 ((VdpRGBAFormat)0)
1031 
1043 #define VDP_RGBA_FORMAT_R8G8B8A8 ((VdpRGBAFormat)1)
1044 
1056 #define VDP_RGBA_FORMAT_R10G10B10A2 ((VdpRGBAFormat)2)
1057 
1069 #define VDP_RGBA_FORMAT_B10G10R10A2 ((VdpRGBAFormat)3)
1070 
1080 #define VDP_RGBA_FORMAT_A8 ((VdpRGBAFormat)4)
1081 
1085 typedef uint32_t VdpIndexedFormat;
1086 
1098 #define VDP_INDEXED_FORMAT_A4I4 ((VdpIndexedFormat)0)
1099 
1110 #define VDP_INDEXED_FORMAT_I4A4 ((VdpIndexedFormat)1)
1111 
1122 #define VDP_INDEXED_FORMAT_A8I8 ((VdpIndexedFormat)2)
1123 
1134 #define VDP_INDEXED_FORMAT_I8A8 ((VdpIndexedFormat)3)
1135 
1143 typedef struct {
1145  uint32_t x;
1147  uint32_t y;
1148 } VdpPoint;
1149 
1160 typedef struct {
1162  uint32_t x0;
1164  uint32_t y0;
1166  uint32_t x1;
1168  uint32_t y1;
1169 } VdpRect;
1170 
1179 typedef struct {
1180  float red;
1181  float green;
1182  float blue;
1183  float alpha;
1184 } VdpColor;
1185 
1198 typedef enum {
1330 } VdpStatus;
1331 
1341 typedef char const * VdpGetErrorString(
1342  VdpStatus status
1343 );
1344 
1369 #define VDPAU_INTERFACE_VERSION 1
1370 
1382 #define VDPAU_VERSION 1
1383 
1390  /* output parameters follow */
1391  uint32_t * api_version
1392 );
1393 
1412  /* output parameters follow */
1413  char const * * information_string
1414 );
1415 
1435 typedef uint32_t VdpDevice;
1436 
1443  VdpDevice device
1444 );
1445 
1484 typedef float VdpCSCMatrix[3][4];
1485 
1486 #define VDP_PROCAMP_VERSION 0
1487 
1496 typedef struct {
1500  uint32_t struct_version;
1505  float brightness;
1510  float contrast;
1515  float saturation;
1520  float hue;
1521 } VdpProcamp;
1522 
1529 typedef uint32_t VdpColorStandard;
1530 
1532 #define VDP_COLOR_STANDARD_ITUR_BT_601 ((VdpColorStandard)0)
1533 
1534 #define VDP_COLOR_STANDARD_ITUR_BT_709 ((VdpColorStandard)1)
1535 
1536 #define VDP_COLOR_STANDARD_SMPTE_240M ((VdpColorStandard)2)
1537 
1547  VdpProcamp * procamp,
1548  VdpColorStandard standard,
1549  /* output parameters follow */
1550  VdpCSCMatrix * csc_matrix
1551 );
1552 
1598  VdpDevice device,
1599  VdpChromaType surface_chroma_type,
1600  /* output parameters follow */
1601  VdpBool * is_supported,
1602  uint32_t * max_width,
1603  uint32_t * max_height
1604 );
1605 
1618  VdpDevice device,
1619  VdpChromaType surface_chroma_type,
1620  VdpYCbCrFormat bits_ycbcr_format,
1621  /* output parameters follow */
1622  VdpBool * is_supported
1623 );
1624 
1629 typedef uint32_t VdpVideoSurface;
1630 
1677  VdpDevice device,
1678  VdpChromaType chroma_type,
1679  uint32_t width,
1680  uint32_t height,
1681  /* output parameters follow */
1682  VdpVideoSurface * surface
1683 );
1684 
1691  VdpVideoSurface surface
1692 );
1693 
1704  VdpVideoSurface surface,
1705  /* output parameters follow */
1706  VdpChromaType * chroma_type,
1707  uint32_t * width,
1708  uint32_t * height
1709 );
1710 
1730  VdpVideoSurface surface,
1731  VdpYCbCrFormat destination_ycbcr_format,
1732  void * const * destination_data,
1733  uint32_t const * destination_pitches
1734 );
1735 
1755  VdpVideoSurface surface,
1756  VdpYCbCrFormat source_ycbcr_format,
1757  void const * const * source_data,
1758  uint32_t const * source_pitches
1759 );
1760 
1796 typedef uint32_t VdpColorTableFormat;
1797 
1809 #define VDP_COLOR_TABLE_FORMAT_B8G8R8X8 ((VdpColorTableFormat)0)
1810 
1825  VdpDevice device,
1826  VdpRGBAFormat surface_rgba_format,
1827  /* output parameters follow */
1828  VdpBool * is_supported,
1829  uint32_t * max_width,
1830  uint32_t * max_height
1831 );
1832 
1844  VdpDevice device,
1845  VdpRGBAFormat surface_rgba_format,
1846  /* output parameters follow */
1847  VdpBool * is_supported
1848 );
1849 
1865  VdpDevice device,
1866  VdpRGBAFormat surface_rgba_format,
1867  VdpIndexedFormat bits_indexed_format,
1868  VdpColorTableFormat color_table_format,
1869  /* output parameters follow */
1870  VdpBool * is_supported
1871 );
1872 
1886  VdpDevice device,
1887  VdpRGBAFormat surface_rgba_format,
1888  VdpYCbCrFormat bits_ycbcr_format,
1889  /* output parameters follow */
1890  VdpBool * is_supported
1891 );
1892 
1897 typedef uint32_t VdpOutputSurface;
1898 
1912  VdpDevice device,
1913  VdpRGBAFormat rgba_format,
1914  uint32_t width,
1915  uint32_t height,
1916  /* output parameters follow */
1917  VdpOutputSurface * surface
1918 );
1919 
1926  VdpOutputSurface surface
1927 );
1928 
1939  VdpOutputSurface surface,
1940  /* output parameters follow */
1941  VdpRGBAFormat * rgba_format,
1942  uint32_t * width,
1943  uint32_t * height
1944 );
1945 
1966  VdpOutputSurface surface,
1967  VdpRect const * source_rect,
1968  void * const * destination_data,
1969  uint32_t const * destination_pitches
1970 );
1971 
1992  VdpOutputSurface surface,
1993  void const * const * source_data,
1994  uint32_t const * source_pitches,
1995  VdpRect const * destination_rect
1996 );
1997 
2024  VdpOutputSurface surface,
2025  VdpIndexedFormat source_indexed_format,
2026  void const * const * source_data,
2027  uint32_t const * source_pitch,
2028  VdpRect const * destination_rect,
2029  VdpColorTableFormat color_table_format,
2030  void const * color_table
2031 );
2032 
2059  VdpOutputSurface surface,
2060  VdpYCbCrFormat source_ycbcr_format,
2061  void const * const * source_data,
2062  uint32_t const * source_pitches,
2063  VdpRect const * destination_rect,
2064  VdpCSCMatrix const * csc_matrix
2065 );
2066 
2119  VdpDevice device,
2120  VdpRGBAFormat surface_rgba_format,
2121  /* output parameters follow */
2122  VdpBool * is_supported,
2123  uint32_t * max_width,
2124  uint32_t * max_height
2125 );
2126 
2131 typedef uint32_t VdpBitmapSurface;
2132 
2151  VdpDevice device,
2152  VdpRGBAFormat rgba_format,
2153  uint32_t width,
2154  uint32_t height,
2155  VdpBool frequently_accessed,
2156  /* output parameters follow */
2157  VdpBitmapSurface * surface
2158 );
2159 
2166  VdpBitmapSurface surface
2167 );
2168 
2181  VdpBitmapSurface surface,
2182  /* output parameters follow */
2183  VdpRGBAFormat * rgba_format,
2184  uint32_t * width,
2185  uint32_t * height,
2186  VdpBool * frequently_accessed
2187 );
2188 
2209  VdpBitmapSurface surface,
2210  void const * const * source_data,
2211  uint32_t const * source_pitches,
2212  VdpRect const * destination_rect
2213 );
2214 
2232 typedef enum {
2249 
2254 typedef enum {
2261 
2262 #define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2263 
2283 typedef struct {
2287  uint32_t struct_version;
2296 
2301 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0 0
2302 
2308 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90 1
2309 
2315 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180 2
2316 
2322 #define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270 3
2323 
2331 #define VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX (1 << 2)
2332 
2404  VdpOutputSurface destination_surface,
2405  VdpRect const * destination_rect,
2406  VdpOutputSurface source_surface,
2407  VdpRect const * source_rect,
2408  VdpColor const * colors,
2409  VdpOutputSurfaceRenderBlendState const * blend_state,
2410  uint32_t flags
2411 );
2412 
2484  VdpOutputSurface destination_surface,
2485  VdpRect const * destination_rect,
2486  VdpBitmapSurface source_surface,
2487  VdpRect const * source_rect,
2488  VdpColor const * colors,
2489  VdpOutputSurfaceRenderBlendState const * blend_state,
2490  uint32_t flags
2491 );
2492 
2513 typedef uint32_t VdpDecoderProfile;
2514 
2516 #define VDP_DECODER_PROFILE_MPEG1 ((VdpDecoderProfile)0)
2517 
2518 #define VDP_DECODER_PROFILE_MPEG2_SIMPLE ((VdpDecoderProfile)1)
2519 
2520 #define VDP_DECODER_PROFILE_MPEG2_MAIN ((VdpDecoderProfile)2)
2521 
2523 #define VDP_DECODER_PROFILE_H264_BASELINE ((VdpDecoderProfile)6)
2524 
2525 #define VDP_DECODER_PROFILE_H264_MAIN ((VdpDecoderProfile)7)
2526 
2527 #define VDP_DECODER_PROFILE_H264_HIGH ((VdpDecoderProfile)8)
2528 
2529 #define VDP_DECODER_PROFILE_VC1_SIMPLE ((VdpDecoderProfile)9)
2530 
2531 #define VDP_DECODER_PROFILE_VC1_MAIN ((VdpDecoderProfile)10)
2532 
2533 #define VDP_DECODER_PROFILE_VC1_ADVANCED ((VdpDecoderProfile)11)
2534 
2535 #define VDP_DECODER_PROFILE_MPEG4_PART2_SP ((VdpDecoderProfile)12)
2536 
2537 #define VDP_DECODER_PROFILE_MPEG4_PART2_ASP ((VdpDecoderProfile)13)
2538 
2539 #define VDP_DECODER_PROFILE_DIVX4_QMOBILE ((VdpDecoderProfile)14)
2540 
2541 #define VDP_DECODER_PROFILE_DIVX4_MOBILE ((VdpDecoderProfile)15)
2542 
2543 #define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER ((VdpDecoderProfile)16)
2544 
2545 #define VDP_DECODER_PROFILE_DIVX4_HD_1080P ((VdpDecoderProfile)17)
2546 
2547 #define VDP_DECODER_PROFILE_DIVX5_QMOBILE ((VdpDecoderProfile)18)
2548 
2549 #define VDP_DECODER_PROFILE_DIVX5_MOBILE ((VdpDecoderProfile)19)
2550 
2551 #define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER ((VdpDecoderProfile)20)
2552 
2553 #define VDP_DECODER_PROFILE_DIVX5_HD_1080P ((VdpDecoderProfile)21)
2554 
2555 #define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE ((VdpDecoderProfile)22)
2556 
2557 #define VDP_DECODER_PROFILE_H264_EXTENDED ((VdpDecoderProfile)23)
2558 
2559 #define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH ((VdpDecoderProfile)24)
2560 
2561 #define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH ((VdpDecoderProfile)25)
2562 
2564 #define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
2565 
2566 #define VDP_DECODER_PROFILE_VP9_PROFILE_0 ((VdpDecoderProfile)27)
2567 
2568 #define VDP_DECODER_PROFILE_VP9_PROFILE_1 ((VdpDecoderProfile)28)
2569 
2570 #define VDP_DECODER_PROFILE_VP9_PROFILE_2 ((VdpDecoderProfile)29)
2571 
2572 #define VDP_DECODER_PROFILE_VP9_PROFILE_3 ((VdpDecoderProfile)30)
2573 
2575 #define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
2576 
2577 #define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
2578 
2579 #define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
2580 
2581 #define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
2582 
2583 #define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
2584 
2586 #define VDP_DECODER_LEVEL_MPEG1_NA 0
2587 
2589 #define VDP_DECODER_LEVEL_MPEG2_LL 0
2590 
2591 #define VDP_DECODER_LEVEL_MPEG2_ML 1
2592 
2593 #define VDP_DECODER_LEVEL_MPEG2_HL14 2
2594 
2595 #define VDP_DECODER_LEVEL_MPEG2_HL 3
2596 
2598 #define VDP_DECODER_LEVEL_H264_1 10
2599 
2600 #define VDP_DECODER_LEVEL_H264_1b 9
2601 
2602 #define VDP_DECODER_LEVEL_H264_1_1 11
2603 
2604 #define VDP_DECODER_LEVEL_H264_1_2 12
2605 
2606 #define VDP_DECODER_LEVEL_H264_1_3 13
2607 
2608 #define VDP_DECODER_LEVEL_H264_2 20
2609 
2610 #define VDP_DECODER_LEVEL_H264_2_1 21
2611 
2612 #define VDP_DECODER_LEVEL_H264_2_2 22
2613 
2614 #define VDP_DECODER_LEVEL_H264_3 30
2615 
2616 #define VDP_DECODER_LEVEL_H264_3_1 31
2617 
2618 #define VDP_DECODER_LEVEL_H264_3_2 32
2619 
2620 #define VDP_DECODER_LEVEL_H264_4 40
2621 
2622 #define VDP_DECODER_LEVEL_H264_4_1 41
2623 
2624 #define VDP_DECODER_LEVEL_H264_4_2 42
2625 
2626 #define VDP_DECODER_LEVEL_H264_5 50
2627 
2628 #define VDP_DECODER_LEVEL_H264_5_1 51
2629 
2631 #define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2632 
2633 #define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2634 
2636 #define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2637 
2638 #define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2639 
2640 #define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2641 
2643 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2644 
2645 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2646 
2647 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2648 
2649 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2650 
2651 #define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2652 
2654 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2655 
2656 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2657 
2658 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2659 
2660 #define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2661 
2663 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2664 
2665 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2666 
2667 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2668 
2669 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2670 
2671 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2672 
2673 #define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2674 
2676 #define VDP_DECODER_LEVEL_DIVX_NA 0
2677 
2679 #define VDP_DECODER_LEVEL_VP9_L1 1
2680 
2687 #define VDP_DECODER_LEVEL_HEVC_1 30
2688 
2689 #define VDP_DECODER_LEVEL_HEVC_2 60
2690 
2691 #define VDP_DECODER_LEVEL_HEVC_2_1 63
2692 
2693 #define VDP_DECODER_LEVEL_HEVC_3 90
2694 
2695 #define VDP_DECODER_LEVEL_HEVC_3_1 93
2696 
2697 #define VDP_DECODER_LEVEL_HEVC_4 120
2698 
2699 #define VDP_DECODER_LEVEL_HEVC_4_1 123
2700 
2701 #define VDP_DECODER_LEVEL_HEVC_5 150
2702 
2703 #define VDP_DECODER_LEVEL_HEVC_5_1 153
2704 
2705 #define VDP_DECODER_LEVEL_HEVC_5_2 156
2706 
2707 #define VDP_DECODER_LEVEL_HEVC_6 180
2708 
2709 #define VDP_DECODER_LEVEL_HEVC_6_1 183
2710 
2711 #define VDP_DECODER_LEVEL_HEVC_6_2 186
2712 
2713 typedef enum {
2717 
2718 typedef enum {
2733 
2746  VdpDevice device,
2747  VdpDecoderProfile profile,
2748  /* output parameters follow */
2749  VdpDecoderCapability capability,
2750  void * capability_value
2751 );
2752 
2772  VdpDevice device,
2773  VdpDecoderProfile profile,
2774  /* output parameters follow */
2775  VdpBool * is_supported,
2776  uint32_t * max_level,
2777  uint32_t * max_macroblocks,
2778  uint32_t * max_width,
2779  uint32_t * max_height
2780 );
2781 
2785 typedef uint32_t VdpDecoder;
2786 
2804  VdpDevice device,
2805  VdpDecoderProfile profile,
2806  uint32_t width,
2807  uint32_t height,
2808  uint32_t max_references,
2809  /* output parameters follow */
2810  VdpDecoder * decoder
2811 );
2812 
2819  VdpDecoder decoder
2820 );
2821 
2835  VdpDecoder decoder,
2836  /* output parameters follow */
2837  VdpDecoderProfile * profile,
2838  uint32_t * width,
2839  uint32_t * height
2840 );
2841 
2842 #define VDP_BITSTREAM_BUFFER_VERSION 0
2843 
2848 typedef struct {
2852  uint32_t struct_version;
2854  void const * bitstream;
2858 
2869 typedef void VdpPictureInfo;
2870 
2879 typedef struct {
2891  uint32_t slice_count;
2892 
2904  uint8_t q_scale_type;
2911  uint8_t f_code[2][2];
2913  uint8_t intra_quantizer_matrix[64];
2915  uint8_t non_intra_quantizer_matrix[64];
2918 
2926 typedef struct {
2945  int32_t field_order_cnt[2];
2951  uint16_t frame_idx;
2953 
2976 typedef struct {
2978  uint32_t slice_count;
2980  int32_t field_order_cnt[2];
2983 
2988  uint16_t frame_num;
3013  uint8_t scaling_lists_4x4[6][16];
3015  uint8_t scaling_lists_8x8[2][64];
3019  VdpReferenceFrameH264 referenceFrames[16];
3021 
3032 typedef struct {
3035 
3052 
3060 typedef struct {
3071 
3073  uint32_t slice_count;
3075  uint8_t picture_type;
3078 
3084  uint8_t postprocflag;
3086  uint8_t pulldown;
3088  uint8_t interlace;
3090  uint8_t tfcntrflag;
3092  uint8_t finterpflag;
3094  uint8_t psf;
3096  uint8_t dquant;
3098  uint8_t panscan_flag;
3100  uint8_t refdist_flag;
3102  uint8_t quantizer;
3104  uint8_t extended_mv;
3106  uint8_t extended_dmv;
3108  uint8_t overlap;
3110  uint8_t vstransform;
3112  uint8_t loopfilter;
3114  uint8_t fastuvmc;
3117  uint8_t range_mapy;
3120  uint8_t range_mapuv;
3121 
3126  uint8_t multires;
3131  uint8_t syncmarker;
3138  uint8_t rangered;
3143  uint8_t maxbframes;
3151  uint8_t deblockEnable;
3157  uint8_t pquant;
3159 
3167 typedef struct {
3178 
3183  int32_t trd[2];
3184  int32_t trb[2];
3190  uint8_t interlaced;
3191  uint8_t quant_type;
3198  uint8_t intra_quantizer_matrix[64];
3199  uint8_t non_intra_quantizer_matrix[64];
3202 
3210 
3218 
3219 typedef struct
3220 {
3221  unsigned int width;
3222  unsigned int height;
3223 
3224  //Frame Indices
3228 
3229  unsigned char colorSpace;
3230 
3231  unsigned short profile;
3232  unsigned short frameContextIdx;
3233  unsigned short keyFrame;
3234  unsigned short showFrame;
3235  unsigned short errorResilient;
3236  unsigned short frameParallelDecoding;
3237  unsigned short subSamplingX;
3238  unsigned short subSamplingY;
3239  unsigned short intraOnly;
3240  unsigned short allowHighPrecisionMv;
3241  unsigned short refreshEntropyProbs;
3242 
3243  unsigned char refFrameSignBias[4];
3244 
3245  unsigned char bitDepthMinus8Luma;
3246  unsigned char bitDepthMinus8Chroma;
3247  unsigned char loopFilterLevel;
3248  unsigned char loopFilterSharpness;
3249 
3250  unsigned char modeRefLfEnabled;
3251  unsigned char log2TileColumns;
3252  unsigned char log2TileRows;
3253 
3254  unsigned char segmentEnabled;
3255  unsigned char segmentMapUpdate;
3257  unsigned char segmentFeatureMode;
3258 
3259  unsigned char segmentFeatureEnable[8][4];
3260  short segmentFeatureData[8][4];
3261  unsigned char mbSegmentTreeProbs[7];
3262  unsigned char segmentPredProbs[3];
3263  unsigned char reservedSegment16Bits[2];
3264 
3265  int qpYAc;
3266  int qpYDc;
3267  int qpChDc;
3268  int qpChAc;
3269 
3270  unsigned int activeRefIdx[3];
3271  unsigned int resetFrameContext;
3272  unsigned int mcompFilterType;
3273  unsigned int mbRefLfDelta[4];
3274  unsigned int mbModeLfDelta[2];
3276  unsigned int compressedHeaderSize;
3278 
3296 typedef struct {
3322  uint8_t ScalingList4x4[6][16];
3325  uint8_t ScalingList8x8[6][64];
3328  uint8_t ScalingList16x16[6][64];
3331  uint8_t ScalingList32x32[2][64];
3334  uint8_t ScalingListDCCoeff16x16[6];
3337  uint8_t ScalingListDCCoeff32x32[2];
3396  uint16_t column_width_minus1[20];
3400  uint16_t row_height_minus1[22];
3421 
3429  uint8_t IDRPicFlag;
3432  uint8_t RAPPicFlag;
3434  uint8_t CurrRpsIdx;
3460 
3464  VdpVideoSurface RefPics[16];
3467  int32_t PicOrderCntVal[16];
3471  uint8_t IsLongTerm[16];
3480  uint8_t NumPocLtCurr;
3483  uint8_t RefPicSetStCurrBefore[8];
3486  uint8_t RefPicSetStCurrAfter[8];
3489  uint8_t RefPicSetLtCurr[8];
3491 
3499 typedef struct {
3502 
3503  /* SPS Range Extensions for Main 444, Main 10, etc. */
3505  /* sps extension for transform_skip_rotation_enabled_flag */
3507  /* sps extension for transform_skip_context_enabled_flag */
3509  /* sps implicit_rdpcm_enabled_flag */
3511  /* sps explicit_rdpcm_enabled_flag */
3513  /* sps extended_precision_processing_flag,always 0 in current profile */
3515  /* sps intra_smoothing_disabled_flag */
3517  /* sps high_precision_offsets_enabled_flag */
3519  /* sps persistent_rice_adaptation_enabled_flag */
3521  /* sps cabac_bypass_alignment_enabled_flag, always 0 in current profile */
3523  /* sps intraBlockCopyEnableFlag, always 0 not used by the spec as of now */
3525 
3526  /* PPS Range Extensions for Main 444, Main 10, etc. */
3528  /* pps extension log2_max_transform_skip_block_size_minus2, 0...5 */
3530  /* pps cross_component_prediction_enabled_flag */
3532  /* pps chroma_qp_adjustment_enabled_flag */
3534  /* pps diff_cu_chroma_qp_adjustment_depth, 0...3 */
3536  /* pps chroma_qp_adjustment_table_size_minus1+1, 1...6 */
3538  /* pps log2_sao_offset_scale_luma, max(0,bitdepth-10), */
3539  /* maxBitdepth 16 for future. */
3541  /* pps log2_sao_offset_scale_chroma */
3543  /* -[12,+12] */
3544  int8_t cb_qp_adjustment[6];
3545  /* -[12,+12] */
3546  int8_t cr_qp_adjustment[6];
3547 
3549 
3569  VdpDecoder decoder,
3570  VdpVideoSurface target,
3571  VdpPictureInfo const * picture_info,
3572  uint32_t bitstream_buffer_count,
3573  VdpBitstreamBuffer const * bitstream_buffers
3574 );
3575 
3655 typedef uint32_t VdpVideoMixerFeature;
3656 
3668 #define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
3669 
3681 #define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
3682 
3690 #define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
3691 
3698 #define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
3699 
3706 #define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
3707 
3719 #define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
3720 
3741 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
3742 
3748 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
3749 
3755 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
3756 
3762 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
3763 
3769 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
3770 
3776 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
3777 
3783 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
3784 
3790 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
3791 
3797 #define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
3798 
3811 typedef uint32_t VdpVideoMixerParameter;
3812 
3825 #define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
3826 
3838 #define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
3839 
3852 #define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
3853 
3871 #define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
3872 
3885 typedef uint32_t VdpVideoMixerAttribute;
3886 
3900 #define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
3901 
3928 #define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
3929 
3941 #define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
3942 
3957 #define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
3958 
3969 #define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
3970 
3981 #define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
3982 
3996 #define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
3997 
4008  VdpDevice device,
4009  VdpVideoMixerFeature feature,
4010  /* output parameters follow */
4011  VdpBool * is_supported
4012 );
4013 
4025  VdpDevice device,
4026  VdpVideoMixerParameter parameter,
4027  /* output parameters follow */
4028  VdpBool * is_supported
4029 );
4030 
4041  VdpDevice device,
4042  VdpVideoMixerAttribute attribute,
4043  /* output parameters follow */
4044  VdpBool * is_supported
4045 );
4046 
4058  VdpDevice device,
4059  VdpVideoMixerParameter parameter,
4060  /* output parameters follow */
4061  void * min_value,
4062  void * max_value
4063 );
4064 
4076  VdpDevice device,
4077  VdpVideoMixerAttribute attribute,
4078  /* output parameters follow */
4079  void * min_value,
4080  void * max_value
4081 );
4082 
4086 typedef uint32_t VdpVideoMixer;
4087 
4109  VdpDevice device,
4110  // The set of features to request
4111  uint32_t feature_count,
4112  VdpVideoMixerFeature const * features,
4113  // The parameters used during creation
4114  uint32_t parameter_count,
4115  VdpVideoMixerParameter const * parameters,
4116  void const * const * parameter_values,
4117  /* output parameters follow */
4118  VdpVideoMixer * mixer
4119 );
4120 
4132  VdpVideoMixer mixer,
4133  uint32_t feature_count,
4134  VdpVideoMixerFeature const * features,
4135  VdpBool const * feature_enables
4136 );
4137 
4151  VdpVideoMixer mixer,
4152  uint32_t attribute_count,
4153  VdpVideoMixerAttribute const * attributes,
4154  void const * const * attribute_values
4155 );
4156 
4169  VdpVideoMixer mixer,
4170  uint32_t feature_count,
4171  VdpVideoMixerFeature const * features,
4172  /* output parameters follow */
4173  VdpBool * feature_supports
4174 );
4175 
4186  VdpVideoMixer mixer,
4187  uint32_t feature_count,
4188  VdpVideoMixerFeature const * features,
4189  /* output parameters follow */
4190  VdpBool * feature_enables
4191 );
4192 
4206  VdpVideoMixer mixer,
4207  uint32_t parameter_count,
4208  VdpVideoMixerParameter const * parameters,
4209  /* output parameters follow */
4210  void * const * parameter_values
4211 );
4212 
4226  VdpVideoMixer mixer,
4227  uint32_t attribute_count,
4228  VdpVideoMixerAttribute const * attributes,
4229  /* output parameters follow */
4230  void * const * attribute_values
4231 );
4232 
4239  VdpVideoMixer mixer
4240 );
4241 
4247 typedef enum {
4262 
4263 #define VDP_LAYER_VERSION 0
4264 
4269 typedef struct {
4273  uint32_t struct_version;
4292 } VdpLayer;
4293 
4361  VdpVideoMixer mixer,
4362  VdpOutputSurface background_surface,
4363  VdpRect const * background_source_rect,
4364  VdpVideoMixerPictureStructure current_picture_structure,
4365  uint32_t video_surface_past_count,
4366  VdpVideoSurface const * video_surface_past,
4367  VdpVideoSurface video_surface_current,
4368  uint32_t video_surface_future_count,
4369  VdpVideoSurface const * video_surface_future,
4370  VdpRect const * video_source_rect,
4371  VdpOutputSurface destination_surface,
4372  VdpRect const * destination_rect,
4373  VdpRect const * destination_video_rect,
4374  uint32_t layer_count,
4375  VdpLayer const * layers
4376 );
4377 
4429 typedef uint64_t VdpTime;
4430 
4440 
4447  VdpPresentationQueueTarget presentation_queue_target
4448 );
4449 
4454 typedef uint32_t VdpPresentationQueue;
4455 
4468  VdpDevice device,
4469  VdpPresentationQueueTarget presentation_queue_target,
4470  /* output parameters follow */
4471  VdpPresentationQueue * presentation_queue
4472 );
4473 
4480  VdpPresentationQueue presentation_queue
4481 );
4482 
4493  VdpPresentationQueue presentation_queue,
4494  VdpColor * const background_color
4495 );
4496 
4503  VdpPresentationQueue presentation_queue,
4504  VdpColor * background_color
4505 );
4506 
4515  VdpPresentationQueue presentation_queue,
4516  /* output parameters follow */
4517  VdpTime * current_time
4518 );
4519 
4561  VdpPresentationQueue presentation_queue,
4562  VdpOutputSurface surface,
4563  uint32_t clip_width,
4564  uint32_t clip_height,
4565  VdpTime earliest_presentation_time
4566 );
4567 
4584  VdpPresentationQueue presentation_queue,
4585  VdpOutputSurface surface,
4586  /* output parameters follow */
4587  VdpTime * first_presentation_time
4588 );
4589 
4594 typedef enum {
4602 
4615  VdpPresentationQueue presentation_queue,
4616  VdpOutputSurface surface,
4617  /* output parameters follow */
4618  VdpPresentationQueueStatus * status,
4619  VdpTime * first_presentation_time
4620 );
4621 
4677  VdpDevice device,
4678  void * context
4679 );
4680 
4692  VdpDevice device,
4693  VdpPreemptionCallback callback,
4694  void * context
4695 );
4696 
4714 typedef uint32_t VdpFuncId;
4715 
4717 #define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
4718 
4719 #define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
4720 
4721 #define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
4722 
4723 #define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
4724 
4725 #define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
4726 
4727 #define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
4728 
4729 #define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
4730 
4731 #define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
4732 
4733 #define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
4734 
4735 #define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
4736 
4737 #define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
4738 
4739 #define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
4740 
4741 #define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
4742 
4743 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
4744 
4745 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
4746 
4747 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
4748 
4749 #define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
4750 
4751 #define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
4752 
4753 #define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
4754 
4755 #define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
4756 
4757 #define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
4758 
4759 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
4760 
4761 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
4762 
4763 #define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
4764 
4765 #define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
4766 
4767 #define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
4768 
4769 #define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
4770 
4771 #define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
4772 
4773 #define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
4774 
4775 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
4776 
4777 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
4778 
4779 #define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
4780 
4781 #define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
4782 
4783 #define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
4784 
4785 #define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
4786 
4787 #define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
4788 
4789 #define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
4790 
4791 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
4792 
4793 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
4794 
4795 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
4796 
4797 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
4798 
4799 #define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
4800 
4801 #define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
4802 
4803 #define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
4804 
4805 #define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
4806 
4807 #define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
4808 
4809 #define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
4810 
4811 #define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
4812 
4813 #define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
4814 
4815 #define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
4816 
4817 #define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
4818 
4819 #define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
4820 
4821 #define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
4822 
4823 #define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
4824 
4825 #define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
4826 
4827 #define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
4828 
4829 #define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
4830 
4831 #define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
4832 
4833 #define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
4834 
4835 #define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
4836 
4837 #define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
4838 
4839 #define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
4840 
4841 #define VDP_FUNC_ID_BASE_WINSYS 0x1000
4842 
4853  VdpDevice device,
4854  VdpFuncId function_id,
4855  /* output parameters follow */
4856  void * * function_pointer
4857 );
4858 
4861 
4869 #ifdef __cplusplus
4870 }
4871 #endif
4872 
4873 #endif
4874 
VdpStatus VdpVideoSurfaceGetBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat destination_ycbcr_format, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpVideoSurface to application memory in a specified YCbCr format.
Definition: vdpau.h:1729
Definition: vdpau.h:1297
float saturation
Definition: vdpau.h:1515
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition: vdpau.h:3209
VdpOutputSurfaceRenderBlendEquation
The blending equations.
Definition: vdpau.h:2254
Definition: vdpau.h:2719
VdpVideoSurface goldenReference
Definition: vdpau.h:3226
uint32_t VdpYCbCrFormat
The set of all known YCbCr surface formats.
Definition: vdpau.h:904
Definition: vdpau.h:1236
uint32_t bitstream_bytes
Definition: vdpau.h:2856
unsigned char modeRefLfEnabled
Definition: vdpau.h:3250
unsigned short allowHighPrecisionMv
Definition: vdpau.h:3240
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: vdpau.h:3342
uint8_t quarter_sample
Definition: vdpau.h:3192
uint8_t frame_pred_frame_dct
Definition: vdpau.h:2900
uint8_t extended_dmv
Definition: vdpau.h:3106
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition: vdpau.h:4852
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition: vdpau.h:2834
uint8_t pquant
Definition: vdpau.h:3157
Definition: vdpau.h:1179
Application data buffer containing compressed video data.
Definition: vdpau.h:2848
uint8_t NumPocStCurrAfter
Definition: vdpau.h:3477
VdpOutputSurfaceRenderBlendFactor
The blending equation factors.
Definition: vdpau.h:2232
float hue
Definition: vdpau.h:1520
VdpBool is_long_term
Definition: vdpau.h:2933
uint32_t VdpIndexedFormat
The set of all known indexed surface formats.
Definition: vdpau.h:1085
uint8_t q_scale_type
Definition: vdpau.h:2904
uint8_t sps_temporal_mvp_enabled_flag
Definition: vdpau.h:3358
uint8_t strong_intra_smoothing_enabled_flag
Definition: vdpau.h:3359
uint8_t intraSmoothingDisabledFlag
Definition: vdpau.h:3516
uint32_t VdpRGBAFormat
The set of all known RGB surface formats.
Definition: vdpau.h:1016
VdpStatus VdpGetApiVersion(uint32_t *api_version)
Retrieve the VDPAU version implemented by the backend.
Definition: vdpau.h:1389
unsigned char bitDepthMinus8Luma
Definition: vdpau.h:3245
uint8_t num_tile_rows_minus1
Definition: vdpau.h:3390
uint8_t range_mapy
Definition: vdpau.h:3117
VdpVideoSurface altReference
Definition: vdpau.h:3227
Definition: vdpau.h:4596
void const * bitstream
Definition: vdpau.h:2854
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition: vdpau.h:4583
int qpYAc
Definition: vdpau.h:3265
uint8_t bit_depth_chroma_minus8
Definition: vdpau.h:3307
uint8_t frame_mbs_only_flag
Definition: vdpau.h:2996
VdpStatus VdpOutputSurfacePutBitsNative(VdpOutputSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpOutputSurface.
Definition: vdpau.h:1991
VdpStatus VdpVideoMixerGetFeatureSupport(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_supports)
Retrieve whether features were requested at creation time.
Definition: vdpau.h:4168
uint8_t postprocflag
Definition: vdpau.h:3084
uint32_t struct_version
Definition: vdpau.h:2287
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition: vdpau.h:3217
uint8_t deblocking_filter_override_enabled_flag
Definition: vdpau.h:3408
uint8_t max_transform_hierarchy_depth_inter
Definition: vdpau.h:3316
VdpStatus VdpVideoSurfaceQueryCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpVideoSurface capabilities.
Definition: vdpau.h:1597
uint8_t output_flag_present_flag
Definition: vdpau.h:3367
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:2993
Definition: vdpau.h:1240
uint8_t long_term_ref_pics_present_flag
Definition: vdpau.h:3354
uint8_t transformSkipRotationEnableFlag
Definition: vdpau.h:3506
VdpStatus VdpOutputSurfacePutBitsIndexed(VdpOutputSurface surface, VdpIndexedFormat source_indexed_format, void const *const *source_data, uint32_t const *source_pitch, VdpRect const *destination_rect, VdpColorTableFormat color_table_format, void const *color_table)
Copy image data from application memory in a specific indexed format to a VdpOutputSurface.
Definition: vdpau.h:2023
VdpRect const * source_rect
Definition: vdpau.h:4282
uint32_t NumShortTermPictureSliceHeaderBits
Definition: vdpau.h:3448
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition: vdpau.h:4086
float contrast
Definition: vdpau.h:1510
uint32_t VdpOutputSurface
An opaque handle representing a VdpOutputSurface object.
Definition: vdpau.h:1897
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: vdpau.h:3381
uint8_t transform_skip_enabled_flag
Definition: vdpau.h:3375
VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's VdpVideoSurface GetBits/PutBits capabilities.
Definition: vdpau.h:1617
unsigned int mcompFilterType
Definition: vdpau.h:3272
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition: vdpau.h:4150
uint8_t pps_range_extension_flag
Definition: vdpau.h:3527
uint8_t log2_parallel_merge_level_minus2
Definition: vdpau.h:3419
uint32_t y1
Definition: vdpau.h:1168
Definition: vdpau.h:1232
Definition: vdpau.h:1244
uint8_t num_ref_idx_l1_default_active_minus1
Definition: vdpau.h:3372
VdpVideoSurface forward_reference
Definition: vdpau.h:3172
unsigned char colorSpace
Definition: vdpau.h:3229
VdpOutputSurface source_surface
Definition: vdpau.h:4277
Definition: vdpau.h:1253
uint8_t tiles_enabled_flag
Definition: vdpau.h:3385
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition: vdpau.h:4454
Definition: vdpau.h:2714
int8_t pps_tc_offset_div2
Definition: vdpau.h:3417
unsigned int height
Definition: vdpau.h:3222
uint8_t dependent_slice_segments_enabled_flag
Definition: vdpau.h:3366
uint8_t pcm_loop_filter_disabled_flag
Definition: vdpau.h:3350
Picture parameter information for an H.265/HEVC picture.
Definition: vdpau.h:3296
VdpBool bottom_is_reference
Definition: vdpau.h:2943
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition: vdpau.h:4502
VdpStatus VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data matching ...
Definition: vdpau.h:1843
unsigned short intraOnly
Definition: vdpau.h:3239
VdpStatus VdpOutputSurfaceGetBitsNative(VdpOutputSurface surface, VdpRect const *source_rect, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpOutputSurface to application memory in the surface's native format.
Definition: vdpau.h:1965
VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpOutputSurface.
Definition: vdpau.h:1938
VdpVideoSurfaceSupportedPictureStructure
Definition: vdpau.h:2713
uint8_t direct_8x8_inference_flag
Definition: vdpau.h:3007
uint32_t pic_height_in_luma_samples
Definition: vdpau.h:3305
uint32_t slice_count
Definition: vdpau.h:2891
uint32_t VdpBitmapSurface
An opaque handle representing a VdpBitmapSurface object.
Definition: vdpau.h:2131
unsigned int resetFrameContext
Definition: vdpau.h:3271
uint32_t struct_version
Definition: vdpau.h:1500
VdpStatus VdpBitmapSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpBitmapSurface capabilities.
Definition: vdpau.h:2118
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition: vdpau.h:4247
uint8_t deblockEnable
Definition: vdpau.h:3151
uint8_t cabac_init_present_flag
Definition: vdpau.h:3370
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:4108
VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
Destroy a VdpBitmapSurface.
Definition: vdpau.h:2165
unsigned short frameParallelDecoding
Definition: vdpau.h:3236
uint32_t NumDeltaPocsOfRefRpsIdx
Definition: vdpau.h:3440
uint8_t num_long_term_ref_pics_sps
Definition: vdpau.h:3357
uint8_t sps_range_extension_flag
Definition: vdpau.h:3504
Definition: vdpau.h:1200
VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha
Definition: vdpau.h:2290
uint8_t NumPocLtCurr
Definition: vdpau.h:3480
Definition: vdpau.h:2722
uint8_t vop_fcode_backward
Definition: vdpau.h:3188
uint8_t diffCuChromaQpAdjustmentDepth
Definition: vdpau.h:3535
int8_t second_chroma_qp_index_offset
Definition: vdpau.h:2999
uint8_t num_short_term_ref_pic_sets
Definition: vdpau.h:3353
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation's support for a specific feature.
Definition: vdpau.h:4007
VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
Create a VdpOutputSurface.
Definition: vdpau.h:1911
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3303
uint8_t interlaced
Definition: vdpau.h:3190
uint32_t x0
Definition: vdpau.h:1162
VdpStatus VdpGetInformationString(char const **information_string)
Retrieve an implementation-specific string description of the implementation. This typically includes...
Definition: vdpau.h:1411
VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
Create a VdpBitmapSurface.
Definition: vdpau.h:2150
uint8_t sign_data_hiding_enabled_flag
Definition: vdpau.h:3369
uint32_t VdpColorTableFormat
The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
Definition: vdpau.h:1796
uint8_t log2_diff_max_min_transform_block_size
Definition: vdpau.h:3315
uint8_t short_video_header
Definition: vdpau.h:3193
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition: vdpau.h:3811
uint32_t VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded.
Definition: vdpau.h:2513
Definition: vdpau.h:1228
uint8_t pic_order_cnt_type
Definition: vdpau.h:3004
VdpStatus VdpDeviceDestroy(VdpDevice device)
Destroy a VdpDevice.
Definition: vdpau.h:1442
uint8_t bit_depth_luma_minus8
Definition: vdpau.h:3306
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3405
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition: vdpau.h:4131
uint8_t pic_order_present_flag
Definition: vdpau.h:3009
uint8_t amp_enabled_flag
Definition: vdpau.h:3338
uint8_t implicitRdpcmEnableFlag
Definition: vdpau.h:3510
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition: vdpau.h:2803
unsigned int uncompressedHeaderSize
Definition: vdpau.h:3275
VdpStatus VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1885
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition: vdpau.h:4238
VdpColor blend_constant
Definition: vdpau.h:2294
uint32_t slice_count
Definition: vdpau.h:3073
uint8_t num_ref_idx_l0_active_minus1
Definition: vdpau.h:3001
uint8_t transform_8x8_mode_flag
Definition: vdpau.h:2997
uint8_t interlace
Definition: vdpau.h:3088
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: vdpau.h:3346
uint32_t VdpDevice
An opaque handle representing a VdpDevice object.
Definition: vdpau.h:1435
VdpBool is_reference
Definition: vdpau.h:2982
uint8_t range_mapuv_flag
Definition: vdpau.h:3119
uint8_t alternate_vertical_scan_flag
Definition: vdpau.h:3196
VdpVideoSurface surface
Definition: vdpau.h:2931
uint8_t constrained_intra_pred_flag
Definition: vdpau.h:3374
Definition: vdpau.h:2715
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:3568
uint8_t cabacBypassAlignmentEnableFlag
Definition: vdpau.h:3522
uint8_t vop_fcode_forward
Definition: vdpau.h:3187
unsigned int width
Definition: vdpau.h:3221
int qpChAc
Definition: vdpau.h:3268
unsigned short refreshEntropyProbs
Definition: vdpau.h:3241
uint8_t fastuvmc
Definition: vdpau.h:3114
uint8_t resync_marker_disable
Definition: vdpau.h:3189
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device's display has been preempted.
Definition: vdpau.h:4676
float green
Definition: vdpau.h:1181
uint8_t NumPocStCurrBefore
Definition: vdpau.h:3474
unsigned char loopFilterLevel
Definition: vdpau.h:3247
VdpVideoSurface forward_reference
Definition: vdpau.h:3065
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition: vdpau.h:4467
uint8_t slice_segment_header_extension_present_flag
Definition: vdpau.h:3420
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition: vdpau.h:4185
uint8_t intra_vlc_format
Definition: vdpau.h:2902
VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
Retrieve the presentation queue's "current" time.
Definition: vdpau.h:4514
uint8_t log2_min_luma_coding_block_size_minus3
Definition: vdpau.h:3312
uint8_t num_ref_idx_l1_active_minus1
Definition: vdpau.h:3002
uint32_t NumLongTermPictureSliceHeaderBits
Definition: vdpau.h:3453
uint8_t transquant_bypass_enabled_flag
Definition: vdpau.h:3384
uint8_t entropy_coding_sync_enabled_flag
Definition: vdpau.h:3386
uint32_t y
Definition: vdpau.h:1147
uint8_t num_extra_slice_header_bits
Definition: vdpau.h:3368
uint8_t weighted_bipred_idc
Definition: vdpau.h:2995
VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
Configure the display preemption callback.
Definition: vdpau.h:4691
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: vdpau.h:3404
uint8_t full_pel_forward_vector
Definition: vdpau.h:2907
uint8_t range_mapuv
Definition: vdpau.h:3120
uint8_t quant_type
Definition: vdpau.h:3191
int8_t pps_cr_qp_offset
Definition: vdpau.h:3380
VdpStatus VdpOutputSurfacePutBitsYCbCr(VdpOutputSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect, VdpCSCMatrix const *csc_matrix)
Copy image data from application memory in a specific YCbCr format to a VdpOutputSurface.
Definition: vdpau.h:2058
A location within a surface.
Definition: vdpau.h:1143
unsigned short keyFrame
Definition: vdpau.h:3233
uint32_t x1
Definition: vdpau.h:1166
uint32_t NumPocTotalCurr
Definition: vdpau.h:3436
VdpStatus VdpBitmapSurfaceGetParameters(VdpBitmapSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height, VdpBool *frequently_accessed)
Retrieve the parameters used to create a VdpBitmapSurface.
Definition: vdpau.h:2180
uint8_t vop_coding_type
Definition: vdpau.h:3186
uint8_t max_transform_hierarchy_depth_intra
Definition: vdpau.h:3317
uint8_t chromaQpAdjustmentEnableFlag
Definition: vdpau.h:3533
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation's support for a specific attribute.
Definition: vdpau.h:4040
void VdpPictureInfo
A generic "picture information" type.
Definition: vdpau.h:2869
uint8_t entropy_coding_mode_flag
Definition: vdpau.h:3008
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: vdpau.h:3344
Definition of an additional VdpOutputSurface layer in the composting model.
Definition: vdpau.h:4269
Definition: vdpau.h:1310
unsigned int compressedHeaderSize
Definition: vdpau.h:3276
uint8_t picture_type
Definition: vdpau.h:3075
unsigned short frameContextIdx
Definition: vdpau.h:3232
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3308
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:4560
uint32_t x
Definition: vdpau.h:1145
VdpOutputSurfaceRenderBlendEquation blend_equation_alpha
Definition: vdpau.h:2293
Definition: vdpau.h:1224
VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
Destroy a VdpVideoSurface.
Definition: vdpau.h:1690
int8_t pic_init_qp_minus26
Definition: vdpau.h:3000
uint8_t alternate_scan
Definition: vdpau.h:2903
uint8_t weighted_bipred_flag
Definition: vdpau.h:3383
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: vdpau.h:3044
uint8_t log2_max_frame_num_minus4
Definition: vdpau.h:3003
uint32_t VdpChromaType
The set of all chroma formats for VdpVideoSurfaces.
Definition: vdpau.h:839
Definition: vdpau.h:1266
float blue
Definition: vdpau.h:1182
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition: vdpau.h:2818
Definition: vdpau.h:1217
uint8_t overlap
Definition: vdpau.h:3108
Picture parameter information for a VC1 picture.
Definition: vdpau.h:3060
uint8_t weighted_pred_flag
Definition: vdpau.h:2994
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition: vdpau.h:4225
uint8_t diff_cu_qp_delta_depth
Definition: vdpau.h:3378
unsigned char segmentEnabled
Definition: vdpau.h:3254
Definition: vdpau.h:1210
uint8_t concealment_motion_vectors
Definition: vdpau.h:2901
Definition: vdpau.h:3219
Complete blending operation definition.
Definition: vdpau.h:2283
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition: vdpau.h:3655
VdpStatus VdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpBitmapSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpBitmapSurface into a sub-rectangle of a VdpOutputSurface; Output Su...
Definition: vdpau.h:2483
Picture parameter information for an MPEG-4 Part 2 picture.
Definition: vdpau.h:3167
uint8_t crossComponentPredictionEnableFlag
Definition: vdpau.h:3531
uint8_t persistentRiceAdaptationEnableFlag
Definition: vdpau.h:3520
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition: vdpau.h:2785
Definition: vdpau.h:1262
uint8_t finterpflag
Definition: vdpau.h:3092
Definition: vdpau.h:1287
uint8_t loop_filter_across_tiles_enabled_flag
Definition: vdpau.h:3403
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: vdpau.h:3005
uint8_t cu_qp_delta_enabled_flag
Definition: vdpau.h:3376
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation's supported for a specific parameter.
Definition: vdpau.h:4057
uint8_t rounding_control
Definition: vdpau.h:3195
uint32_t pic_width_in_luma_samples
Definition: vdpau.h:3304
int VdpBool
A boolean value, holding VDP_TRUE or VDP_FALSE.
Definition: vdpau.h:813
A rectangular region of a surface.
Definition: vdpau.h:1160
uint32_t VdpFuncId
A type suitable for VdpGetProcAddress's function_id parameter.
Definition: vdpau.h:4714
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition: vdpau.h:4439
uint8_t num_ref_frames
Definition: vdpau.h:2991
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition: vdpau.h:4479
uint8_t multires
Definition: vdpau.h:3126
uint8_t sample_adaptive_offset_enabled_flag
Definition: vdpau.h:3339
uint8_t dquant
Definition: vdpau.h:3096
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition: vdpau.h:4594
uint8_t intra_dc_precision
Definition: vdpau.h:2899
uint8_t pps_deblocking_filter_disabled_flag
Definition: vdpau.h:3411
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation's supported for a specific attribute.
Definition: vdpau.h:4075
int qpYDc
Definition: vdpau.h:3266
uint32_t struct_version
Definition: vdpau.h:2852
uint32_t struct_version
Definition: vdpau.h:4273
uint32_t slice_count
Definition: vdpau.h:2978
int8_t pps_cb_qp_offset
Definition: vdpau.h:3379
uint8_t refdist_flag
Definition: vdpau.h:3100
uint8_t sps_max_dec_pic_buffering_minus1
Definition: vdpau.h:3311
uint8_t uniform_spacing_flag
Definition: vdpau.h:3392
uint8_t quantizer
Definition: vdpau.h:3102
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:2745
float VdpCSCMatrix[3][4]
Storage for a color space conversion matrix.
Definition: vdpau.h:1484
uint8_t IDRPicFlag
Definition: vdpau.h:3429
uint8_t pulldown
Definition: vdpau.h:3086
Definition: vdpau.h:4598
uint8_t transformSkipContextEnableFlag
Definition: vdpau.h:3508
uint8_t rangered
Definition: vdpau.h:3138
uint8_t RAPPicFlag
Definition: vdpau.h:3432
uint8_t deblocking_filter_control_present_flag
Definition: vdpau.h:3010
uint8_t vstransform
Definition: vdpau.h:3110
uint8_t frame_coding_mode
Definition: vdpau.h:3077
unsigned short subSamplingX
Definition: vdpau.h:3237
VdpStatus VdpBitmapSurfacePutBitsNative(VdpBitmapSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpBitmapSurface.
Definition: vdpau.h:2208
Definition: vdpau.h:1329
uint16_t vop_time_increment_resolution
Definition: vdpau.h:3185
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:4205
uint8_t top_field_first
Definition: vdpau.h:2905
uint8_t maxbframes
Definition: vdpau.h:3143
VdpVideoSurface backward_reference
Definition: vdpau.h:3177
VdpOutputSurfaceRenderBlendFactor blend_factor_source_color
Definition: vdpau.h:2288
uint8_t weighted_pred_flag
Definition: vdpau.h:3382
uint16_t frame_idx
Definition: vdpau.h:2951
unsigned char log2TileRows
Definition: vdpau.h:3252
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: vdpau.h:2879
VdpPictureInfoH264 pictureInfo
Definition: vdpau.h:3034
VdpPictureInfoHEVC pictureInfo
Definition: vdpau.h:3501
Definition: vdpau.h:1204
uint32_t VdpColorStandard
YCbCr color space specification.
Definition: vdpau.h:1529
Procamp operation parameterization data.
Definition: vdpau.h:1496
float alpha
Definition: vdpau.h:1183
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition: vdpau.h:4614
unsigned char segmentFeatureMode
Definition: vdpau.h:3257
Definition: vdpau.h:2721
uint8_t full_pel_backward_vector
Definition: vdpau.h:2909
unsigned char bitDepthMinus8Chroma
Definition: vdpau.h:3246
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:2771
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition: vdpau.h:3885
uint8_t CurrRpsIdx
Definition: vdpau.h:3434
VdpVideoSurface forward_reference
Definition: vdpau.h:2884
uint8_t chromaQpAdjustmentTableSize
Definition: vdpau.h:3537
uint8_t log2SaoOffsetScaleLuma
Definition: vdpau.h:3540
VdpVideoSurface backward_reference
Definition: vdpau.h:3070
uint8_t top_field_first
Definition: vdpau.h:3197
VdpRect const * destination_rect
Definition: vdpau.h:4291
int8_t chroma_qp_index_offset
Definition: vdpau.h:2998
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color
Definition: vdpau.h:2289
uint8_t redundant_pic_cnt_present_flag
Definition: vdpau.h:3011
int8_t init_qp_minus26
Definition: vdpau.h:3373
Definition: vdpau.h:1325
VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
Generate a color space conversion matrix.
Definition: vdpau.h:1546
VdpStatus
The set of all possible error codes.
Definition: vdpau.h:1198
VdpStatus VdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpOutputSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpOutputSurface into a sub-rectangle of another VdpOutputSurface; Out...
Definition: vdpau.h:2403
uint8_t field_pic_flag
Definition: vdpau.h:2989
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation's support for a specific parameter.
Definition: vdpau.h:4024
Information about an H.264 reference frame.
Definition: vdpau.h:2926
uint8_t log2MaxTransformSkipSize
Definition: vdpau.h:3529
uint8_t bottom_field_flag
Definition: vdpau.h:2990
Picture parameter information for an H.264 picture.
Definition: vdpau.h:2976
VdpDecoderCapability
Definition: vdpau.h:2718
uint64_t VdpTime
The representation of a point in time.
Definition: vdpau.h:4429
uint8_t extended_mv
Definition: vdpau.h:3104
unsigned char segmentMapUpdate
Definition: vdpau.h:3255
uint16_t frame_num
Definition: vdpau.h:2988
uint8_t pcm_enabled_flag
Definition: vdpau.h:3340
uint8_t log2SaoOffsetScaleChroma
Definition: vdpau.h:3542
float brightness
Definition: vdpau.h:1505
uint8_t chroma_format_idc
Definition: vdpau.h:3301
VdpBool top_is_reference
Definition: vdpau.h:2938
unsigned char log2TileColumns
Definition: vdpau.h:3251
VdpVideoSurface backward_reference
Definition: vdpau.h:2889
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: vdpau.h:3313
Picture parameter information for an H.264 Hi444PP picture.
Definition: vdpau.h:3032
uint32_t y0
Definition: vdpau.h:1164
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: vdpau.h:3348
VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpVideoSurface.
Definition: vdpau.h:1703
unsigned char segmentMapTemporalUpdate
Definition: vdpau.h:3256
unsigned char loopFilterSharpness
Definition: vdpau.h:3248
Picture parameter information for an HEVC 444 picture.
Definition: vdpau.h:3499
uint32_t VdpVideoSurface
An opaque handle representing a VdpVideoSurface object.
Definition: vdpau.h:1629
uint8_t num_ref_idx_l0_default_active_minus1
Definition: vdpau.h:3371
Definition: vdpau.h:1304
unsigned short errorResilient
Definition: vdpau.h:3235
char const * VdpGetErrorString(VdpStatus status)
Retrieve a string describing an error code.
Definition: vdpau.h:1341
VdpStatus VdpOutputSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpOutputSurface capabilities.
Definition: vdpau.h:1824
VdpStatus 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:4360
Definition: vdpau.h:2720
uint8_t psf
Definition: vdpau.h:3094
Definition: vdpau.h:1315
uint8_t syncmarker
Definition: vdpau.h:3131
VdpStatus VdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches)
Copy image data from application memory in a specific YCbCr format to a VdpVideoSurface.
Definition: vdpau.h:1754
uint8_t delta_pic_order_always_zero_flag
Definition: vdpau.h:3006
VdpStatus VdpOutputSurfaceQueryPutBitsIndexedCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpIndexedFormat bits_indexed_format, VdpColorTableFormat color_table_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition: vdpau.h:1864
unsigned short profile
Definition: vdpau.h:3231
unsigned short showFrame
Definition: vdpau.h:3234
uint8_t tfcntrflag
Definition: vdpau.h:3090
int32_t CurrPicOrderCntVal
Definition: vdpau.h:3459
uint8_t log2_min_transform_block_size_minus2
Definition: vdpau.h:3314
Definition: vdpau.h:1258
VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
Destroy a VdpOutputSurface.
Definition: vdpau.h:1925
uint8_t loopfilter
Definition: vdpau.h:3112
uint8_t lists_modification_present_flag
Definition: vdpau.h:3418
uint8_t panscan_flag
Definition: vdpau.h:3098
float red
Definition: vdpau.h:1180
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha
Definition: vdpau.h:2291
uint8_t explicitRdpcmEnableFlag
Definition: vdpau.h:3512
uint8_t picture_coding_type
Definition: vdpau.h:2898
uint8_t range_mapy_flag
Definition: vdpau.h:3116
uint8_t num_tile_columns_minus1
Definition: vdpau.h:3388
uint8_t extendedPrecisionProcessingFlag
Definition: vdpau.h:3514
uint8_t intraBlockCopyEnableFlag
Definition: vdpau.h:3524
int qpChDc
Definition: vdpau.h:3267
uint8_t picture_structure
Definition: vdpau.h:2897
uint8_t highPrecisionOffsetsEnableFlag
Definition: vdpau.h:3518
int8_t pps_beta_offset_div2
Definition: vdpau.h:3414
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition: vdpau.h:4446
uint8_t scaling_list_enabled_flag
Definition: vdpau.h:3318
VdpVideoSurface lastReference
Definition: vdpau.h:3225
unsigned short subSamplingY
Definition: vdpau.h:3238
VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
Create a VdpVideoSurface.
Definition: vdpau.h:1676
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition: vdpau.h:4492
VdpOutputSurfaceRenderBlendEquation blend_equation_color
Definition: vdpau.h:2292
uint8_t mb_adaptive_frame_field_flag
Definition: vdpau.h:2992
uint8_t separate_colour_plane_flag
Definition: vdpau.h:3049