VDPAU: vdpau/vdpau.h Source File

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
771
778
779#ifndef _VDPAU_H
780#define _VDPAU_H
781
782#include <stdint.h>
783
784#ifdef __cplusplus
785extern "C" {
786#endif
787
796
804
806#define VDP_TRUE 1
808#define VDP_FALSE 0
813 typedef int VdpBool;
814
816
822
833#define VDP_INVALID_HANDLE 0xffffffffU
834
839 typedef uint32_t VdpChromaType;
840
849#define VDP_CHROMA_TYPE_420 ((VdpChromaType)0)
858#define VDP_CHROMA_TYPE_422 ((VdpChromaType)1)
867#define VDP_CHROMA_TYPE_444 ((VdpChromaType)2)
868
873#define VDP_CHROMA_TYPE_420_FIELD ((VdpChromaType)3)
878#define VDP_CHROMA_TYPE_422_FIELD ((VdpChromaType)4)
883#define VDP_CHROMA_TYPE_444_FIELD ((VdpChromaType)5)
884
889#define VDP_CHROMA_TYPE_420_FRAME ((VdpChromaType)6)
894#define VDP_CHROMA_TYPE_422_FRAME ((VdpChromaType)7)
899#define VDP_CHROMA_TYPE_444_FRAME ((VdpChromaType)8)
908#define VDP_CHROMA_TYPE_420_16 ((VdpChromaType)9)
917#define VDP_CHROMA_TYPE_422_16 ((VdpChromaType)10)
926#define VDP_CHROMA_TYPE_444_16 ((VdpChromaType)11)
927
932#define VDP_CHROMA_TYPE_420_FIELD_16 ((VdpChromaType)12)
937#define VDP_CHROMA_TYPE_422_FIELD_16 ((VdpChromaType)13)
942#define VDP_CHROMA_TYPE_444_FIELD_16 ((VdpChromaType)14)
943
948#define VDP_CHROMA_TYPE_420_FRAME_16 ((VdpChromaType)15)
953#define VDP_CHROMA_TYPE_422_FRAME_16 ((VdpChromaType)16)
958#define VDP_CHROMA_TYPE_444_FRAME_16 ((VdpChromaType)17)
959
963 typedef uint32_t VdpYCbCrFormat;
964
978#define VDP_YCBCR_FORMAT_NV12 ((VdpYCbCrFormat)0)
990#define VDP_YCBCR_FORMAT_YV12 ((VdpYCbCrFormat)1)
1004#define VDP_YCBCR_FORMAT_UYVY ((VdpYCbCrFormat)2)
1018#define VDP_YCBCR_FORMAT_YUYV ((VdpYCbCrFormat)3)
1031#define VDP_YCBCR_FORMAT_Y8U8V8A8 ((VdpYCbCrFormat)4)
1044#define VDP_YCBCR_FORMAT_V8U8Y8A8 ((VdpYCbCrFormat)5)
1058#define VDP_YCBCR_FORMAT_Y_UV_444 ((VdpYCbCrFormat)6)
1070#define VDP_YCBCR_FORMAT_Y_U_V_444 ((VdpYCbCrFormat)7)
1088#define VDP_YCBCR_FORMAT_P010 ((VdpYCbCrFormat)8)
1102#define VDP_YCBCR_FORMAT_P016 ((VdpYCbCrFormat)9)
1114 #define VDP_YCBCR_FORMAT_Y_U_V_444_16 ((VdpYCbCrFormat)11)
1115
1119 typedef uint32_t VdpRGBAFormat;
1120
1133#define VDP_RGBA_FORMAT_B8G8R8A8 ((VdpRGBAFormat)0)
1146#define VDP_RGBA_FORMAT_R8G8B8A8 ((VdpRGBAFormat)1)
1159#define VDP_RGBA_FORMAT_R10G10B10A2 ((VdpRGBAFormat)2)
1172#define VDP_RGBA_FORMAT_B10G10R10A2 ((VdpRGBAFormat)3)
1183#define VDP_RGBA_FORMAT_A8 ((VdpRGBAFormat)4)
1184
1188 typedef uint32_t VdpIndexedFormat;
1189
1201#define VDP_INDEXED_FORMAT_A4I4 ((VdpIndexedFormat)0)
1213#define VDP_INDEXED_FORMAT_I4A4 ((VdpIndexedFormat)1)
1225#define VDP_INDEXED_FORMAT_A8I8 ((VdpIndexedFormat)2)
1237#define VDP_INDEXED_FORMAT_I8A8 ((VdpIndexedFormat)3)
1238
1246 typedef struct {
1248 uint32_t x;
1250 uint32_t y;
1251} VdpPoint;
1252
1263 typedef struct {
1265 uint32_t x0;
1267 uint32_t y0;
1269 uint32_t x1;
1271 uint32_t y1;
1272} VdpRect;
1273
1282 typedef struct {
1283 float red;
1284 float green;
1285 float blue;
1286 float alpha;
1287} VdpColor;
1288
1290
1296
1301 typedef enum {
1303 VDP_STATUS_OK = 0,
1307 VDP_STATUS_NO_IMPLEMENTATION,
1313 VDP_STATUS_DISPLAY_PREEMPTED,
1320 VDP_STATUS_INVALID_HANDLE,
1327 VDP_STATUS_INVALID_POINTER,
1331 VDP_STATUS_INVALID_CHROMA_TYPE,
1335 VDP_STATUS_INVALID_Y_CB_CR_FORMAT,
1339 VDP_STATUS_INVALID_RGBA_FORMAT,
1343 VDP_STATUS_INVALID_INDEXED_FORMAT,
1347 VDP_STATUS_INVALID_COLOR_STANDARD,
1351 VDP_STATUS_INVALID_COLOR_TABLE_FORMAT,
1356 VDP_STATUS_INVALID_BLEND_FACTOR,
1361 VDP_STATUS_INVALID_BLEND_EQUATION,
1365 VDP_STATUS_INVALID_FLAG,
1369 VDP_STATUS_INVALID_DECODER_PROFILE,
1373 VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE,
1377 VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER,
1381 VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE,
1386 VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE,
1390 VDP_STATUS_INVALID_FUNC_ID,
1400 VDP_STATUS_INVALID_SIZE,
1407 VDP_STATUS_INVALID_VALUE,
1413 VDP_STATUS_INVALID_STRUCT_VERSION,
1418 VDP_STATUS_RESOURCES,
1428 VDP_STATUS_HANDLE_DEVICE_MISMATCH,
1432 VDP_STATUS_ERROR,
1433} VdpStatus;
1434
1444 typedef char const * VdpGetErrorString(
1445 VdpStatus status
1446);
1447
1449
1456
1472#define VDPAU_INTERFACE_VERSION 1
1473
1485#define VDPAU_VERSION 1
1486
1492 typedef VdpStatus VdpGetApiVersion(
1493 /* output parameters follow */
1494 uint32_t * api_version
1495);
1496
1514 typedef VdpStatus VdpGetInformationString(
1515 /* output parameters follow */
1516 char const * * information_string
1517);
1518
1520
1534
1538 typedef uint32_t VdpDevice;
1539
1545 typedef VdpStatus VdpDeviceDestroy(
1546 VdpDevice device
1547);
1548
1550
1562
1587 typedef float VdpCSCMatrix[3][4];
1588
1589#define VDP_PROCAMP_VERSION 0
1590
1599 typedef struct {
1603 uint32_t struct_version;
1608 float brightness;
1613 float contrast;
1618 float saturation;
1623 float hue;
1624} VdpProcamp;
1625
1632 typedef uint32_t VdpColorStandard;
1633
1635#define VDP_COLOR_STANDARD_ITUR_BT_601 ((VdpColorStandard)0)
1637#define VDP_COLOR_STANDARD_ITUR_BT_709 ((VdpColorStandard)1)
1639#define VDP_COLOR_STANDARD_SMPTE_240M ((VdpColorStandard)2)
1640
1649 typedef VdpStatus VdpGenerateCSCMatrix(
1650 VdpProcamp * procamp,
1651 VdpColorStandard standard,
1652 /* output parameters follow */
1653 VdpCSCMatrix * csc_matrix
1654);
1655
1657
1686
1700 typedef VdpStatus VdpVideoSurfaceQueryCapabilities(
1701 VdpDevice device,
1702 VdpChromaType surface_chroma_type,
1703 /* output parameters follow */
1704 VdpBool * is_supported,
1705 uint32_t * max_width,
1706 uint32_t * max_height
1707);
1708
1720 typedef VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(
1721 VdpDevice device,
1722 VdpChromaType surface_chroma_type,
1723 VdpYCbCrFormat bits_ycbcr_format,
1724 /* output parameters follow */
1725 VdpBool * is_supported
1726);
1727
1732 typedef uint32_t VdpVideoSurface;
1733
1779 typedef VdpStatus VdpVideoSurfaceCreate(
1780 VdpDevice device,
1781 VdpChromaType chroma_type,
1782 uint32_t width,
1783 uint32_t height,
1784 /* output parameters follow */
1785 VdpVideoSurface * surface
1786);
1787
1793 typedef VdpStatus VdpVideoSurfaceDestroy(
1794 VdpVideoSurface surface
1795);
1796
1806 typedef VdpStatus VdpVideoSurfaceGetParameters(
1807 VdpVideoSurface surface,
1808 /* output parameters follow */
1809 VdpChromaType * chroma_type,
1810 uint32_t * width,
1811 uint32_t * height
1812);
1813
1832 typedef VdpStatus VdpVideoSurfaceGetBitsYCbCr(
1833 VdpVideoSurface surface,
1834 VdpYCbCrFormat destination_ycbcr_format,
1835 void * const * destination_data,
1836 uint32_t const * destination_pitches
1837);
1838
1857 typedef VdpStatus VdpVideoSurfacePutBitsYCbCr(
1858 VdpVideoSurface surface,
1859 VdpYCbCrFormat source_ycbcr_format,
1860 void const * const * source_data,
1861 uint32_t const * source_pitches
1862);
1863
1865
1893
1898 typedef uint32_t VdpColorTableFormat;
1899
1911#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8 ((VdpColorTableFormat)0)
1912
1926 typedef VdpStatus VdpOutputSurfaceQueryCapabilities(
1927 VdpDevice device,
1928 VdpRGBAFormat surface_rgba_format,
1929 /* output parameters follow */
1930 VdpBool * is_supported,
1931 uint32_t * max_width,
1932 uint32_t * max_height
1933);
1934
1945 typedef VdpStatus VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(
1946 VdpDevice device,
1947 VdpRGBAFormat surface_rgba_format,
1948 /* output parameters follow */
1949 VdpBool * is_supported
1950);
1951
1966 typedef VdpStatus VdpOutputSurfaceQueryPutBitsIndexedCapabilities(
1967 VdpDevice device,
1968 VdpRGBAFormat surface_rgba_format,
1969 VdpIndexedFormat bits_indexed_format,
1970 VdpColorTableFormat color_table_format,
1971 /* output parameters follow */
1972 VdpBool * is_supported
1973);
1974
1987 typedef VdpStatus VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(
1988 VdpDevice device,
1989 VdpRGBAFormat surface_rgba_format,
1990 VdpYCbCrFormat bits_ycbcr_format,
1991 /* output parameters follow */
1992 VdpBool * is_supported
1993);
1994
1999 typedef uint32_t VdpOutputSurface;
2000
2013 typedef VdpStatus VdpOutputSurfaceCreate(
2014 VdpDevice device,
2015 VdpRGBAFormat rgba_format,
2016 uint32_t width,
2017 uint32_t height,
2018 /* output parameters follow */
2019 VdpOutputSurface * surface
2020);
2021
2027 typedef VdpStatus VdpOutputSurfaceDestroy(
2028 VdpOutputSurface surface
2029);
2030
2040 typedef VdpStatus VdpOutputSurfaceGetParameters(
2041 VdpOutputSurface surface,
2042 /* output parameters follow */
2043 VdpRGBAFormat * rgba_format,
2044 uint32_t * width,
2045 uint32_t * height
2046);
2047
2067 typedef VdpStatus VdpOutputSurfaceGetBitsNative(
2068 VdpOutputSurface surface,
2069 VdpRect const * source_rect,
2070 void * const * destination_data,
2071 uint32_t const * destination_pitches
2072);
2073
2093 typedef VdpStatus VdpOutputSurfacePutBitsNative(
2094 VdpOutputSurface surface,
2095 void const * const * source_data,
2096 uint32_t const * source_pitches,
2097 VdpRect const * destination_rect
2098);
2099
2125 typedef VdpStatus VdpOutputSurfacePutBitsIndexed(
2126 VdpOutputSurface surface,
2127 VdpIndexedFormat source_indexed_format,
2128 void const * const * source_data,
2129 uint32_t const * source_pitch,
2130 VdpRect const * destination_rect,
2131 VdpColorTableFormat color_table_format,
2132 void const * color_table
2133);
2134
2160 typedef VdpStatus VdpOutputSurfacePutBitsYCbCr(
2161 VdpOutputSurface surface,
2162 VdpYCbCrFormat source_ycbcr_format,
2163 void const * const * source_data,
2164 uint32_t const * source_pitches,
2165 VdpRect const * destination_rect,
2166 VdpCSCMatrix const * csc_matrix
2167);
2168
2170
2205
2219 typedef VdpStatus VdpBitmapSurfaceQueryCapabilities(
2220 VdpDevice device,
2221 VdpRGBAFormat surface_rgba_format,
2222 /* output parameters follow */
2223 VdpBool * is_supported,
2224 uint32_t * max_width,
2225 uint32_t * max_height
2226);
2227
2232 typedef uint32_t VdpBitmapSurface;
2233
2251 typedef VdpStatus VdpBitmapSurfaceCreate(
2252 VdpDevice device,
2253 VdpRGBAFormat rgba_format,
2254 uint32_t width,
2255 uint32_t height,
2256 VdpBool frequently_accessed,
2257 /* output parameters follow */
2258 VdpBitmapSurface * surface
2259);
2260
2266 typedef VdpStatus VdpBitmapSurfaceDestroy(
2267 VdpBitmapSurface surface
2268);
2269
2281 typedef VdpStatus VdpBitmapSurfaceGetParameters(
2282 VdpBitmapSurface surface,
2283 /* output parameters follow */
2284 VdpRGBAFormat * rgba_format,
2285 uint32_t * width,
2286 uint32_t * height,
2287 VdpBool * frequently_accessed
2288);
2289
2309 typedef VdpStatus VdpBitmapSurfacePutBitsNative(
2310 VdpBitmapSurface surface,
2311 void const * const * source_data,
2312 uint32_t const * source_pitches,
2313 VdpRect const * destination_rect
2314);
2315
2317
2327
2332 typedef enum {
2333 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO = 0,
2334 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE = 1,
2335 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR = 2,
2336 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2337 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA = 4,
2338 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 5,
2339 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA = 6,
2340 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 7,
2341 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR = 8,
2342 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 9,
2343 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE = 10,
2344 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR = 11,
2345 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 12,
2346 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA = 13,
2347 VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 14,
2348} VdpOutputSurfaceRenderBlendFactor;
2349
2354 typedef enum {
2355 VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT = 0,
2356 VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT = 1,
2357 VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD = 2,
2358 VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN = 3,
2359 VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX = 4,
2360} VdpOutputSurfaceRenderBlendEquation;
2361
2362#define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
2363
2383 typedef struct {
2387 uint32_t struct_version;
2388 VdpOutputSurfaceRenderBlendFactor blend_factor_source_color;
2389 VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color;
2390 VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha;
2391 VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha;
2392 VdpOutputSurfaceRenderBlendEquation blend_equation_color;
2393 VdpOutputSurfaceRenderBlendEquation blend_equation_alpha;
2394 VdpColor blend_constant;
2395} VdpOutputSurfaceRenderBlendState;
2396
2401#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0 0
2402
2408#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90 1
2409
2415#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180 2
2416
2422#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270 3
2423
2431#define VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX (1 << 2)
2432
2503 typedef VdpStatus VdpOutputSurfaceRenderOutputSurface(
2504 VdpOutputSurface destination_surface,
2505 VdpRect const * destination_rect,
2506 VdpOutputSurface source_surface,
2507 VdpRect const * source_rect,
2508 VdpColor const * colors,
2509 VdpOutputSurfaceRenderBlendState const * blend_state,
2510 uint32_t flags
2511);
2512
2583 typedef VdpStatus VdpOutputSurfaceRenderBitmapSurface(
2584 VdpOutputSurface destination_surface,
2585 VdpRect const * destination_rect,
2586 VdpBitmapSurface source_surface,
2587 VdpRect const * source_rect,
2588 VdpColor const * colors,
2589 VdpOutputSurfaceRenderBlendState const * blend_state,
2590 uint32_t flags
2591);
2592
2594
2608
2613 typedef uint32_t VdpDecoderProfile;
2614
2616#define VDP_DECODER_PROFILE_MPEG1 ((VdpDecoderProfile)0)
2618#define VDP_DECODER_PROFILE_MPEG2_SIMPLE ((VdpDecoderProfile)1)
2620#define VDP_DECODER_PROFILE_MPEG2_MAIN ((VdpDecoderProfile)2)
2623#define VDP_DECODER_PROFILE_H264_BASELINE ((VdpDecoderProfile)6)
2625#define VDP_DECODER_PROFILE_H264_MAIN ((VdpDecoderProfile)7)
2627#define VDP_DECODER_PROFILE_H264_HIGH ((VdpDecoderProfile)8)
2629#define VDP_DECODER_PROFILE_VC1_SIMPLE ((VdpDecoderProfile)9)
2631#define VDP_DECODER_PROFILE_VC1_MAIN ((VdpDecoderProfile)10)
2633#define VDP_DECODER_PROFILE_VC1_ADVANCED ((VdpDecoderProfile)11)
2635#define VDP_DECODER_PROFILE_MPEG4_PART2_SP ((VdpDecoderProfile)12)
2637#define VDP_DECODER_PROFILE_MPEG4_PART2_ASP ((VdpDecoderProfile)13)
2639#define VDP_DECODER_PROFILE_DIVX4_QMOBILE ((VdpDecoderProfile)14)
2641#define VDP_DECODER_PROFILE_DIVX4_MOBILE ((VdpDecoderProfile)15)
2643#define VDP_DECODER_PROFILE_DIVX4_HOME_THEATER ((VdpDecoderProfile)16)
2645#define VDP_DECODER_PROFILE_DIVX4_HD_1080P ((VdpDecoderProfile)17)
2647#define VDP_DECODER_PROFILE_DIVX5_QMOBILE ((VdpDecoderProfile)18)
2649#define VDP_DECODER_PROFILE_DIVX5_MOBILE ((VdpDecoderProfile)19)
2651#define VDP_DECODER_PROFILE_DIVX5_HOME_THEATER ((VdpDecoderProfile)20)
2653#define VDP_DECODER_PROFILE_DIVX5_HD_1080P ((VdpDecoderProfile)21)
2655#define VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE ((VdpDecoderProfile)22)
2657#define VDP_DECODER_PROFILE_H264_EXTENDED ((VdpDecoderProfile)23)
2659#define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH ((VdpDecoderProfile)24)
2661#define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH ((VdpDecoderProfile)25)
2664#define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
2666#define VDP_DECODER_PROFILE_VP9_PROFILE_0 ((VdpDecoderProfile)27)
2668#define VDP_DECODER_PROFILE_VP9_PROFILE_1 ((VdpDecoderProfile)28)
2670#define VDP_DECODER_PROFILE_VP9_PROFILE_2 ((VdpDecoderProfile)29)
2672#define VDP_DECODER_PROFILE_VP9_PROFILE_3 ((VdpDecoderProfile)30)
2675#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
2677#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
2679#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
2681#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
2683#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
2685#define VDP_DECODER_PROFILE_HEVC_MAIN_444_10 ((VdpDecoderProfile)105)
2687#define VDP_DECODER_PROFILE_HEVC_MAIN_444_12 ((VdpDecoderProfile)106)
2689#define VDP_DECODER_PROFILE_AV1_MAIN ((VdpDecoderProfile)107)
2691#define VDP_DECODER_PROFILE_AV1_HIGH ((VdpDecoderProfile)108)
2693#define VDP_DECODER_PROFILE_AV1_PROFESSIONAL ((VdpDecoderProfile)109)
2694
2696#define VDP_DECODER_LEVEL_MPEG1_NA 0
2697
2699#define VDP_DECODER_LEVEL_MPEG2_LL 0
2701#define VDP_DECODER_LEVEL_MPEG2_ML 1
2703#define VDP_DECODER_LEVEL_MPEG2_HL14 2
2705#define VDP_DECODER_LEVEL_MPEG2_HL 3
2706
2708#define VDP_DECODER_LEVEL_H264_1 10
2710#define VDP_DECODER_LEVEL_H264_1b 9
2712#define VDP_DECODER_LEVEL_H264_1_1 11
2714#define VDP_DECODER_LEVEL_H264_1_2 12
2716#define VDP_DECODER_LEVEL_H264_1_3 13
2718#define VDP_DECODER_LEVEL_H264_2 20
2720#define VDP_DECODER_LEVEL_H264_2_1 21
2722#define VDP_DECODER_LEVEL_H264_2_2 22
2724#define VDP_DECODER_LEVEL_H264_3 30
2726#define VDP_DECODER_LEVEL_H264_3_1 31
2728#define VDP_DECODER_LEVEL_H264_3_2 32
2730#define VDP_DECODER_LEVEL_H264_4 40
2732#define VDP_DECODER_LEVEL_H264_4_1 41
2734#define VDP_DECODER_LEVEL_H264_4_2 42
2736#define VDP_DECODER_LEVEL_H264_5 50
2738#define VDP_DECODER_LEVEL_H264_5_1 51
2739
2741#define VDP_DECODER_LEVEL_VC1_SIMPLE_LOW 0
2743#define VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM 1
2744
2746#define VDP_DECODER_LEVEL_VC1_MAIN_LOW 0
2748#define VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM 1
2750#define VDP_DECODER_LEVEL_VC1_MAIN_HIGH 2
2751
2753#define VDP_DECODER_LEVEL_VC1_ADVANCED_L0 0
2755#define VDP_DECODER_LEVEL_VC1_ADVANCED_L1 1
2757#define VDP_DECODER_LEVEL_VC1_ADVANCED_L2 2
2759#define VDP_DECODER_LEVEL_VC1_ADVANCED_L3 3
2761#define VDP_DECODER_LEVEL_VC1_ADVANCED_L4 4
2762
2764#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0 0
2766#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1 1
2768#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2 2
2770#define VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3 3
2771
2773#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0 0
2775#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1 1
2777#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2 2
2779#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3 3
2781#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4 4
2783#define VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5 5
2784
2786#define VDP_DECODER_LEVEL_DIVX_NA 0
2787
2789#define VDP_DECODER_LEVEL_VP9_L1 1
2790
2792#define VDP_DECODER_LEVEL_AV1_2_0 0
2794#define VDP_DECODER_LEVEL_AV1_2_1 1
2796#define VDP_DECODER_LEVEL_AV1_2_2 2
2798#define VDP_DECODER_LEVEL_AV1_2_3 3
2800#define VDP_DECODER_LEVEL_AV1_3_0 4
2802#define VDP_DECODER_LEVEL_AV1_3_1 5
2804#define VDP_DECODER_LEVEL_AV1_3_2 6
2806#define VDP_DECODER_LEVEL_AV1_3_3 7
2808#define VDP_DECODER_LEVEL_AV1_4_0 8
2810#define VDP_DECODER_LEVEL_AV1_4_1 9
2812#define VDP_DECODER_LEVEL_AV1_4_2 10
2814#define VDP_DECODER_LEVEL_AV1_4_3 11
2816#define VDP_DECODER_LEVEL_AV1_5_0 12
2818#define VDP_DECODER_LEVEL_AV1_5_1 13
2820#define VDP_DECODER_LEVEL_AV1_5_2 14
2822#define VDP_DECODER_LEVEL_AV1_5_3 15
2824#define VDP_DECODER_LEVEL_AV1_6_0 16
2826#define VDP_DECODER_LEVEL_AV1_6_1 17
2828#define VDP_DECODER_LEVEL_AV1_6_2 18
2830#define VDP_DECODER_LEVEL_AV1_6_3 19
2832#define VDP_DECODER_LEVEL_AV1_7_0 20
2834#define VDP_DECODER_LEVEL_AV1_7_1 21
2836#define VDP_DECODER_LEVEL_AV1_7_2 22
2838#define VDP_DECODER_LEVEL_AV1_7_3 23
2839
2846#define VDP_DECODER_LEVEL_HEVC_1 30
2848#define VDP_DECODER_LEVEL_HEVC_2 60
2850#define VDP_DECODER_LEVEL_HEVC_2_1 63
2852#define VDP_DECODER_LEVEL_HEVC_3 90
2854#define VDP_DECODER_LEVEL_HEVC_3_1 93
2856#define VDP_DECODER_LEVEL_HEVC_4 120
2858#define VDP_DECODER_LEVEL_HEVC_4_1 123
2860#define VDP_DECODER_LEVEL_HEVC_5 150
2862#define VDP_DECODER_LEVEL_HEVC_5_1 153
2864#define VDP_DECODER_LEVEL_HEVC_5_2 156
2866#define VDP_DECODER_LEVEL_HEVC_6 180
2868#define VDP_DECODER_LEVEL_HEVC_6_1 183
2870#define VDP_DECODER_LEVEL_HEVC_6_2 186
2871
2872 typedef enum {
2873 VDP_VIDEO_SURFACE_FIELD_STRUCTURE = (1 << 0),
2874 VDP_VIDEO_SURFACE_FRAME_STRUCTURE = (1 << 1)
2875} VdpVideoSurfaceSupportedPictureStructure;
2876
2877 typedef enum {
2878 VDP_DECODER_PROFILE_MAX_LEVEL = 0,
2879 VDP_DECODER_PROFILE_MAX_MACROBLOCKS = 1,
2880 VDP_DECODER_PROFILE_MAX_WIDTH = 2,
2881 VDP_DECODER_PROFILE_MAX_HEIGHT = 3,
2882 VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE = 4,
2890 VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES = 5
2891} VdpDecoderCapability;
2892
2903
2904 typedef VdpStatus VdpDecoderQueryProfileCapability(
2905 VdpDevice device,
2906 VdpDecoderProfile profile,
2907 /* output parameters follow */
2908 VdpDecoderCapability capability,
2909 void * capability_value
2910);
2911
2930 typedef VdpStatus VdpDecoderQueryCapabilities(
2931 VdpDevice device,
2932 VdpDecoderProfile profile,
2933 /* output parameters follow */
2934 VdpBool * is_supported,
2935 uint32_t * max_level,
2936 uint32_t * max_macroblocks,
2937 uint32_t * max_width,
2938 uint32_t * max_height
2939);
2940
2944 typedef uint32_t VdpDecoder;
2945
2962 typedef VdpStatus VdpDecoderCreate(
2963 VdpDevice device,
2964 VdpDecoderProfile profile,
2965 uint32_t width,
2966 uint32_t height,
2967 uint32_t max_references,
2968 /* output parameters follow */
2969 VdpDecoder * decoder
2970);
2971
2977 typedef VdpStatus VdpDecoderDestroy(
2978 VdpDecoder decoder
2979);
2980
2993 typedef VdpStatus VdpDecoderGetParameters(
2994 VdpDecoder decoder,
2995 /* output parameters follow */
2996 VdpDecoderProfile * profile,
2997 uint32_t * width,
2998 uint32_t * height
2999);
3000
3001#define VDP_BITSTREAM_BUFFER_VERSION 0
3002
3007 typedef struct {
3011 uint32_t struct_version;
3013 void const * bitstream;
3015 uint32_t bitstream_bytes;
3016} VdpBitstreamBuffer;
3017
3028 typedef void VdpPictureInfo;
3029
3038 typedef struct {
3043 VdpVideoSurface forward_reference;
3048 VdpVideoSurface backward_reference;
3050 uint32_t slice_count;
3051
3056 uint8_t picture_structure;
3057 uint8_t picture_coding_type;
3058 uint8_t intra_dc_precision;
3059 uint8_t frame_pred_frame_dct;
3060 uint8_t concealment_motion_vectors;
3061 uint8_t intra_vlc_format;
3062 uint8_t alternate_scan;
3063 uint8_t q_scale_type;
3064 uint8_t top_field_first;
3066 uint8_t full_pel_forward_vector;
3068 uint8_t full_pel_backward_vector;
3070 uint8_t f_code[2][2];
3072 uint8_t intra_quantizer_matrix[64];
3074 uint8_t non_intra_quantizer_matrix[64];
3076} VdpPictureInfoMPEG1Or2;
3077
3085 typedef struct {
3090 VdpVideoSurface surface;
3092 VdpBool is_long_term;
3097 VdpBool top_is_reference;
3102 VdpBool bottom_is_reference;
3104 int32_t field_order_cnt[2];
3110 uint16_t frame_idx;
3111} VdpReferenceFrameH264;
3112
3135 typedef struct {
3137 uint32_t slice_count;
3139 int32_t field_order_cnt[2];
3141 VdpBool is_reference;
3142
3147 uint16_t frame_num;
3148 uint8_t field_pic_flag;
3149 uint8_t bottom_field_flag;
3150 uint8_t num_ref_frames;
3151 uint8_t mb_adaptive_frame_field_flag;
3152 uint8_t constrained_intra_pred_flag;
3153 uint8_t weighted_pred_flag;
3154 uint8_t weighted_bipred_idc;
3155 uint8_t frame_mbs_only_flag;
3156 uint8_t transform_8x8_mode_flag;
3157 int8_t chroma_qp_index_offset;
3158 int8_t second_chroma_qp_index_offset;
3159 int8_t pic_init_qp_minus26;
3160 uint8_t num_ref_idx_l0_active_minus1;
3161 uint8_t num_ref_idx_l1_active_minus1;
3162 uint8_t log2_max_frame_num_minus4;
3163 uint8_t pic_order_cnt_type;
3164 uint8_t log2_max_pic_order_cnt_lsb_minus4;
3165 uint8_t delta_pic_order_always_zero_flag;
3166 uint8_t direct_8x8_inference_flag;
3167 uint8_t entropy_coding_mode_flag;
3168 uint8_t pic_order_present_flag;
3169 uint8_t deblocking_filter_control_present_flag;
3170 uint8_t redundant_pic_cnt_present_flag;
3172 uint8_t scaling_lists_4x4[6][16];
3174 uint8_t scaling_lists_8x8[2][64];
3176
3178 VdpReferenceFrameH264 referenceFrames[16];
3179} VdpPictureInfoH264;
3180
3191 typedef struct {
3193 VdpPictureInfoH264 pictureInfo;
3194
3203 uint8_t qpprime_y_zero_transform_bypass_flag;
3208 uint8_t separate_colour_plane_flag;
3210} VdpPictureInfoH264Predictive;
3211
3219 typedef struct {
3224 VdpVideoSurface forward_reference;
3229 VdpVideoSurface backward_reference;
3230
3232 uint32_t slice_count;
3234 uint8_t picture_type;
3236 uint8_t frame_coding_mode;
3237
3243 uint8_t postprocflag;
3245 uint8_t pulldown;
3247 uint8_t interlace;
3249 uint8_t tfcntrflag;
3251 uint8_t finterpflag;
3253 uint8_t psf;
3255 uint8_t dquant;
3257 uint8_t panscan_flag;
3259 uint8_t refdist_flag;
3261 uint8_t quantizer;
3263 uint8_t extended_mv;
3265 uint8_t extended_dmv;
3267 uint8_t overlap;
3269 uint8_t vstransform;
3271 uint8_t loopfilter;
3273 uint8_t fastuvmc;
3275 uint8_t range_mapy_flag;
3276 uint8_t range_mapy;
3278 uint8_t range_mapuv_flag;
3279 uint8_t range_mapuv;
3280
3285 uint8_t multires;
3290 uint8_t syncmarker;
3297 uint8_t rangered;
3302 uint8_t maxbframes;
3304
3310 uint8_t deblockEnable;
3316 uint8_t pquant;
3317} VdpPictureInfoVC1;
3318
3326 typedef struct {
3331 VdpVideoSurface forward_reference;
3336 VdpVideoSurface backward_reference;
3337
3342 int32_t trd[2];
3343 int32_t trb[2];
3344 uint16_t vop_time_increment_resolution;
3345 uint8_t vop_coding_type;
3346 uint8_t vop_fcode_forward;
3347 uint8_t vop_fcode_backward;
3348 uint8_t resync_marker_disable;
3349 uint8_t interlaced;
3350 uint8_t quant_type;
3351 uint8_t quarter_sample;
3352 uint8_t short_video_header;
3354 uint8_t rounding_control;
3355 uint8_t alternate_vertical_scan_flag;
3356 uint8_t top_field_first;
3357 uint8_t intra_quantizer_matrix[64];
3358 uint8_t non_intra_quantizer_matrix[64];
3360} VdpPictureInfoMPEG4Part2;
3361
3368 typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4;
3369
3376 typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5;
3377
3378 typedef struct
3379{
3380 unsigned int width;
3381 unsigned int height;
3382
3383 //Frame Indices
3384 VdpVideoSurface lastReference;
3385 VdpVideoSurface goldenReference;
3386 VdpVideoSurface altReference;
3387
3388 unsigned char colorSpace;
3389
3390 unsigned short profile;
3391 unsigned short frameContextIdx;
3392 unsigned short keyFrame;
3393 unsigned short showFrame;
3394 unsigned short errorResilient;
3395 unsigned short frameParallelDecoding;
3396 unsigned short subSamplingX;
3397 unsigned short subSamplingY;
3398 unsigned short intraOnly;
3399 unsigned short allowHighPrecisionMv;
3400 unsigned short refreshEntropyProbs;
3401
3402 unsigned char refFrameSignBias[4];
3403
3404 unsigned char bitDepthMinus8Luma;
3405 unsigned char bitDepthMinus8Chroma;
3406 unsigned char loopFilterLevel;
3407 unsigned char loopFilterSharpness;
3408
3409 unsigned char modeRefLfEnabled;
3410 unsigned char log2TileColumns;
3411 unsigned char log2TileRows;
3412
3413 unsigned char segmentEnabled;
3414 unsigned char segmentMapUpdate;
3415 unsigned char segmentMapTemporalUpdate;
3416 unsigned char segmentFeatureMode;
3417
3418 unsigned char segmentFeatureEnable[8][4];
3419 short segmentFeatureData[8][4];
3420 unsigned char mbSegmentTreeProbs[7];
3421 unsigned char segmentPredProbs[3];
3422 unsigned char reservedSegment16Bits[2];
3423
3424 int qpYAc;
3425 int qpYDc;
3426 int qpChDc;
3427 int qpChAc;
3428
3429 unsigned int activeRefIdx[3];
3430 unsigned int resetFrameContext;
3431 unsigned int mcompFilterType;
3432 unsigned int mbRefLfDelta[4];
3433 unsigned int mbModeLfDelta[2];
3434 unsigned int uncompressedHeaderSize;
3435 unsigned int compressedHeaderSize;
3436} VdpPictureInfoVP9;
3437
3455 typedef struct {
3460 uint8_t chroma_format_idc;
3462 uint8_t separate_colour_plane_flag;
3463 uint32_t pic_width_in_luma_samples;
3464 uint32_t pic_height_in_luma_samples;
3465 uint8_t bit_depth_luma_minus8;
3466 uint8_t bit_depth_chroma_minus8;
3467 uint8_t log2_max_pic_order_cnt_lsb_minus4;
3470 uint8_t sps_max_dec_pic_buffering_minus1;
3471 uint8_t log2_min_luma_coding_block_size_minus3;
3472 uint8_t log2_diff_max_min_luma_coding_block_size;
3473 uint8_t log2_min_transform_block_size_minus2;
3474 uint8_t log2_diff_max_min_transform_block_size;
3475 uint8_t max_transform_hierarchy_depth_inter;
3476 uint8_t max_transform_hierarchy_depth_intra;
3477 uint8_t scaling_list_enabled_flag;
3481 uint8_t ScalingList4x4[6][16];
3484 uint8_t ScalingList8x8[6][64];
3487 uint8_t ScalingList16x16[6][64];
3490 uint8_t ScalingList32x32[2][64];
3493 uint8_t ScalingListDCCoeff16x16[6];
3496 uint8_t ScalingListDCCoeff32x32[2];
3497 uint8_t amp_enabled_flag;
3498 uint8_t sample_adaptive_offset_enabled_flag;
3499 uint8_t pcm_enabled_flag;
3501 uint8_t pcm_sample_bit_depth_luma_minus1;
3503 uint8_t pcm_sample_bit_depth_chroma_minus1;
3505 uint8_t log2_min_pcm_luma_coding_block_size_minus3;
3507 uint8_t log2_diff_max_min_pcm_luma_coding_block_size;
3509 uint8_t pcm_loop_filter_disabled_flag;
3512 uint8_t num_short_term_ref_pic_sets;
3513 uint8_t long_term_ref_pics_present_flag;
3516 uint8_t num_long_term_ref_pics_sps;
3517 uint8_t sps_temporal_mvp_enabled_flag;
3518 uint8_t strong_intra_smoothing_enabled_flag;
3520
3525 uint8_t dependent_slice_segments_enabled_flag;
3526 uint8_t output_flag_present_flag;
3527 uint8_t num_extra_slice_header_bits;
3528 uint8_t sign_data_hiding_enabled_flag;
3529 uint8_t cabac_init_present_flag;
3530 uint8_t num_ref_idx_l0_default_active_minus1;
3531 uint8_t num_ref_idx_l1_default_active_minus1;
3532 int8_t init_qp_minus26;
3533 uint8_t constrained_intra_pred_flag;
3534 uint8_t transform_skip_enabled_flag;
3535 uint8_t cu_qp_delta_enabled_flag;
3537 uint8_t diff_cu_qp_delta_depth;
3538 int8_t pps_cb_qp_offset;
3539 int8_t pps_cr_qp_offset;
3540 uint8_t pps_slice_chroma_qp_offsets_present_flag;
3541 uint8_t weighted_pred_flag;
3542 uint8_t weighted_bipred_flag;
3543 uint8_t transquant_bypass_enabled_flag;
3544 uint8_t tiles_enabled_flag;
3545 uint8_t entropy_coding_sync_enabled_flag;
3547 uint8_t num_tile_columns_minus1;
3549 uint8_t num_tile_rows_minus1;
3551 uint8_t uniform_spacing_flag;
3555 uint16_t column_width_minus1[20];
3559 uint16_t row_height_minus1[22];
3562 uint8_t loop_filter_across_tiles_enabled_flag;
3563 uint8_t pps_loop_filter_across_slices_enabled_flag;
3564 uint8_t deblocking_filter_control_present_flag;
3567 uint8_t deblocking_filter_override_enabled_flag;
3570 uint8_t pps_deblocking_filter_disabled_flag;
3573 int8_t pps_beta_offset_div2;
3576 int8_t pps_tc_offset_div2;
3577 uint8_t lists_modification_present_flag;
3578 uint8_t log2_parallel_merge_level_minus2;
3579 uint8_t slice_segment_header_extension_present_flag;
3581
3589 uint8_t IDRPicFlag;
3592 uint8_t RAPPicFlag;
3594 uint8_t CurrRpsIdx;
3596 uint32_t NumPocTotalCurr;
3600 uint32_t NumDeltaPocsOfRefRpsIdx;
3608 uint32_t NumShortTermPictureSliceHeaderBits;
3613 uint32_t NumLongTermPictureSliceHeaderBits;
3615
3619 int32_t CurrPicOrderCntVal;
3620
3624 VdpVideoSurface RefPics[16];
3627 int32_t PicOrderCntVal[16];
3631 uint8_t IsLongTerm[16];
3634 uint8_t NumPocStCurrBefore;
3637 uint8_t NumPocStCurrAfter;
3640 uint8_t NumPocLtCurr;
3643 uint8_t RefPicSetStCurrBefore[8];
3646 uint8_t RefPicSetStCurrAfter[8];
3649 uint8_t RefPicSetLtCurr[8];
3650} VdpPictureInfoHEVC;
3651
3659 typedef struct {
3661 VdpPictureInfoHEVC pictureInfo;
3662
3663 /* SPS Range Extensions for Main 444, Main 10, etc. */
3664 uint8_t sps_range_extension_flag;
3665 /* sps extension for transform_skip_rotation_enabled_flag */
3666 uint8_t transformSkipRotationEnableFlag;
3667 /* sps extension for transform_skip_context_enabled_flag */
3668 uint8_t transformSkipContextEnableFlag;
3669 /* sps implicit_rdpcm_enabled_flag */
3670 uint8_t implicitRdpcmEnableFlag;
3671 /* sps explicit_rdpcm_enabled_flag */
3672 uint8_t explicitRdpcmEnableFlag;
3673 /* sps extended_precision_processing_flag,always 0 in current profile */
3674 uint8_t extendedPrecisionProcessingFlag;
3675 /* sps intra_smoothing_disabled_flag */
3676 uint8_t intraSmoothingDisabledFlag;
3677 /* sps high_precision_offsets_enabled_flag */
3678 uint8_t highPrecisionOffsetsEnableFlag;
3679 /* sps persistent_rice_adaptation_enabled_flag */
3680 uint8_t persistentRiceAdaptationEnableFlag;
3681 /* sps cabac_bypass_alignment_enabled_flag, always 0 in current profile */
3682 uint8_t cabacBypassAlignmentEnableFlag;
3683 /* sps intraBlockCopyEnableFlag, always 0 not used by the spec as of now */
3684 uint8_t intraBlockCopyEnableFlag;
3685
3686 /* PPS Range Extensions for Main 444, Main 10, etc. */
3687 uint8_t pps_range_extension_flag;
3688 /* pps extension log2_max_transform_skip_block_size_minus2, 0...5 */
3689 uint8_t log2MaxTransformSkipSize;
3690 /* pps cross_component_prediction_enabled_flag */
3691 uint8_t crossComponentPredictionEnableFlag;
3692 /* pps chroma_qp_adjustment_enabled_flag */
3693 uint8_t chromaQpAdjustmentEnableFlag;
3694 /* pps diff_cu_chroma_qp_adjustment_depth, 0...3 */
3695 uint8_t diffCuChromaQpAdjustmentDepth;
3696 /* pps chroma_qp_adjustment_table_size_minus1+1, 1...6 */
3697 uint8_t chromaQpAdjustmentTableSize;
3698 /* pps log2_sao_offset_scale_luma, max(0,bitdepth-10), */
3699 /* maxBitdepth 16 for future. */
3700 uint8_t log2SaoOffsetScaleLuma;
3701 /* pps log2_sao_offset_scale_chroma */
3702 uint8_t log2SaoOffsetScaleChroma;
3703 /* -[12,+12] */
3704 int8_t cb_qp_adjustment[6];
3705 /* -[12,+12] */
3706 int8_t cr_qp_adjustment[6];
3707
3708} VdpPictureInfoHEVC444;
3709
3710
3718 typedef struct
3719{
3720 unsigned int width;
3721 unsigned int height;
3722
3723 unsigned int frame_offset; // defined as order_hint in AV1 specification
3724
3725 // sequence header
3726 unsigned int profile; // 0 = profile0, 1 = profile1, 2 = profile2
3727 unsigned int use_128x128_superblock; // superblock size 0:64x64, 1: 128x128
3728 unsigned int subsampling_x; // (subsampling_x, _y) 1,1 = 420, 1,0 = 422, 0,0 = 444
3729 unsigned int subsampling_y;
3730 unsigned int mono_chrome; // for monochrome content, mono_chrome = 1 and (subsampling_x, _y) should be 1,1
3731 unsigned int bit_depth_minus8; // bit depth minus 8
3732 unsigned int enable_filter_intra; // tool enable in seq level, 0 : disable 1: frame header control
3733 unsigned int enable_intra_edge_filter; // intra edge filtering process, 0 : disable 1: enabled
3734 unsigned int enable_interintra_compound; // interintra, 0 : not present 1: present
3735 unsigned int enable_masked_compound; // 1: mode info for inter blocks may contain the syntax element compound_type.
3736 // 0: syntax element compound_type will not be present
3737 unsigned int enable_dual_filter; // vertical and horiz filter selection, 1: enable and 0: disable
3738 unsigned int enable_order_hint; // order hint, and related tools, 1: enable and 0: disable
3739 unsigned int order_hint_bits_minus1; // is used to compute OrderHintBits
3740 unsigned int enable_jnt_comp; // joint compound modes, 1: enable and 0: disable
3741 unsigned int enable_superres; // superres in seq level, 0 : disable 1: frame level control
3742 unsigned int enable_cdef; // cdef filtering in seq level, 0 : disable 1: frame level control
3743 unsigned int enable_restoration; // loop restoration filtering in seq level, 0 : disable 1: frame level control
3744 unsigned int enable_fgs; // defined as film_grain_params_present in AV1 specification
3745
3746 // frame header
3747 unsigned int frame_type; // 0:Key frame, 1:Inter frame, 2:intra only, 3:s-frame
3748 unsigned int show_frame; // show_frame = 1 implies that frame should be immediately output once decoded
3749 unsigned int disable_cdf_update; // CDF update during symbol decoding, 1: disabled, 0: enabled
3750 unsigned int allow_screen_content_tools; // 1: intra blocks may use palette encoding, 0: palette encoding is never used
3751 unsigned int force_integer_mv; // 1: motion vectors will always be integers, 0: can contain fractional bits
3752 unsigned int coded_denom; // coded_denom of the superres scale as specified in AV1 specification
3753 unsigned int allow_intrabc; // 1: intra block copy may be used, 0: intra block copy is not allowed
3754 unsigned int allow_high_precision_mv; // 1/8 precision mv enable
3755 unsigned int interp_filter; // interpolation filter. Refer to section 6.8.9 of the AV1 specification Version 1.0.0 with Errata 1
3756 unsigned int switchable_motion_mode ; // defined as is_motion_mode_switchable in AV1 specification
3757 unsigned int use_ref_frame_mvs ; // 1: current frame can use the previous frame mv information, 0: will not use.
3758 unsigned int disable_frame_end_update_cdf ; // 1: indicates that the end of frame CDF update is disabled
3759 unsigned int delta_q_present ; // quantizer index delta values are present in the block level
3760 unsigned int delta_q_res; // left shift which should be applied to decoded quantizer index delta values
3761 unsigned int using_qmatrix ; // 1: quantizer matrix will be used to compute quantizers
3762 unsigned int coded_lossless ; // 1: all segments use lossless coding
3763 unsigned int use_superres ; // 1: superres enabled for frame
3764 unsigned int tx_mode; // 0: ONLY4x4,1:LARGEST,2:SELECT
3765 unsigned int reference_mode ; // 0: SINGLE, 1: SELECT
3766 unsigned int allow_warped_motion ; // 1: allow_warped_motion may be present, 0: allow_warped_motion will not be present
3767 unsigned int reduced_tx_set ; // 1: frame is restricted to subset of the full set of transform types, 0: no such restriction
3768 unsigned int skip_mode ; // 1: most of the mode info is skipped, 0: mode info is not skipped
3769
3770 // tiling info
3771 unsigned int num_tile_cols; // number of tiles across the frame., max is 64
3772 unsigned int num_tile_rows; // number of tiles down the frame., max is 64
3773 unsigned int context_update_tile_id; // specifies which tile to use for the CDF update
3774 unsigned short tile_widths[64]; // Width of each column in superblocks
3775 unsigned short tile_heights[64]; // height of each row in superblocks
3776 unsigned int tile_info[256 * 2]; //AV1_MAX_TILES = 256
3777
3778 // CDEF - refer to section 6.10.14 of the AV1 specification Version 1.0.0 with Errata 1
3779 unsigned char cdef_damping_minus_3; // controls the amount of damping in the deringing filter
3780 unsigned char cdef_bits; // the number of bits needed to specify which CDEF filter to apply
3781 unsigned char cdef_y_strength[8]; // 0-3 bits: y_pri_strength, 4-7 bits y_sec_strength
3782 unsigned char cdef_uv_strength[8]; // 0-3 bits: uv_pri_strength, 4-7 bits uv_sec_strength
3783
3784 // SkipModeFrames
3785 unsigned char SkipModeFrame0; // specifies the frames to use for compound prediction when skip_mode is equal to 1.
3786 unsigned char SkipModeFrame1;
3787
3788 // qp information - refer to section 6.8.11 of the AV1 specification Version 1.0.0 with Errata 1
3789 unsigned char base_qindex; // indicates the base frame qindex. Defined as base_q_idx in AV1 specification
3790 char qp_y_dc_delta_q; // indicates the Y DC quantizer relative to base_q_idx. Defined as DeltaQYDc in AV1 specification
3791 char qp_u_dc_delta_q; // indicates the U DC quantizer relative to base_q_idx. Defined as DeltaQUDc in AV1 specification
3792 char qp_v_dc_delta_q; // indicates the V DC quantizer relative to base_q_idx. Defined as DeltaQVDc in AV1 specification
3793 char qp_u_ac_delta_q; // indicates the U AC quantizer relative to base_q_idx. Defined as DeltaQUAc in AV1 specification
3794 char qp_v_ac_delta_q; // indicates the V AC quantizer relative to base_q_idx. Defined as DeltaQVAc in AV1 specification
3795 unsigned char qm_y; // specifies the level in the quantizer matrix that should be used for luma plane decoding
3796 unsigned char qm_u; // specifies the level in the quantizer matrix that should be used for chroma U plane decoding
3797 unsigned char qm_v; // specifies the level in the quantizer matrix that should be used for chroma V plane decoding
3798
3799 // segmentation - refer to section 6.8.13 of the AV1 specification Version 1.0.0 with Errata 1
3800 unsigned char segmentation_enabled ; // 1 indicates that this frame makes use of the segmentation tool
3801 unsigned char segmentation_update_map ; // 1 indicates that the segmentation map are updated during the decoding of this frame
3802 unsigned char segmentation_update_data ; // 1 indicates that new parameters are about to be specified for each segment
3803 unsigned char segmentation_temporal_update ; // 1 indicates that the updates to the segmentation map are coded relative to the existing segmentation map
3804 short segmentation_feature_data[8][8]; // specifies the feature data for a segment feature
3805 unsigned char segmentation_feature_mask[8]; // indicates that the corresponding feature is unused or feature value is coded
3806
3807 // loopfilter - refer to section 6.8.10 of the AV1 specification Version 1.0.0 with Errata 1
3808 unsigned char loop_filter_level[2]; // contains loop filter strength values
3809 unsigned char loop_filter_level_u; // loop filter strength value of U plane
3810 unsigned char loop_filter_level_v; // loop filter strength value of V plane
3811 unsigned char loop_filter_sharpness; // indicates the sharpness level
3812 char loop_filter_ref_deltas[8]; // contains the adjustment needed for the filter level based on the chosen reference frame
3813 char loop_filter_mode_deltas[2]; // contains the adjustment needed for the filter level based on the chosen mode
3814 unsigned char loop_filter_delta_enabled ; // indicates that the filter level depends on the mode and reference frame used to predict a block
3815 unsigned char loop_filter_delta_update ; // indicates that additional syntax elements are present that specify which mode and
3816 // reference frame deltas are to be updated
3817 unsigned char delta_lf_present ; // specifies whether loop filter delta values are present in the block level
3818 unsigned char delta_lf_res; // specifies the left shift to apply to the decoded loop filter values
3819 unsigned char delta_lf_multi ; // separate loop filter deltas for Hy,Vy,U,V edges
3820 unsigned char reserved4_2bits; // reserved bits; must be set to 0
3821
3822 // restoration - refer to section 6.10.15 of the AV1 specification Version 1.0.0 with Errata 1
3823 unsigned char lr_unit_size[3]; // specifies the size of loop restoration units: 0: 32, 1: 64, 2: 128, 3: 256
3824 unsigned char lr_type[3] ; // used to compute FrameRestorationType
3825
3826 // reference frames
3827 unsigned int primary_ref_frame; // specifies which reference frame contains the CDF values and other state that should be
3828 // loaded at the start of the frame
3829 unsigned int ref_frame_map[8]; // frames in dpb that can be used as reference for current or future frames
3830
3831 unsigned char temporal_layer_id; // temporal layer id
3832 unsigned char spatial_layer_id; // spatial layer id
3833
3834 // ref frame list
3835 struct
3836 {
3837 unsigned int width;
3838 unsigned int height;
3839 unsigned int index;
3840 } ref_frame[7]; // frames used as reference frame for current frame.
3841
3842 // global motion
3843 struct {
3844 unsigned char invalid ;
3845 unsigned char wmtype; // defined as GmType in AV1 specification
3846 int wmmat[6]; // defined as gm_params[] in AV1 specification
3847 } global_motion[7]; // global motion params for reference frames
3848
3849 // film grain params - refer to section 6.8.20 of the AV1 specification Version 1.0.0 with Errata 1
3850 unsigned short apply_grain ;
3851 unsigned short overlap_flag ;
3852 unsigned short scaling_shift_minus8;
3853 unsigned short chroma_scaling_from_luma ;
3854 unsigned short ar_coeff_lag;
3855 unsigned short ar_coeff_shift_minus6;
3856 unsigned short grain_scale_shift;
3857 unsigned short clip_to_restricted_range ;
3858 unsigned char num_y_points;
3859 unsigned char scaling_points_y[14][2];
3860 unsigned char num_cb_points;
3861 unsigned char scaling_points_cb[10][2];
3862 unsigned char num_cr_points;
3863 unsigned char scaling_points_cr[10][2];
3864 unsigned short random_seed;
3865 short ar_coeffs_y[24];
3866 short ar_coeffs_cb[25];
3867 short ar_coeffs_cr[25];
3868 unsigned char cb_mult;
3869 unsigned char cb_luma_mult;
3870 short cb_offset;
3871 unsigned char cr_mult;
3872 unsigned char cr_luma_mult;
3873 short cr_offset;
3874
3875} VdpPictureInfoAV1;
3876
3877
3886 typedef VdpPictureInfoHEVC444 VdpPictureInfoHEVCRangeExt;
3887
3906 typedef VdpStatus VdpDecoderRender(
3907 VdpDecoder decoder,
3908 VdpVideoSurface target,
3909 VdpPictureInfo const * picture_info,
3910 uint32_t bitstream_buffer_count,
3911 VdpBitstreamBuffer const * bitstream_buffers
3912);
3913
3915
3967
3992 typedef uint32_t VdpVideoMixerFeature;
3993
4005#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL ((VdpVideoMixerFeature)0)
4018#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL ((VdpVideoMixerFeature)1)
4027#define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE ((VdpVideoMixerFeature)2)
4035#define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION ((VdpVideoMixerFeature)3)
4043#define VDP_VIDEO_MIXER_FEATURE_SHARPNESS ((VdpVideoMixerFeature)4)
4056#define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY ((VdpVideoMixerFeature)5)
4078#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1 ((VdpVideoMixerFeature)11)
4085#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2 ((VdpVideoMixerFeature)12)
4092#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3 ((VdpVideoMixerFeature)13)
4099#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4 ((VdpVideoMixerFeature)14)
4106#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5 ((VdpVideoMixerFeature)15)
4113#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6 ((VdpVideoMixerFeature)16)
4120#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7 ((VdpVideoMixerFeature)17)
4127#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8 ((VdpVideoMixerFeature)18)
4134#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9 ((VdpVideoMixerFeature)19)
4135
4148 typedef uint32_t VdpVideoMixerParameter;
4149
4162#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH ((VdpVideoMixerParameter)0)
4175#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT ((VdpVideoMixerParameter)1)
4189#define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE ((VdpVideoMixerParameter)2)
4208#define VDP_VIDEO_MIXER_PARAMETER_LAYERS ((VdpVideoMixerParameter)3)
4209
4222 typedef uint32_t VdpVideoMixerAttribute;
4223
4237#define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR ((VdpVideoMixerAttribute)0)
4265#define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX ((VdpVideoMixerAttribute)1)
4278#define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL ((VdpVideoMixerAttribute)2)
4294#define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL ((VdpVideoMixerAttribute)3)
4306#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA ((VdpVideoMixerAttribute)4)
4318#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA ((VdpVideoMixerAttribute)5)
4333#define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE ((VdpVideoMixerAttribute)6)
4334
4344 typedef VdpStatus VdpVideoMixerQueryFeatureSupport(
4345 VdpDevice device,
4346 VdpVideoMixerFeature feature,
4347 /* output parameters follow */
4348 VdpBool * is_supported
4349);
4350
4361 typedef VdpStatus VdpVideoMixerQueryParameterSupport(
4362 VdpDevice device,
4363 VdpVideoMixerParameter parameter,
4364 /* output parameters follow */
4365 VdpBool * is_supported
4366);
4367
4377 typedef VdpStatus VdpVideoMixerQueryAttributeSupport(
4378 VdpDevice device,
4379 VdpVideoMixerAttribute attribute,
4380 /* output parameters follow */
4381 VdpBool * is_supported
4382);
4383
4394 typedef VdpStatus VdpVideoMixerQueryParameterValueRange(
4395 VdpDevice device,
4396 VdpVideoMixerParameter parameter,
4397 /* output parameters follow */
4398 void * min_value,
4399 void * max_value
4400);
4401
4412 typedef VdpStatus VdpVideoMixerQueryAttributeValueRange(
4413 VdpDevice device,
4414 VdpVideoMixerAttribute attribute,
4415 /* output parameters follow */
4416 void * min_value,
4417 void * max_value
4418);
4419
4423 typedef uint32_t VdpVideoMixer;
4424
4445 typedef VdpStatus VdpVideoMixerCreate(
4446 VdpDevice device,
4447 // The set of features to request
4448 uint32_t feature_count,
4449 VdpVideoMixerFeature const * features,
4450 // The parameters used during creation
4451 uint32_t parameter_count,
4452 VdpVideoMixerParameter const * parameters,
4453 void const * const * parameter_values,
4454 /* output parameters follow */
4455 VdpVideoMixer * mixer
4456);
4457
4468 typedef VdpStatus VdpVideoMixerSetFeatureEnables(
4469 VdpVideoMixer mixer,
4470 uint32_t feature_count,
4471 VdpVideoMixerFeature const * features,
4472 VdpBool const * feature_enables
4473);
4474
4487 typedef VdpStatus VdpVideoMixerSetAttributeValues(
4488 VdpVideoMixer mixer,
4489 uint32_t attribute_count,
4490 VdpVideoMixerAttribute const * attributes,
4491 void const * const * attribute_values
4492);
4493
4505 typedef VdpStatus VdpVideoMixerGetFeatureSupport(
4506 VdpVideoMixer mixer,
4507 uint32_t feature_count,
4508 VdpVideoMixerFeature const * features,
4509 /* output parameters follow */
4510 VdpBool * feature_supports
4511);
4512
4522 typedef VdpStatus VdpVideoMixerGetFeatureEnables(
4523 VdpVideoMixer mixer,
4524 uint32_t feature_count,
4525 VdpVideoMixerFeature const * features,
4526 /* output parameters follow */
4527 VdpBool * feature_enables
4528);
4529
4542 typedef VdpStatus VdpVideoMixerGetParameterValues(
4543 VdpVideoMixer mixer,
4544 uint32_t parameter_count,
4545 VdpVideoMixerParameter const * parameters,
4546 /* output parameters follow */
4547 void * const * parameter_values
4548);
4549
4562 typedef VdpStatus VdpVideoMixerGetAttributeValues(
4563 VdpVideoMixer mixer,
4564 uint32_t attribute_count,
4565 VdpVideoMixerAttribute const * attributes,
4566 /* output parameters follow */
4567 void * const * attribute_values
4568);
4569
4575 typedef VdpStatus VdpVideoMixerDestroy(
4576 VdpVideoMixer mixer
4577);
4578
4584 typedef enum {
4588 VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD,
4593 VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD,
4597 VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME,
4598} VdpVideoMixerPictureStructure;
4599
4600#define VDP_LAYER_VERSION 0
4601
4606 typedef struct {
4610 uint32_t struct_version;
4614 VdpOutputSurface source_surface;
4619 VdpRect const * source_rect;
4628 VdpRect const * destination_rect;
4629} VdpLayer;
4630
4697 typedef VdpStatus VdpVideoMixerRender(
4698 VdpVideoMixer mixer,
4699 VdpOutputSurface background_surface,
4700 VdpRect const * background_source_rect,
4701 VdpVideoMixerPictureStructure current_picture_structure,
4702 uint32_t video_surface_past_count,
4703 VdpVideoSurface const * video_surface_past,
4704 VdpVideoSurface video_surface_current,
4705 uint32_t video_surface_future_count,
4706 VdpVideoSurface const * video_surface_future,
4707 VdpRect const * video_source_rect,
4708 VdpOutputSurface destination_surface,
4709 VdpRect const * destination_rect,
4710 VdpRect const * destination_video_rect,
4711 uint32_t layer_count,
4712 VdpLayer const * layers
4713);
4714
4716
4753
4765 typedef uint64_t VdpTime;
4766
4775 typedef uint32_t VdpPresentationQueueTarget;
4776
4782 typedef VdpStatus VdpPresentationQueueTargetDestroy(
4783 VdpPresentationQueueTarget presentation_queue_target
4784);
4785
4790 typedef uint32_t VdpPresentationQueue;
4791
4803 typedef VdpStatus VdpPresentationQueueCreate(
4804 VdpDevice device,
4805 VdpPresentationQueueTarget presentation_queue_target,
4806 /* output parameters follow */
4807 VdpPresentationQueue * presentation_queue
4808);
4809
4815 typedef VdpStatus VdpPresentationQueueDestroy(
4816 VdpPresentationQueue presentation_queue
4817);
4818
4828 typedef VdpStatus VdpPresentationQueueSetBackgroundColor(
4829 VdpPresentationQueue presentation_queue,
4830 VdpColor * const background_color
4831);
4832
4838 typedef VdpStatus VdpPresentationQueueGetBackgroundColor(
4839 VdpPresentationQueue presentation_queue,
4840 VdpColor * background_color
4841);
4842
4850 typedef VdpStatus VdpPresentationQueueGetTime(
4851 VdpPresentationQueue presentation_queue,
4852 /* output parameters follow */
4853 VdpTime * current_time
4854);
4855
4896 typedef VdpStatus VdpPresentationQueueDisplay(
4897 VdpPresentationQueue presentation_queue,
4898 VdpOutputSurface surface,
4899 uint32_t clip_width,
4900 uint32_t clip_height,
4901 VdpTime earliest_presentation_time
4902);
4903
4919 typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(
4920 VdpPresentationQueue presentation_queue,
4921 VdpOutputSurface surface,
4922 /* output parameters follow */
4923 VdpTime * first_presentation_time
4924);
4925
4930 typedef enum {
4932 VDP_PRESENTATION_QUEUE_STATUS_IDLE,
4934 VDP_PRESENTATION_QUEUE_STATUS_QUEUED,
4936 VDP_PRESENTATION_QUEUE_STATUS_VISIBLE,
4937} VdpPresentationQueueStatus;
4938
4950 typedef VdpStatus VdpPresentationQueueQuerySurfaceStatus(
4951 VdpPresentationQueue presentation_queue,
4952 VdpOutputSurface surface,
4953 /* output parameters follow */
4954 VdpPresentationQueueStatus * status,
4955 VdpTime * first_presentation_time
4956);
4957
4959
5003
5012 typedef void VdpPreemptionCallback(
5013 VdpDevice device,
5014 void * context
5015);
5016
5027 typedef VdpStatus VdpPreemptionCallbackRegister(
5028 VdpDevice device,
5029 VdpPreemptionCallback callback,
5030 void * context
5031);
5032
5034
5045
5050 typedef uint32_t VdpFuncId;
5051
5053#define VDP_FUNC_ID_GET_ERROR_STRING ((VdpFuncId)0)
5055#define VDP_FUNC_ID_GET_PROC_ADDRESS ((VdpFuncId)1)
5057#define VDP_FUNC_ID_GET_API_VERSION ((VdpFuncId)2)
5059#define VDP_FUNC_ID_GET_INFORMATION_STRING ((VdpFuncId)4)
5061#define VDP_FUNC_ID_DEVICE_DESTROY ((VdpFuncId)5)
5063#define VDP_FUNC_ID_GENERATE_CSC_MATRIX ((VdpFuncId)6)
5065#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)7)
5067#define VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)8)
5069#define VDP_FUNC_ID_VIDEO_SURFACE_CREATE ((VdpFuncId)9)
5071#define VDP_FUNC_ID_VIDEO_SURFACE_DESTROY ((VdpFuncId)10)
5073#define VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS ((VdpFuncId)11)
5075#define VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR ((VdpFuncId)12)
5077#define VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)13)
5079#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)14)
5081#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES ((VdpFuncId)15)
5083#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES ((VdpFuncId)16)
5085#define VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES ((VdpFuncId)17)
5087#define VDP_FUNC_ID_OUTPUT_SURFACE_CREATE ((VdpFuncId)18)
5089#define VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY ((VdpFuncId)19)
5091#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS ((VdpFuncId)20)
5093#define VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE ((VdpFuncId)21)
5095#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)22)
5097#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED ((VdpFuncId)23)
5099#define VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR ((VdpFuncId)24)
5101#define VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES ((VdpFuncId)25)
5103#define VDP_FUNC_ID_BITMAP_SURFACE_CREATE ((VdpFuncId)26)
5105#define VDP_FUNC_ID_BITMAP_SURFACE_DESTROY ((VdpFuncId)27)
5107#define VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS ((VdpFuncId)28)
5109#define VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE ((VdpFuncId)29)
5111#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE ((VdpFuncId)33)
5113#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE ((VdpFuncId)34)
5115#define VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA ((VdpFuncId)35)
5117#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES ((VdpFuncId)36)
5119#define VDP_FUNC_ID_DECODER_CREATE ((VdpFuncId)37)
5121#define VDP_FUNC_ID_DECODER_DESTROY ((VdpFuncId)38)
5123#define VDP_FUNC_ID_DECODER_GET_PARAMETERS ((VdpFuncId)39)
5125#define VDP_FUNC_ID_DECODER_RENDER ((VdpFuncId)40)
5127#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT ((VdpFuncId)41)
5129#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT ((VdpFuncId)42)
5131#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT ((VdpFuncId)43)
5133#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE ((VdpFuncId)44)
5135#define VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE ((VdpFuncId)45)
5137#define VDP_FUNC_ID_VIDEO_MIXER_CREATE ((VdpFuncId)46)
5139#define VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES ((VdpFuncId)47)
5141#define VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES ((VdpFuncId)48)
5143#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT ((VdpFuncId)49)
5145#define VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES ((VdpFuncId)50)
5147#define VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES ((VdpFuncId)51)
5149#define VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES ((VdpFuncId)52)
5151#define VDP_FUNC_ID_VIDEO_MIXER_DESTROY ((VdpFuncId)53)
5153#define VDP_FUNC_ID_VIDEO_MIXER_RENDER ((VdpFuncId)54)
5155#define VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY ((VdpFuncId)55)
5157#define VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE ((VdpFuncId)56)
5159#define VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY ((VdpFuncId)57)
5161#define VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR ((VdpFuncId)58)
5163#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR ((VdpFuncId)59)
5165#define VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME ((VdpFuncId)62)
5167#define VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY ((VdpFuncId)63)
5169#define VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE ((VdpFuncId)64)
5171#define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65)
5173#define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66)
5175#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67)
5176
5177#define VDP_FUNC_ID_BASE_WINSYS 0x1000
5178
5188 typedef VdpStatus VdpGetProcAddress(
5189 VdpDevice device,
5190 VdpFuncId function_id,
5191 /* output parameters follow */
5192 void * * function_pointer
5193);
5194
5197
5204
5205#ifdef __cplusplus
5206}
5207#endif
5208
5209#endif
5210
VdpBitmapSurfacePutBitsNative
VdpStatus VdpBitmapSurfacePutBitsNative(VdpBitmapSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpBitmapSurface.
Definition vdpau.h:2309
VdpBitmapSurfaceGetParameters
VdpStatus VdpBitmapSurfaceGetParameters(VdpBitmapSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height, VdpBool *frequently_accessed)
Retrieve the parameters used to create a VdpBitmapSurface.
Definition vdpau.h:2281
VdpBitmapSurfaceCreate
VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
Create a VdpBitmapSurface.
Definition vdpau.h:2251
VdpBitmapSurfaceDestroy
VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
Destroy a VdpBitmapSurface.
Definition vdpau.h:2266
VdpBitmapSurfaceQueryCapabilities
VdpStatus VdpBitmapSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpBitmapSurface capabilities.
Definition vdpau.h:2219
VdpBitmapSurface
uint32_t VdpBitmapSurface
An opaque handle representing a VdpBitmapSurface object.
Definition vdpau.h:2232
VdpColorStandard
uint32_t VdpColorStandard
YCbCr color space specification.
Definition vdpau.h:1632
VdpGenerateCSCMatrix
VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
Generate a color space conversion matrix.
Definition vdpau.h:1649
VdpCSCMatrix
float VdpCSCMatrix[3][4]
Storage for a color space conversion matrix.
Definition vdpau.h:1587
VdpDecoderQueryCapabilities
VdpStatus VdpDecoderQueryCapabilities(VdpDevice device, VdpDecoderProfile profile, VdpBool *is_supported, uint32_t *max_level, uint32_t *max_macroblocks, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpDecoder capabilities.
Definition vdpau.h:2930
VdpDecoderCapability
VdpDecoderCapability
Definition vdpau.h:2877
VdpPictureInfoDivX4
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
Picture parameter information for a DivX 4 picture.
Definition vdpau.h:3368
VdpVideoSurfaceSupportedPictureStructure
VdpVideoSurfaceSupportedPictureStructure
Definition vdpau.h:2872
VdpPictureInfoDivX5
VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
Picture parameter information for a DivX 5 picture.
Definition vdpau.h:3376
VdpDecoderGetParameters
VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpDecoder.
Definition vdpau.h:2993
VdpPictureInfoHEVCRangeExt
VdpPictureInfoHEVC444 VdpPictureInfoHEVCRangeExt
Picture parameter information for HEVC FormatRangeExtensions picture.
Definition vdpau.h:3886
VdpDecoderProfile
uint32_t VdpDecoderProfile
The set of all known compressed video formats, and associated profiles, that may be decoded.
Definition vdpau.h:2613
VdpDecoderQueryProfileCapability
VdpStatus VdpDecoderQueryProfileCapability(VdpDevice device, VdpDecoderProfile profile, VdpDecoderCapability capability, void *capability_value)
Query the supported value of the requested capability, for the specified profile on the specified dev...
Definition vdpau.h:2904
VdpDecoderDestroy
VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
Destroy a VdpDecoder.
Definition vdpau.h:2977
VdpDecoder
uint32_t VdpDecoder
An opaque handle representing a VdpDecoder object.
Definition vdpau.h:2944
VdpDecoderCreate
VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
Create a VdpDecoder.
Definition vdpau.h:2962
VdpDecoderRender
VdpStatus VdpDecoderRender(VdpDecoder decoder, VdpVideoSurface target, VdpPictureInfo const *picture_info, uint32_t bitstream_buffer_count, VdpBitstreamBuffer const *bitstream_buffers)
Decode a compressed field/frame and render the result into a VdpVideoSurface.
Definition vdpau.h:3906
VdpPictureInfo
void VdpPictureInfo
A generic "picture information" type.
Definition vdpau.h:3028
VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES
@ VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES
Definition vdpau.h:2890
VDP_DECODER_PROFILE_MAX_WIDTH
@ VDP_DECODER_PROFILE_MAX_WIDTH
Definition vdpau.h:2880
VDP_DECODER_PROFILE_MAX_HEIGHT
@ VDP_DECODER_PROFILE_MAX_HEIGHT
Definition vdpau.h:2881
VDP_DECODER_PROFILE_MAX_MACROBLOCKS
@ VDP_DECODER_PROFILE_MAX_MACROBLOCKS
Definition vdpau.h:2879
VDP_DECODER_PROFILE_MAX_LEVEL
@ VDP_DECODER_PROFILE_MAX_LEVEL
Definition vdpau.h:2878
VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE
@ VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE
Definition vdpau.h:2882
VDP_VIDEO_SURFACE_FRAME_STRUCTURE
@ VDP_VIDEO_SURFACE_FRAME_STRUCTURE
Definition vdpau.h:2874
VDP_VIDEO_SURFACE_FIELD_STRUCTURE
@ VDP_VIDEO_SURFACE_FIELD_STRUCTURE
Definition vdpau.h:2873
VdpDevice
uint32_t VdpDevice
An opaque handle representing a VdpDevice object.
Definition vdpau.h:1538
VdpDeviceDestroy
VdpStatus VdpDeviceDestroy(VdpDevice device)
Destroy a VdpDevice.
Definition vdpau.h:1545
VdpOutputSurfaceGetBitsNative
VdpStatus VdpOutputSurfaceGetBitsNative(VdpOutputSurface surface, VdpRect const *source_rect, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpOutputSurface to application memory in the surface's native format.
Definition vdpau.h:2067
VdpColorTableFormat
uint32_t VdpColorTableFormat
The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
Definition vdpau.h:1898
VdpOutputSurfacePutBitsYCbCr
VdpStatus VdpOutputSurfacePutBitsYCbCr(VdpOutputSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect, VdpCSCMatrix const *csc_matrix)
Copy image data from application memory in a specific YCbCr format to a VdpOutputSurface.
Definition vdpau.h:2160
VdpOutputSurface
uint32_t VdpOutputSurface
An opaque handle representing a VdpOutputSurface object.
Definition vdpau.h:1999
VdpOutputSurfacePutBitsNative
VdpStatus VdpOutputSurfacePutBitsNative(VdpOutputSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
Copy image data from application memory in the surface's native format to a VdpOutputSurface.
Definition vdpau.h:2093
VdpOutputSurfaceCreate
VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
Create a VdpOutputSurface.
Definition vdpau.h:2013
VdpOutputSurfaceQueryCapabilities
VdpStatus VdpOutputSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpOutputSurface capabilities.
Definition vdpau.h:1926
VdpOutputSurfaceQueryGetPutBitsNativeCapabilities
VdpStatus VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data matching ...
Definition vdpau.h:1945
VdpOutputSurfaceQueryPutBitsIndexedCapabilities
VdpStatus VdpOutputSurfaceQueryPutBitsIndexedCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpIndexedFormat bits_indexed_format, VdpColorTableFormat color_table_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition vdpau.h:1966
VdpOutputSurfacePutBitsIndexed
VdpStatus VdpOutputSurfacePutBitsIndexed(VdpOutputSurface surface, VdpIndexedFormat source_indexed_format, void const *const *source_data, uint32_t const *source_pitch, VdpRect const *destination_rect, VdpColorTableFormat color_table_format, void const *color_table)
Copy image data from application memory in a specific indexed format to a VdpOutputSurface.
Definition vdpau.h:2125
VdpOutputSurfaceGetParameters
VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpOutputSurface.
Definition vdpau.h:2040
VdpOutputSurfaceDestroy
VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
Destroy a VdpOutputSurface.
Definition vdpau.h:2027
VdpOutputSurfaceQueryPutBitsYCbCrCapabilities
VdpStatus VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's capability to perform a PutBits operation using application data in a spec...
Definition vdpau.h:1987
VdpOutputSurfaceRenderOutputSurface
VdpStatus VdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpOutputSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpOutputSurface into a sub-rectangle of another VdpOutputSurface; Out...
Definition vdpau.h:2503
VdpOutputSurfaceRenderBlendFactor
VdpOutputSurfaceRenderBlendFactor
The blending equation factors.
Definition vdpau.h:2332
VdpOutputSurfaceRenderBlendEquation
VdpOutputSurfaceRenderBlendEquation
The blending equations.
Definition vdpau.h:2354
VdpOutputSurfaceRenderBitmapSurface
VdpStatus VdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpBitmapSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
Composite a sub-rectangle of a VdpBitmapSurface into a sub-rectangle of a VdpOutputSurface; Output Su...
Definition vdpau.h:2583
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA
Definition vdpau.h:2337
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE
Definition vdpau.h:2334
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA
Definition vdpau.h:2339
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR
Definition vdpau.h:2335
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR
Definition vdpau.h:2342
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE
Definition vdpau.h:2343
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
Definition vdpau.h:2345
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
Definition vdpau.h:2340
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO
Definition vdpau.h:2333
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR
Definition vdpau.h:2341
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR
Definition vdpau.h:2336
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
Definition vdpau.h:2338
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA
Definition vdpau.h:2346
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
Definition vdpau.h:2347
VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR
Definition vdpau.h:2344
VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN
Definition vdpau.h:2358
VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT
Definition vdpau.h:2356
VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX
Definition vdpau.h:2359
VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD
Definition vdpau.h:2357
VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT
@ VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT
Definition vdpau.h:2355
VdpPresentationQueueGetTime
VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
Retrieve the presentation queue's "current" time.
Definition vdpau.h:4850
VdpPresentationQueueQuerySurfaceStatus
VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
Poll the current queue status of a surface.
Definition vdpau.h:4950
VdpPresentationQueueTarget
uint32_t VdpPresentationQueueTarget
An opaque handle representing the location where video will be presented.
Definition vdpau.h:4775
VdpPresentationQueueSetBackgroundColor
VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
Configure the background color setting.
Definition vdpau.h:4828
VdpPresentationQueue
uint32_t VdpPresentationQueue
An opaque handle representing a presentation queue object.
Definition vdpau.h:4790
VdpPresentationQueueDisplay
VdpStatus VdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, uint32_t clip_width, uint32_t clip_height, VdpTime earliest_presentation_time)
Enter a surface into the presentation queue.
Definition vdpau.h:4896
VdpPresentationQueueDestroy
VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
Destroy a VdpPresentationQueue.
Definition vdpau.h:4815
VdpPresentationQueueGetBackgroundColor
VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
Retrieve the current background color setting.
Definition vdpau.h:4838
VdpPresentationQueueBlockUntilSurfaceIdle
VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
Wait for a surface to finish being displayed.
Definition vdpau.h:4919
VdpPresentationQueueCreate
VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
Create a VdpPresentationQueue.
Definition vdpau.h:4803
VdpTime
uint64_t VdpTime
The representation of a point in time.
Definition vdpau.h:4765
VdpPresentationQueueTargetDestroy
VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
Destroy a VdpPresentationQueueTarget.
Definition vdpau.h:4782
VdpPresentationQueueStatus
VdpPresentationQueueStatus
The status of a surface within a presentation queue.
Definition vdpau.h:4930
VDP_PRESENTATION_QUEUE_STATUS_QUEUED
@ VDP_PRESENTATION_QUEUE_STATUS_QUEUED
Definition vdpau.h:4934
VDP_PRESENTATION_QUEUE_STATUS_IDLE
@ VDP_PRESENTATION_QUEUE_STATUS_IDLE
Definition vdpau.h:4932
VDP_PRESENTATION_QUEUE_STATUS_VISIBLE
@ VDP_PRESENTATION_QUEUE_STATUS_VISIBLE
Definition vdpau.h:4936
VdpVideoMixerGetParameterValues
VdpStatus VdpVideoMixerGetParameterValues(VdpVideoMixer mixer, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void *const *parameter_values)
Retrieve parameter values given at creation time.
Definition vdpau.h:4542
VdpVideoMixerGetAttributeValues
VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
Retrieve current attribute values.
Definition vdpau.h:4562
VdpVideoMixerQueryAttributeSupport
VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
Query the implementation's support for a specific attribute.
Definition vdpau.h:4377
VdpVideoMixerQueryFeatureSupport
VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
Query the implementation's support for a specific feature.
Definition vdpau.h:4344
VdpVideoMixerFeature
uint32_t VdpVideoMixerFeature
A VdpVideoMixer feature that must be requested at creation time to be used.
Definition vdpau.h:3992
VdpVideoMixer
uint32_t VdpVideoMixer
An opaque handle representing a VdpVideoMixer object.
Definition vdpau.h:4423
VdpVideoMixerQueryParameterSupport
VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
Query the implementation's support for a specific parameter.
Definition vdpau.h:4361
VdpVideoMixerQueryAttributeValueRange
VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
Query the implementation's supported for a specific attribute.
Definition vdpau.h:4412
VdpVideoMixerParameter
uint32_t VdpVideoMixerParameter
A VdpVideoMixer creation parameter.
Definition vdpau.h:4148
VdpVideoMixerRender
VdpStatus VdpVideoMixerRender(VdpVideoMixer mixer, VdpOutputSurface background_surface, VdpRect const *background_source_rect, VdpVideoMixerPictureStructure current_picture_structure, uint32_t video_surface_past_count, VdpVideoSurface const *video_surface_past, VdpVideoSurface video_surface_current, uint32_t video_surface_future_count, VdpVideoSurface const *video_surface_future, VdpRect const *video_source_rect, VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpRect const *destination_video_rect, uint32_t layer_count, VdpLayer const *layers)
Perform a video post-processing and compositing operation.
Definition vdpau.h:4697
VdpVideoMixerAttribute
uint32_t VdpVideoMixerAttribute
An adjustable attribute of VdpVideoMixer operation.
Definition vdpau.h:4222
VdpVideoMixerCreate
VdpStatus VdpVideoMixerCreate(VdpDevice device, uint32_t feature_count, VdpVideoMixerFeature const *features, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void const *const *parameter_values, VdpVideoMixer *mixer)
Create a VdpVideoMixer.
Definition vdpau.h:4445
VdpVideoMixerGetFeatureSupport
VdpStatus VdpVideoMixerGetFeatureSupport(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_supports)
Retrieve whether features were requested at creation time.
Definition vdpau.h:4505
VdpVideoMixerSetAttributeValues
VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
Set attribute values.
Definition vdpau.h:4487
VdpVideoMixerSetFeatureEnables
VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
Enable or disable features.
Definition vdpau.h:4468
VdpVideoMixerQueryParameterValueRange
VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
Query the implementation's supported for a specific parameter.
Definition vdpau.h:4394
VdpVideoMixerPictureStructure
VdpVideoMixerPictureStructure
The structure of the picture present in a VdpVideoSurface.
Definition vdpau.h:4584
VdpVideoMixerGetFeatureEnables
VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
Retrieve whether features are enabled.
Definition vdpau.h:4522
VdpVideoMixerDestroy
VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
Destroy a VdpVideoMixer.
Definition vdpau.h:4575
VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD
Definition vdpau.h:4588
VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME
Definition vdpau.h:4597
VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD
@ VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD
Definition vdpau.h:4593
VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities
VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
Query the implementation's VdpVideoSurface GetBits/PutBits capabilities.
Definition vdpau.h:1720
VdpVideoSurfaceDestroy
VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
Destroy a VdpVideoSurface.
Definition vdpau.h:1793
VdpVideoSurfacePutBitsYCbCr
VdpStatus VdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches)
Copy image data from application memory in a specific YCbCr format to a VdpVideoSurface.
Definition vdpau.h:1857
VdpVideoSurfaceCreate
VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
Create a VdpVideoSurface.
Definition vdpau.h:1779
VdpVideoSurfaceGetParameters
VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
Retrieve the parameters used to create a VdpVideoSurface.
Definition vdpau.h:1806
VdpVideoSurfaceQueryCapabilities
VdpStatus VdpVideoSurfaceQueryCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
Query the implementation's VdpVideoSurface capabilities.
Definition vdpau.h:1700
VdpVideoSurface
uint32_t VdpVideoSurface
An opaque handle representing a VdpVideoSurface object.
Definition vdpau.h:1732
VdpVideoSurfaceGetBitsYCbCr
VdpStatus VdpVideoSurfaceGetBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat destination_ycbcr_format, void *const *destination_data, uint32_t const *destination_pitches)
Copy image data from a VdpVideoSurface to application memory in a specified YCbCr format.
Definition vdpau.h:1832
VdpBool
int VdpBool
A boolean value, holding VDP_TRUE or VDP_FALSE.
Definition vdpau.h:813
VdpPreemptionCallbackRegister
VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
Configure the display preemption callback.
Definition vdpau.h:5027
VdpPreemptionCallback
void VdpPreemptionCallback(VdpDevice device, void *context)
A callback to notify the client application that a device's display has been preempted.
Definition vdpau.h:5012
VdpStatus
VdpStatus
The set of all possible error codes.
Definition vdpau.h:1301
VdpGetErrorString
char const * VdpGetErrorString(VdpStatus status)
Retrieve a string describing an error code.
Definition vdpau.h:1444
VDP_STATUS_NO_IMPLEMENTATION
@ VDP_STATUS_NO_IMPLEMENTATION
Definition vdpau.h:1307
VDP_STATUS_INVALID_COLOR_TABLE_FORMAT
@ VDP_STATUS_INVALID_COLOR_TABLE_FORMAT
Definition vdpau.h:1351
VDP_STATUS_DISPLAY_PREEMPTED
@ VDP_STATUS_DISPLAY_PREEMPTED
Definition vdpau.h:1313
VDP_STATUS_INVALID_RGBA_FORMAT
@ VDP_STATUS_INVALID_RGBA_FORMAT
Definition vdpau.h:1339
VDP_STATUS_INVALID_FLAG
@ VDP_STATUS_INVALID_FLAG
Definition vdpau.h:1365
VDP_STATUS_INVALID_HANDLE
@ VDP_STATUS_INVALID_HANDLE
Definition vdpau.h:1320
VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE
@ VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE
Definition vdpau.h:1373
VDP_STATUS_RESOURCES
@ VDP_STATUS_RESOURCES
Definition vdpau.h:1418
VDP_STATUS_INVALID_CHROMA_TYPE
@ VDP_STATUS_INVALID_CHROMA_TYPE
Definition vdpau.h:1331
VDP_STATUS_INVALID_Y_CB_CR_FORMAT
@ VDP_STATUS_INVALID_Y_CB_CR_FORMAT
Definition vdpau.h:1335
VDP_STATUS_HANDLE_DEVICE_MISMATCH
@ VDP_STATUS_HANDLE_DEVICE_MISMATCH
Definition vdpau.h:1428
VDP_STATUS_INVALID_BLEND_FACTOR
@ VDP_STATUS_INVALID_BLEND_FACTOR
Definition vdpau.h:1356
VDP_STATUS_OK
@ VDP_STATUS_OK
Definition vdpau.h:1303
VDP_STATUS_INVALID_BLEND_EQUATION
@ VDP_STATUS_INVALID_BLEND_EQUATION
Definition vdpau.h:1361
VDP_STATUS_INVALID_VALUE
@ VDP_STATUS_INVALID_VALUE
Definition vdpau.h:1407
VDP_STATUS_INVALID_INDEXED_FORMAT
@ VDP_STATUS_INVALID_INDEXED_FORMAT
Definition vdpau.h:1343
VDP_STATUS_INVALID_DECODER_PROFILE
@ VDP_STATUS_INVALID_DECODER_PROFILE
Definition vdpau.h:1369
VDP_STATUS_INVALID_SIZE
@ VDP_STATUS_INVALID_SIZE
Definition vdpau.h:1400
VDP_STATUS_INVALID_COLOR_STANDARD
@ VDP_STATUS_INVALID_COLOR_STANDARD
Definition vdpau.h:1347
VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE
@ VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE
Definition vdpau.h:1386
VDP_STATUS_ERROR
@ VDP_STATUS_ERROR
Definition vdpau.h:1432
VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER
@ VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER
Definition vdpau.h:1377
VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE
@ VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE
Definition vdpau.h:1381
VDP_STATUS_INVALID_FUNC_ID
@ VDP_STATUS_INVALID_FUNC_ID
Definition vdpau.h:1390
VDP_STATUS_INVALID_STRUCT_VERSION
@ VDP_STATUS_INVALID_STRUCT_VERSION
Definition vdpau.h:1413
VDP_STATUS_INVALID_POINTER
@ VDP_STATUS_INVALID_POINTER
Definition vdpau.h:1327
VdpFuncId
uint32_t VdpFuncId
A type suitable for VdpGetProcAddress's function_id parameter.
Definition vdpau.h:5050
VdpGetProcAddress
VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
Retrieve a VDPAU function pointer.
Definition vdpau.h:5188
VdpYCbCrFormat
uint32_t VdpYCbCrFormat
The set of all known YCbCr surface formats.
Definition vdpau.h:963
VdpChromaType
uint32_t VdpChromaType
The set of all chroma formats for VdpVideoSurfaces.
Definition vdpau.h:839
VdpIndexedFormat
uint32_t VdpIndexedFormat
The set of all known indexed surface formats.
Definition vdpau.h:1188
VdpRGBAFormat
uint32_t VdpRGBAFormat
The set of all known RGB surface formats.
Definition vdpau.h:1119
VdpGetInformationString
VdpStatus VdpGetInformationString(char const **information_string)
Retrieve an implementation-specific string description of the implementation. This typically includes...
Definition vdpau.h:1514
VdpGetApiVersion
VdpStatus VdpGetApiVersion(uint32_t *api_version)
Retrieve the VDPAU version implemented by the backend.
Definition vdpau.h:1492
VdpBitstreamBuffer
Application data buffer containing compressed video data.
Definition vdpau.h:3007
VdpBitstreamBuffer::struct_version
uint32_t struct_version
Definition vdpau.h:3011
VdpBitstreamBuffer::bitstream
void const * bitstream
Definition vdpau.h:3013
VdpBitstreamBuffer::bitstream_bytes
uint32_t bitstream_bytes
Definition vdpau.h:3015
VdpColor
Definition vdpau.h:1282
VdpColor::red
float red
Definition vdpau.h:1283
VdpColor::green
float green
Definition vdpau.h:1284
VdpColor::blue
float blue
Definition vdpau.h:1285
VdpColor::alpha
float alpha
Definition vdpau.h:1286
VdpLayer
Definition of an additional VdpOutputSurface layer in the composting model.
Definition vdpau.h:4606
VdpLayer::source_surface
VdpOutputSurface source_surface
Definition vdpau.h:4614
VdpLayer::struct_version
uint32_t struct_version
Definition vdpau.h:4610
VdpLayer::destination_rect
VdpRect const * destination_rect
Definition vdpau.h:4628
VdpLayer::source_rect
VdpRect const * source_rect
Definition vdpau.h:4619
VdpOutputSurfaceRenderBlendState
Complete blending operation definition.
Definition vdpau.h:2383
VdpOutputSurfaceRenderBlendState::blend_equation_color
VdpOutputSurfaceRenderBlendEquation blend_equation_color
Definition vdpau.h:2392
VdpOutputSurfaceRenderBlendState::blend_factor_source_color
VdpOutputSurfaceRenderBlendFactor blend_factor_source_color
Definition vdpau.h:2388
VdpOutputSurfaceRenderBlendState::blend_factor_destination_alpha
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_alpha
Definition vdpau.h:2391
VdpOutputSurfaceRenderBlendState::blend_equation_alpha
VdpOutputSurfaceRenderBlendEquation blend_equation_alpha
Definition vdpau.h:2393
VdpOutputSurfaceRenderBlendState::blend_constant
VdpColor blend_constant
Definition vdpau.h:2394
VdpOutputSurfaceRenderBlendState::struct_version
uint32_t struct_version
Definition vdpau.h:2387
VdpOutputSurfaceRenderBlendState::blend_factor_destination_color
VdpOutputSurfaceRenderBlendFactor blend_factor_destination_color
Definition vdpau.h:2389
VdpOutputSurfaceRenderBlendState::blend_factor_source_alpha
VdpOutputSurfaceRenderBlendFactor blend_factor_source_alpha
Definition vdpau.h:2390
VdpPictureInfoAV1
Picture parameter information for an AV1 picture.
Definition vdpau.h:3719
VdpPictureInfoAV1::lr_unit_size
unsigned char lr_unit_size[3]
Definition vdpau.h:3823
VdpPictureInfoAV1::ar_coeffs_cr
short ar_coeffs_cr[25]
Definition vdpau.h:3867
VdpPictureInfoAV1::loop_filter_level
unsigned char loop_filter_level[2]
Definition vdpau.h:3808
VdpPictureInfoAV1::cb_offset
short cb_offset
Definition vdpau.h:3870
VdpPictureInfoAV1::qp_y_dc_delta_q
char qp_y_dc_delta_q
Definition vdpau.h:3790
VdpPictureInfoAV1::delta_lf_present
unsigned char delta_lf_present
Definition vdpau.h:3817
VdpPictureInfoAV1::delta_lf_multi
unsigned char delta_lf_multi
Definition vdpau.h:3819
VdpPictureInfoAV1::delta_q_present
unsigned int delta_q_present
Definition vdpau.h:3759
VdpPictureInfoAV1::qm_v
unsigned char qm_v
Definition vdpau.h:3797
VdpPictureInfoAV1::frame_offset
unsigned int frame_offset
Definition vdpau.h:3723
VdpPictureInfoAV1::random_seed
unsigned short random_seed
Definition vdpau.h:3864
VdpPictureInfoAV1::num_cr_points
unsigned char num_cr_points
Definition vdpau.h:3862
VdpPictureInfoAV1::scaling_points_cb
unsigned char scaling_points_cb[10][2]
Definition vdpau.h:3861
VdpPictureInfoAV1::cr_mult
unsigned char cr_mult
Definition vdpau.h:3871
VdpPictureInfoAV1::tile_heights
unsigned short tile_heights[64]
Definition vdpau.h:3775
VdpPictureInfoAV1::enable_interintra_compound
unsigned int enable_interintra_compound
Definition vdpau.h:3734
VdpPictureInfoAV1::cdef_y_strength
unsigned char cdef_y_strength[8]
Definition vdpau.h:3781
VdpPictureInfoAV1::tx_mode
unsigned int tx_mode
Definition vdpau.h:3764
VdpPictureInfoAV1::spatial_layer_id
unsigned char spatial_layer_id
Definition vdpau.h:3832
VdpPictureInfoAV1::num_y_points
unsigned char num_y_points
Definition vdpau.h:3858
VdpPictureInfoAV1::profile
unsigned int profile
Definition vdpau.h:3726
VdpPictureInfoAV1::grain_scale_shift
unsigned short grain_scale_shift
Definition vdpau.h:3856
VdpPictureInfoAV1::enable_fgs
unsigned int enable_fgs
Definition vdpau.h:3744
VdpPictureInfoAV1::enable_order_hint
unsigned int enable_order_hint
Definition vdpau.h:3738
VdpPictureInfoAV1::frame_type
unsigned int frame_type
Definition vdpau.h:3747
VdpPictureInfoAV1::force_integer_mv
unsigned int force_integer_mv
Definition vdpau.h:3751
VdpPictureInfoAV1::allow_intrabc
unsigned int allow_intrabc
Definition vdpau.h:3753
VdpPictureInfoAV1::ar_coeff_shift_minus6
unsigned short ar_coeff_shift_minus6
Definition vdpau.h:3855
VdpPictureInfoAV1::coded_lossless
unsigned int coded_lossless
Definition vdpau.h:3762
VdpPictureInfoAV1::num_tile_rows
unsigned int num_tile_rows
Definition vdpau.h:3772
VdpPictureInfoAV1::segmentation_feature_mask
unsigned char segmentation_feature_mask[8]
Definition vdpau.h:3805
VdpPictureInfoAV1::qm_y
unsigned char qm_y
Definition vdpau.h:3795
VdpPictureInfoAV1::invalid
unsigned char invalid
Definition vdpau.h:3844
VdpPictureInfoAV1::enable_cdef
unsigned int enable_cdef
Definition vdpau.h:3742
VdpPictureInfoAV1::show_frame
unsigned int show_frame
Definition vdpau.h:3748
VdpPictureInfoAV1::loop_filter_delta_enabled
unsigned char loop_filter_delta_enabled
Definition vdpau.h:3814
VdpPictureInfoAV1::scaling_shift_minus8
unsigned short scaling_shift_minus8
Definition vdpau.h:3852
VdpPictureInfoAV1::lr_type
unsigned char lr_type[3]
Definition vdpau.h:3824
VdpPictureInfoAV1::ar_coeffs_cb
short ar_coeffs_cb[25]
Definition vdpau.h:3866
VdpPictureInfoAV1::loop_filter_level_u
unsigned char loop_filter_level_u
Definition vdpau.h:3809
VdpPictureInfoAV1::cdef_bits
unsigned char cdef_bits
Definition vdpau.h:3780
VdpPictureInfoAV1::reference_mode
unsigned int reference_mode
Definition vdpau.h:3765
VdpPictureInfoAV1::scaling_points_y
unsigned char scaling_points_y[14][2]
Definition vdpau.h:3859
VdpPictureInfoAV1::loop_filter_sharpness
unsigned char loop_filter_sharpness
Definition vdpau.h:3811
VdpPictureInfoAV1::SkipModeFrame0
unsigned char SkipModeFrame0
Definition vdpau.h:3785
VdpPictureInfoAV1::segmentation_update_data
unsigned char segmentation_update_data
Definition vdpau.h:3802
VdpPictureInfoAV1::mono_chrome
unsigned int mono_chrome
Definition vdpau.h:3730
VdpPictureInfoAV1::allow_high_precision_mv
unsigned int allow_high_precision_mv
Definition vdpau.h:3754
VdpPictureInfoAV1::coded_denom
unsigned int coded_denom
Definition vdpau.h:3752
VdpPictureInfoAV1::apply_grain
unsigned short apply_grain
Definition vdpau.h:3850
VdpPictureInfoAV1::tile_info
unsigned int tile_info[256 *2]
Definition vdpau.h:3776
VdpPictureInfoAV1::switchable_motion_mode
unsigned int switchable_motion_mode
Definition vdpau.h:3756
VdpPictureInfoAV1::qp_u_dc_delta_q
char qp_u_dc_delta_q
Definition vdpau.h:3791
VdpPictureInfoAV1::ref_frame_map
unsigned int ref_frame_map[8]
Definition vdpau.h:3829
VdpPictureInfoAV1::allow_warped_motion
unsigned int allow_warped_motion
Definition vdpau.h:3766
VdpPictureInfoAV1::loop_filter_level_v
unsigned char loop_filter_level_v
Definition vdpau.h:3810
VdpPictureInfoAV1::using_qmatrix
unsigned int using_qmatrix
Definition vdpau.h:3761
VdpPictureInfoAV1::enable_jnt_comp
unsigned int enable_jnt_comp
Definition vdpau.h:3740
VdpPictureInfoAV1::wmmat
int wmmat[6]
Definition vdpau.h:3846
VdpPictureInfoAV1::chroma_scaling_from_luma
unsigned short chroma_scaling_from_luma
Definition vdpau.h:3853
VdpPictureInfoAV1::reduced_tx_set
unsigned int reduced_tx_set
Definition vdpau.h:3767
VdpPictureInfoAV1::enable_restoration
unsigned int enable_restoration
Definition vdpau.h:3743
VdpPictureInfoAV1::base_qindex
unsigned char base_qindex
Definition vdpau.h:3789
VdpPictureInfoAV1::temporal_layer_id
unsigned char temporal_layer_id
Definition vdpau.h:3831
VdpPictureInfoAV1::subsampling_y
unsigned int subsampling_y
Definition vdpau.h:3729
VdpPictureInfoAV1::cdef_damping_minus_3
unsigned char cdef_damping_minus_3
Definition vdpau.h:3779
VdpPictureInfoAV1::subsampling_x
unsigned int subsampling_x
Definition vdpau.h:3728
VdpPictureInfoAV1::cb_luma_mult
unsigned char cb_luma_mult
Definition vdpau.h:3869
VdpPictureInfoAV1::overlap_flag
unsigned short overlap_flag
Definition vdpau.h:3851
VdpPictureInfoAV1::use_128x128_superblock
unsigned int use_128x128_superblock
Definition vdpau.h:3727
VdpPictureInfoAV1::index
unsigned int index
Definition vdpau.h:3839
VdpPictureInfoAV1::cb_mult
unsigned char cb_mult
Definition vdpau.h:3868
VdpPictureInfoAV1::loop_filter_mode_deltas
char loop_filter_mode_deltas[2]
Definition vdpau.h:3813
VdpPictureInfoAV1::clip_to_restricted_range
unsigned short clip_to_restricted_range
Definition vdpau.h:3857
VdpPictureInfoAV1::use_ref_frame_mvs
unsigned int use_ref_frame_mvs
Definition vdpau.h:3757
VdpPictureInfoAV1::cdef_uv_strength
unsigned char cdef_uv_strength[8]
Definition vdpau.h:3782
VdpPictureInfoAV1::qp_v_ac_delta_q
char qp_v_ac_delta_q
Definition vdpau.h:3794
VdpPictureInfoAV1::cr_offset
short cr_offset
Definition vdpau.h:3873
VdpPictureInfoAV1::enable_masked_compound
unsigned int enable_masked_compound
Definition vdpau.h:3735
VdpPictureInfoAV1::wmtype
unsigned char wmtype
Definition vdpau.h:3845
VdpPictureInfoAV1::tile_widths
unsigned short tile_widths[64]
Definition vdpau.h:3774
VdpPictureInfoAV1::reserved4_2bits
unsigned char reserved4_2bits
Definition vdpau.h:3820
VdpPictureInfoAV1::context_update_tile_id
unsigned int context_update_tile_id
Definition vdpau.h:3773
VdpPictureInfoAV1::width
unsigned int width
Definition vdpau.h:3720
VdpPictureInfoAV1::loop_filter_ref_deltas
char loop_filter_ref_deltas[8]
Definition vdpau.h:3812
VdpPictureInfoAV1::enable_superres
unsigned int enable_superres
Definition vdpau.h:3741
VdpPictureInfoAV1::segmentation_enabled
unsigned char segmentation_enabled
Definition vdpau.h:3800
VdpPictureInfoAV1::num_cb_points
unsigned char num_cb_points
Definition vdpau.h:3860
VdpPictureInfoAV1::segmentation_feature_data
short segmentation_feature_data[8][8]
Definition vdpau.h:3804
VdpPictureInfoAV1::disable_frame_end_update_cdf
unsigned int disable_frame_end_update_cdf
Definition vdpau.h:3758
VdpPictureInfoAV1::allow_screen_content_tools
unsigned int allow_screen_content_tools
Definition vdpau.h:3750
VdpPictureInfoAV1::qp_v_dc_delta_q
char qp_v_dc_delta_q
Definition vdpau.h:3792
VdpPictureInfoAV1::ar_coeffs_y
short ar_coeffs_y[24]
Definition vdpau.h:3865
VdpPictureInfoAV1::use_superres
unsigned int use_superres
Definition vdpau.h:3763
VdpPictureInfoAV1::ar_coeff_lag
unsigned short ar_coeff_lag
Definition vdpau.h:3854
VdpPictureInfoAV1::segmentation_update_map
unsigned char segmentation_update_map
Definition vdpau.h:3801
VdpPictureInfoAV1::SkipModeFrame1
unsigned char SkipModeFrame1
Definition vdpau.h:3786
VdpPictureInfoAV1::segmentation_temporal_update
unsigned char segmentation_temporal_update
Definition vdpau.h:3803
VdpPictureInfoAV1::primary_ref_frame
unsigned int primary_ref_frame
Definition vdpau.h:3827
VdpPictureInfoAV1::enable_dual_filter
unsigned int enable_dual_filter
Definition vdpau.h:3737
VdpPictureInfoAV1::enable_intra_edge_filter
unsigned int enable_intra_edge_filter
Definition vdpau.h:3733
VdpPictureInfoAV1::skip_mode
unsigned int skip_mode
Definition vdpau.h:3768
VdpPictureInfoAV1::qm_u
unsigned char qm_u
Definition vdpau.h:3796
VdpPictureInfoAV1::enable_filter_intra
unsigned int enable_filter_intra
Definition vdpau.h:3732
VdpPictureInfoAV1::bit_depth_minus8
unsigned int bit_depth_minus8
Definition vdpau.h:3731
VdpPictureInfoAV1::qp_u_ac_delta_q
char qp_u_ac_delta_q
Definition vdpau.h:3793
VdpPictureInfoAV1::loop_filter_delta_update
unsigned char loop_filter_delta_update
Definition vdpau.h:3815
VdpPictureInfoAV1::height
unsigned int height
Definition vdpau.h:3721
VdpPictureInfoAV1::cr_luma_mult
unsigned char cr_luma_mult
Definition vdpau.h:3872
VdpPictureInfoAV1::disable_cdf_update
unsigned int disable_cdf_update
Definition vdpau.h:3749
VdpPictureInfoAV1::delta_lf_res
unsigned char delta_lf_res
Definition vdpau.h:3818
VdpPictureInfoAV1::order_hint_bits_minus1
unsigned int order_hint_bits_minus1
Definition vdpau.h:3739
VdpPictureInfoAV1::num_tile_cols
unsigned int num_tile_cols
Definition vdpau.h:3771
VdpPictureInfoAV1::scaling_points_cr
unsigned char scaling_points_cr[10][2]
Definition vdpau.h:3863
VdpPictureInfoAV1::delta_q_res
unsigned int delta_q_res
Definition vdpau.h:3760
VdpPictureInfoAV1::interp_filter
unsigned int interp_filter
Definition vdpau.h:3755
VdpPictureInfoH264
Picture parameter information for an H.264 picture.
Definition vdpau.h:3135
VdpPictureInfoH264::field_order_cnt
int32_t field_order_cnt[2]
Definition vdpau.h:3139
VdpPictureInfoH264::frame_mbs_only_flag
uint8_t frame_mbs_only_flag
Definition vdpau.h:3155
VdpPictureInfoH264::redundant_pic_cnt_present_flag
uint8_t redundant_pic_cnt_present_flag
Definition vdpau.h:3170
VdpPictureInfoH264::log2_max_frame_num_minus4
uint8_t log2_max_frame_num_minus4
Definition vdpau.h:3162
VdpPictureInfoH264::slice_count
uint32_t slice_count
Definition vdpau.h:3137
VdpPictureInfoH264::is_reference
VdpBool is_reference
Definition vdpau.h:3141
VdpPictureInfoH264::delta_pic_order_always_zero_flag
uint8_t delta_pic_order_always_zero_flag
Definition vdpau.h:3165
VdpPictureInfoH264::transform_8x8_mode_flag
uint8_t transform_8x8_mode_flag
Definition vdpau.h:3156
VdpPictureInfoH264::log2_max_pic_order_cnt_lsb_minus4
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition vdpau.h:3164
VdpPictureInfoH264::pic_order_present_flag
uint8_t pic_order_present_flag
Definition vdpau.h:3168
VdpPictureInfoH264::entropy_coding_mode_flag
uint8_t entropy_coding_mode_flag
Definition vdpau.h:3167
VdpPictureInfoH264::pic_order_cnt_type
uint8_t pic_order_cnt_type
Definition vdpau.h:3163
VdpPictureInfoH264::mb_adaptive_frame_field_flag
uint8_t mb_adaptive_frame_field_flag
Definition vdpau.h:3151
VdpPictureInfoH264::second_chroma_qp_index_offset
int8_t second_chroma_qp_index_offset
Definition vdpau.h:3158
VdpPictureInfoH264::num_ref_idx_l1_active_minus1
uint8_t num_ref_idx_l1_active_minus1
Definition vdpau.h:3161
VdpPictureInfoH264::bottom_field_flag
uint8_t bottom_field_flag
Definition vdpau.h:3149
VdpPictureInfoH264::weighted_pred_flag
uint8_t weighted_pred_flag
Definition vdpau.h:3153
VdpPictureInfoH264::scaling_lists_8x8
uint8_t scaling_lists_8x8[2][64]
Definition vdpau.h:3174
VdpPictureInfoH264::pic_init_qp_minus26
int8_t pic_init_qp_minus26
Definition vdpau.h:3159
VdpPictureInfoH264::scaling_lists_4x4
uint8_t scaling_lists_4x4[6][16]
Definition vdpau.h:3172
VdpPictureInfoH264::num_ref_frames
uint8_t num_ref_frames
Definition vdpau.h:3150
VdpPictureInfoH264::deblocking_filter_control_present_flag
uint8_t deblocking_filter_control_present_flag
Definition vdpau.h:3169
VdpPictureInfoH264::frame_num
uint16_t frame_num
Definition vdpau.h:3147
VdpPictureInfoH264::weighted_bipred_idc
uint8_t weighted_bipred_idc
Definition vdpau.h:3154
VdpPictureInfoH264::direct_8x8_inference_flag
uint8_t direct_8x8_inference_flag
Definition vdpau.h:3166
VdpPictureInfoH264::num_ref_idx_l0_active_minus1
uint8_t num_ref_idx_l0_active_minus1
Definition vdpau.h:3160
VdpPictureInfoH264::chroma_qp_index_offset
int8_t chroma_qp_index_offset
Definition vdpau.h:3157
VdpPictureInfoH264::field_pic_flag
uint8_t field_pic_flag
Definition vdpau.h:3148
VdpPictureInfoH264::referenceFrames
VdpReferenceFrameH264 referenceFrames[16]
Definition vdpau.h:3178
VdpPictureInfoH264::constrained_intra_pred_flag
uint8_t constrained_intra_pred_flag
Definition vdpau.h:3152
VdpPictureInfoH264Predictive
Picture parameter information for an H.264 Hi444PP picture.
Definition vdpau.h:3191
VdpPictureInfoH264Predictive::pictureInfo
VdpPictureInfoH264 pictureInfo
Definition vdpau.h:3193
VdpPictureInfoH264Predictive::qpprime_y_zero_transform_bypass_flag
uint8_t qpprime_y_zero_transform_bypass_flag
Definition vdpau.h:3203
VdpPictureInfoH264Predictive::separate_colour_plane_flag
uint8_t separate_colour_plane_flag
Definition vdpau.h:3208
VdpPictureInfoHEVC444
Picture parameter information for an HEVC 444 picture.
Definition vdpau.h:3659
VdpPictureInfoHEVC444::transformSkipContextEnableFlag
uint8_t transformSkipContextEnableFlag
Definition vdpau.h:3668
VdpPictureInfoHEVC444::log2SaoOffsetScaleChroma
uint8_t log2SaoOffsetScaleChroma
Definition vdpau.h:3702
VdpPictureInfoHEVC444::diffCuChromaQpAdjustmentDepth
uint8_t diffCuChromaQpAdjustmentDepth
Definition vdpau.h:3695
VdpPictureInfoHEVC444::intraBlockCopyEnableFlag
uint8_t intraBlockCopyEnableFlag
Definition vdpau.h:3684
VdpPictureInfoHEVC444::persistentRiceAdaptationEnableFlag
uint8_t persistentRiceAdaptationEnableFlag
Definition vdpau.h:3680
VdpPictureInfoHEVC444::pictureInfo
VdpPictureInfoHEVC pictureInfo
Definition vdpau.h:3661
VdpPictureInfoHEVC444::cabacBypassAlignmentEnableFlag
uint8_t cabacBypassAlignmentEnableFlag
Definition vdpau.h:3682
VdpPictureInfoHEVC444::cr_qp_adjustment
int8_t cr_qp_adjustment[6]
Definition vdpau.h:3706
VdpPictureInfoHEVC444::cb_qp_adjustment
int8_t cb_qp_adjustment[6]
Definition vdpau.h:3704
VdpPictureInfoHEVC444::transformSkipRotationEnableFlag
uint8_t transformSkipRotationEnableFlag
Definition vdpau.h:3666
VdpPictureInfoHEVC444::implicitRdpcmEnableFlag
uint8_t implicitRdpcmEnableFlag
Definition vdpau.h:3670
VdpPictureInfoHEVC444::sps_range_extension_flag
uint8_t sps_range_extension_flag
Definition vdpau.h:3664
VdpPictureInfoHEVC444::chromaQpAdjustmentTableSize
uint8_t chromaQpAdjustmentTableSize
Definition vdpau.h:3697
VdpPictureInfoHEVC444::pps_range_extension_flag
uint8_t pps_range_extension_flag
Definition vdpau.h:3687
VdpPictureInfoHEVC444::log2MaxTransformSkipSize
uint8_t log2MaxTransformSkipSize
Definition vdpau.h:3689
VdpPictureInfoHEVC444::crossComponentPredictionEnableFlag
uint8_t crossComponentPredictionEnableFlag
Definition vdpau.h:3691
VdpPictureInfoHEVC444::chromaQpAdjustmentEnableFlag
uint8_t chromaQpAdjustmentEnableFlag
Definition vdpau.h:3693
VdpPictureInfoHEVC444::extendedPrecisionProcessingFlag
uint8_t extendedPrecisionProcessingFlag
Definition vdpau.h:3674
VdpPictureInfoHEVC444::highPrecisionOffsetsEnableFlag
uint8_t highPrecisionOffsetsEnableFlag
Definition vdpau.h:3678
VdpPictureInfoHEVC444::log2SaoOffsetScaleLuma
uint8_t log2SaoOffsetScaleLuma
Definition vdpau.h:3700
VdpPictureInfoHEVC444::intraSmoothingDisabledFlag
uint8_t intraSmoothingDisabledFlag
Definition vdpau.h:3676
VdpPictureInfoHEVC444::explicitRdpcmEnableFlag
uint8_t explicitRdpcmEnableFlag
Definition vdpau.h:3672
VdpPictureInfoHEVC
Picture parameter information for an H.265/HEVC picture.
Definition vdpau.h:3455
VdpPictureInfoHEVC::chroma_format_idc
uint8_t chroma_format_idc
Definition vdpau.h:3460
VdpPictureInfoHEVC::NumPocLtCurr
uint8_t NumPocLtCurr
Definition vdpau.h:3640
VdpPictureInfoHEVC::num_extra_slice_header_bits
uint8_t num_extra_slice_header_bits
Definition vdpau.h:3527
VdpPictureInfoHEVC::pcm_sample_bit_depth_chroma_minus1
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition vdpau.h:3503
VdpPictureInfoHEVC::ScalingListDCCoeff32x32
uint8_t ScalingListDCCoeff32x32[2]
Definition vdpau.h:3496
VdpPictureInfoHEVC::ScalingList8x8
uint8_t ScalingList8x8[6][64]
Definition vdpau.h:3484
VdpPictureInfoHEVC::log2_min_transform_block_size_minus2
uint8_t log2_min_transform_block_size_minus2
Definition vdpau.h:3473
VdpPictureInfoHEVC::pic_width_in_luma_samples
uint32_t pic_width_in_luma_samples
Definition vdpau.h:3463
VdpPictureInfoHEVC::pps_deblocking_filter_disabled_flag
uint8_t pps_deblocking_filter_disabled_flag
Definition vdpau.h:3570
VdpPictureInfoHEVC::pic_height_in_luma_samples
uint32_t pic_height_in_luma_samples
Definition vdpau.h:3464
VdpPictureInfoHEVC::pps_tc_offset_div2
int8_t pps_tc_offset_div2
Definition vdpau.h:3576
VdpPictureInfoHEVC::RAPPicFlag
uint8_t RAPPicFlag
Definition vdpau.h:3592
VdpPictureInfoHEVC::sps_max_dec_pic_buffering_minus1
uint8_t sps_max_dec_pic_buffering_minus1
Definition vdpau.h:3470
VdpPictureInfoHEVC::PicOrderCntVal
int32_t PicOrderCntVal[16]
Definition vdpau.h:3627
VdpPictureInfoHEVC::separate_colour_plane_flag
uint8_t separate_colour_plane_flag
Definition vdpau.h:3462
VdpPictureInfoHEVC::ScalingList32x32
uint8_t ScalingList32x32[2][64]
Definition vdpau.h:3490
VdpPictureInfoHEVC::pps_slice_chroma_qp_offsets_present_flag
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition vdpau.h:3540
VdpPictureInfoHEVC::IsLongTerm
uint8_t IsLongTerm[16]
Definition vdpau.h:3631
VdpPictureInfoHEVC::diff_cu_qp_delta_depth
uint8_t diff_cu_qp_delta_depth
Definition vdpau.h:3537
VdpPictureInfoHEVC::strong_intra_smoothing_enabled_flag
uint8_t strong_intra_smoothing_enabled_flag
Definition vdpau.h:3518
VdpPictureInfoHEVC::init_qp_minus26
int8_t init_qp_minus26
Definition vdpau.h:3532
VdpPictureInfoHEVC::sign_data_hiding_enabled_flag
uint8_t sign_data_hiding_enabled_flag
Definition vdpau.h:3528
VdpPictureInfoHEVC::log2_min_luma_coding_block_size_minus3
uint8_t log2_min_luma_coding_block_size_minus3
Definition vdpau.h:3471
VdpPictureInfoHEVC::dependent_slice_segments_enabled_flag
uint8_t dependent_slice_segments_enabled_flag
Definition vdpau.h:3525
VdpPictureInfoHEVC::RefPicSetLtCurr
uint8_t RefPicSetLtCurr[8]
Definition vdpau.h:3649
VdpPictureInfoHEVC::NumShortTermPictureSliceHeaderBits
uint32_t NumShortTermPictureSliceHeaderBits
Definition vdpau.h:3608
VdpPictureInfoHEVC::NumLongTermPictureSliceHeaderBits
uint32_t NumLongTermPictureSliceHeaderBits
Definition vdpau.h:3613
VdpPictureInfoHEVC::max_transform_hierarchy_depth_intra
uint8_t max_transform_hierarchy_depth_intra
Definition vdpau.h:3476
VdpPictureInfoHEVC::ScalingList4x4
uint8_t ScalingList4x4[6][16]
Definition vdpau.h:3481
VdpPictureInfoHEVC::log2_diff_max_min_transform_block_size
uint8_t log2_diff_max_min_transform_block_size
Definition vdpau.h:3474
VdpPictureInfoHEVC::pcm_sample_bit_depth_luma_minus1
uint8_t pcm_sample_bit_depth_luma_minus1
Definition vdpau.h:3501
VdpPictureInfoHEVC::output_flag_present_flag
uint8_t output_flag_present_flag
Definition vdpau.h:3526
VdpPictureInfoHEVC::pps_beta_offset_div2
int8_t pps_beta_offset_div2
Definition vdpau.h:3573
VdpPictureInfoHEVC::NumPocStCurrBefore
uint8_t NumPocStCurrBefore
Definition vdpau.h:3634
VdpPictureInfoHEVC::row_height_minus1
uint16_t row_height_minus1[22]
Definition vdpau.h:3559
VdpPictureInfoHEVC::long_term_ref_pics_present_flag
uint8_t long_term_ref_pics_present_flag
Definition vdpau.h:3513
VdpPictureInfoHEVC::sps_temporal_mvp_enabled_flag
uint8_t sps_temporal_mvp_enabled_flag
Definition vdpau.h:3517
VdpPictureInfoHEVC::log2_min_pcm_luma_coding_block_size_minus3
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition vdpau.h:3505
VdpPictureInfoHEVC::num_tile_columns_minus1
uint8_t num_tile_columns_minus1
Definition vdpau.h:3547
VdpPictureInfoHEVC::RefPicSetStCurrAfter
uint8_t RefPicSetStCurrAfter[8]
Definition vdpau.h:3646
VdpPictureInfoHEVC::CurrPicOrderCntVal
int32_t CurrPicOrderCntVal
Definition vdpau.h:3619
VdpPictureInfoHEVC::max_transform_hierarchy_depth_inter
uint8_t max_transform_hierarchy_depth_inter
Definition vdpau.h:3475
VdpPictureInfoHEVC::num_ref_idx_l0_default_active_minus1
uint8_t num_ref_idx_l0_default_active_minus1
Definition vdpau.h:3530
VdpPictureInfoHEVC::entropy_coding_sync_enabled_flag
uint8_t entropy_coding_sync_enabled_flag
Definition vdpau.h:3545
VdpPictureInfoHEVC::constrained_intra_pred_flag
uint8_t constrained_intra_pred_flag
Definition vdpau.h:3533
VdpPictureInfoHEVC::IDRPicFlag
uint8_t IDRPicFlag
Definition vdpau.h:3589
VdpPictureInfoHEVC::ScalingList16x16
uint8_t ScalingList16x16[6][64]
Definition vdpau.h:3487
VdpPictureInfoHEVC::weighted_bipred_flag
uint8_t weighted_bipred_flag
Definition vdpau.h:3542
VdpPictureInfoHEVC::num_short_term_ref_pic_sets
uint8_t num_short_term_ref_pic_sets
Definition vdpau.h:3512
VdpPictureInfoHEVC::log2_diff_max_min_luma_coding_block_size
uint8_t log2_diff_max_min_luma_coding_block_size
Definition vdpau.h:3472
VdpPictureInfoHEVC::pps_loop_filter_across_slices_enabled_flag
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition vdpau.h:3563
VdpPictureInfoHEVC::RefPicSetStCurrBefore
uint8_t RefPicSetStCurrBefore[8]
Definition vdpau.h:3643
VdpPictureInfoHEVC::cu_qp_delta_enabled_flag
uint8_t cu_qp_delta_enabled_flag
Definition vdpau.h:3535
VdpPictureInfoHEVC::amp_enabled_flag
uint8_t amp_enabled_flag
Definition vdpau.h:3497
VdpPictureInfoHEVC::weighted_pred_flag
uint8_t weighted_pred_flag
Definition vdpau.h:3541
VdpPictureInfoHEVC::uniform_spacing_flag
uint8_t uniform_spacing_flag
Definition vdpau.h:3551
VdpPictureInfoHEVC::CurrRpsIdx
uint8_t CurrRpsIdx
Definition vdpau.h:3594
VdpPictureInfoHEVC::loop_filter_across_tiles_enabled_flag
uint8_t loop_filter_across_tiles_enabled_flag
Definition vdpau.h:3562
VdpPictureInfoHEVC::bit_depth_chroma_minus8
uint8_t bit_depth_chroma_minus8
Definition vdpau.h:3466
VdpPictureInfoHEVC::deblocking_filter_override_enabled_flag
uint8_t deblocking_filter_override_enabled_flag
Definition vdpau.h:3567
VdpPictureInfoHEVC::tiles_enabled_flag
uint8_t tiles_enabled_flag
Definition vdpau.h:3544
VdpPictureInfoHEVC::column_width_minus1
uint16_t column_width_minus1[20]
Definition vdpau.h:3555
VdpPictureInfoHEVC::ScalingListDCCoeff16x16
uint8_t ScalingListDCCoeff16x16[6]
Definition vdpau.h:3493
VdpPictureInfoHEVC::RefPics
VdpVideoSurface RefPics[16]
Definition vdpau.h:3624
VdpPictureInfoHEVC::slice_segment_header_extension_present_flag
uint8_t slice_segment_header_extension_present_flag
Definition vdpau.h:3579
VdpPictureInfoHEVC::pps_cb_qp_offset
int8_t pps_cb_qp_offset
Definition vdpau.h:3538
VdpPictureInfoHEVC::NumPocTotalCurr
uint32_t NumPocTotalCurr
Definition vdpau.h:3596
VdpPictureInfoHEVC::pcm_enabled_flag
uint8_t pcm_enabled_flag
Definition vdpau.h:3499
VdpPictureInfoHEVC::pcm_loop_filter_disabled_flag
uint8_t pcm_loop_filter_disabled_flag
Definition vdpau.h:3509
VdpPictureInfoHEVC::sample_adaptive_offset_enabled_flag
uint8_t sample_adaptive_offset_enabled_flag
Definition vdpau.h:3498
VdpPictureInfoHEVC::cabac_init_present_flag
uint8_t cabac_init_present_flag
Definition vdpau.h:3529
VdpPictureInfoHEVC::transform_skip_enabled_flag
uint8_t transform_skip_enabled_flag
Definition vdpau.h:3534
VdpPictureInfoHEVC::num_long_term_ref_pics_sps
uint8_t num_long_term_ref_pics_sps
Definition vdpau.h:3516
VdpPictureInfoHEVC::pps_cr_qp_offset
int8_t pps_cr_qp_offset
Definition vdpau.h:3539
VdpPictureInfoHEVC::log2_parallel_merge_level_minus2
uint8_t log2_parallel_merge_level_minus2
Definition vdpau.h:3578
VdpPictureInfoHEVC::NumDeltaPocsOfRefRpsIdx
uint32_t NumDeltaPocsOfRefRpsIdx
Definition vdpau.h:3600
VdpPictureInfoHEVC::num_ref_idx_l1_default_active_minus1
uint8_t num_ref_idx_l1_default_active_minus1
Definition vdpau.h:3531
VdpPictureInfoHEVC::bit_depth_luma_minus8
uint8_t bit_depth_luma_minus8
Definition vdpau.h:3465
VdpPictureInfoHEVC::transquant_bypass_enabled_flag
uint8_t transquant_bypass_enabled_flag
Definition vdpau.h:3543
VdpPictureInfoHEVC::log2_max_pic_order_cnt_lsb_minus4
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition vdpau.h:3467
VdpPictureInfoHEVC::lists_modification_present_flag
uint8_t lists_modification_present_flag
Definition vdpau.h:3577
VdpPictureInfoHEVC::deblocking_filter_control_present_flag
uint8_t deblocking_filter_control_present_flag
Definition vdpau.h:3564
VdpPictureInfoHEVC::scaling_list_enabled_flag
uint8_t scaling_list_enabled_flag
Definition vdpau.h:3477
VdpPictureInfoHEVC::NumPocStCurrAfter
uint8_t NumPocStCurrAfter
Definition vdpau.h:3637
VdpPictureInfoHEVC::log2_diff_max_min_pcm_luma_coding_block_size
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition vdpau.h:3507
VdpPictureInfoHEVC::num_tile_rows_minus1
uint8_t num_tile_rows_minus1
Definition vdpau.h:3549
VdpPictureInfoMPEG1Or2
Picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition vdpau.h:3038
VdpPictureInfoMPEG1Or2::frame_pred_frame_dct
uint8_t frame_pred_frame_dct
Definition vdpau.h:3059
VdpPictureInfoMPEG1Or2::concealment_motion_vectors
uint8_t concealment_motion_vectors
Definition vdpau.h:3060
VdpPictureInfoMPEG1Or2::backward_reference
VdpVideoSurface backward_reference
Definition vdpau.h:3048
VdpPictureInfoMPEG1Or2::top_field_first
uint8_t top_field_first
Definition vdpau.h:3064
VdpPictureInfoMPEG1Or2::alternate_scan
uint8_t alternate_scan
Definition vdpau.h:3062
VdpPictureInfoMPEG1Or2::q_scale_type
uint8_t q_scale_type
Definition vdpau.h:3063
VdpPictureInfoMPEG1Or2::intra_quantizer_matrix
uint8_t intra_quantizer_matrix[64]
Definition vdpau.h:3072
VdpPictureInfoMPEG1Or2::forward_reference
VdpVideoSurface forward_reference
Definition vdpau.h:3043
VdpPictureInfoMPEG1Or2::non_intra_quantizer_matrix
uint8_t non_intra_quantizer_matrix[64]
Definition vdpau.h:3074
VdpPictureInfoMPEG1Or2::full_pel_forward_vector
uint8_t full_pel_forward_vector
Definition vdpau.h:3066
VdpPictureInfoMPEG1Or2::full_pel_backward_vector
uint8_t full_pel_backward_vector
Definition vdpau.h:3068
VdpPictureInfoMPEG1Or2::intra_dc_precision
uint8_t intra_dc_precision
Definition vdpau.h:3058
VdpPictureInfoMPEG1Or2::slice_count
uint32_t slice_count
Definition vdpau.h:3050
VdpPictureInfoMPEG1Or2::intra_vlc_format
uint8_t intra_vlc_format
Definition vdpau.h:3061
VdpPictureInfoMPEG1Or2::picture_coding_type
uint8_t picture_coding_type
Definition vdpau.h:3057
VdpPictureInfoMPEG1Or2::f_code
uint8_t f_code[2][2]
Definition vdpau.h:3070
VdpPictureInfoMPEG1Or2::picture_structure
uint8_t picture_structure
Definition vdpau.h:3056
VdpPictureInfoMPEG4Part2
Picture parameter information for an MPEG-4 Part 2 picture.
Definition vdpau.h:3326
VdpPictureInfoMPEG4Part2::trd
int32_t trd[2]
Definition vdpau.h:3342
VdpPictureInfoMPEG4Part2::trb
int32_t trb[2]
Definition vdpau.h:3343
VdpPictureInfoMPEG4Part2::vop_coding_type
uint8_t vop_coding_type
Definition vdpau.h:3345
VdpPictureInfoMPEG4Part2::non_intra_quantizer_matrix
uint8_t non_intra_quantizer_matrix[64]
Definition vdpau.h:3358
VdpPictureInfoMPEG4Part2::vop_fcode_forward
uint8_t vop_fcode_forward
Definition vdpau.h:3346
VdpPictureInfoMPEG4Part2::vop_time_increment_resolution
uint16_t vop_time_increment_resolution
Definition vdpau.h:3344
VdpPictureInfoMPEG4Part2::vop_fcode_backward
uint8_t vop_fcode_backward
Definition vdpau.h:3347
VdpPictureInfoMPEG4Part2::quant_type
uint8_t quant_type
Definition vdpau.h:3350
VdpPictureInfoMPEG4Part2::forward_reference
VdpVideoSurface forward_reference
Definition vdpau.h:3331
VdpPictureInfoMPEG4Part2::backward_reference
VdpVideoSurface backward_reference
Definition vdpau.h:3336
VdpPictureInfoMPEG4Part2::quarter_sample
uint8_t quarter_sample
Definition vdpau.h:3351
VdpPictureInfoMPEG4Part2::top_field_first
uint8_t top_field_first
Definition vdpau.h:3356
VdpPictureInfoMPEG4Part2::rounding_control
uint8_t rounding_control
Definition vdpau.h:3354
VdpPictureInfoMPEG4Part2::alternate_vertical_scan_flag
uint8_t alternate_vertical_scan_flag
Definition vdpau.h:3355
VdpPictureInfoMPEG4Part2::interlaced
uint8_t interlaced
Definition vdpau.h:3349
VdpPictureInfoMPEG4Part2::intra_quantizer_matrix
uint8_t intra_quantizer_matrix[64]
Definition vdpau.h:3357
VdpPictureInfoMPEG4Part2::resync_marker_disable
uint8_t resync_marker_disable
Definition vdpau.h:3348
VdpPictureInfoMPEG4Part2::short_video_header
uint8_t short_video_header
Definition vdpau.h:3352
VdpPictureInfoVC1
Picture parameter information for a VC1 picture.
Definition vdpau.h:3219
VdpPictureInfoVC1::slice_count
uint32_t slice_count
Definition vdpau.h:3232
VdpPictureInfoVC1::range_mapuv
uint8_t range_mapuv
Definition vdpau.h:3279
VdpPictureInfoVC1::backward_reference
VdpVideoSurface backward_reference
Definition vdpau.h:3229
VdpPictureInfoVC1::interlace
uint8_t interlace
Definition vdpau.h:3247
VdpPictureInfoVC1::fastuvmc
uint8_t fastuvmc
Definition vdpau.h:3273
VdpPictureInfoVC1::picture_type
uint8_t picture_type
Definition vdpau.h:3234
VdpPictureInfoVC1::pulldown
uint8_t pulldown
Definition vdpau.h:3245
VdpPictureInfoVC1::tfcntrflag
uint8_t tfcntrflag
Definition vdpau.h:3249
VdpPictureInfoVC1::syncmarker
uint8_t syncmarker
Definition vdpau.h:3290
VdpPictureInfoVC1::postprocflag
uint8_t postprocflag
Definition vdpau.h:3243
VdpPictureInfoVC1::psf
uint8_t psf
Definition vdpau.h:3253
VdpPictureInfoVC1::range_mapuv_flag
uint8_t range_mapuv_flag
Definition vdpau.h:3278
VdpPictureInfoVC1::quantizer
uint8_t quantizer
Definition vdpau.h:3261
VdpPictureInfoVC1::multires
uint8_t multires
Definition vdpau.h:3285
VdpPictureInfoVC1::extended_mv
uint8_t extended_mv
Definition vdpau.h:3263
VdpPictureInfoVC1::frame_coding_mode
uint8_t frame_coding_mode
Definition vdpau.h:3236
VdpPictureInfoVC1::panscan_flag
uint8_t panscan_flag
Definition vdpau.h:3257
VdpPictureInfoVC1::pquant
uint8_t pquant
Definition vdpau.h:3316
VdpPictureInfoVC1::range_mapy_flag
uint8_t range_mapy_flag
Definition vdpau.h:3275
VdpPictureInfoVC1::forward_reference
VdpVideoSurface forward_reference
Definition vdpau.h:3224
VdpPictureInfoVC1::refdist_flag
uint8_t refdist_flag
Definition vdpau.h:3259
VdpPictureInfoVC1::maxbframes
uint8_t maxbframes
Definition vdpau.h:3302
VdpPictureInfoVC1::loopfilter
uint8_t loopfilter
Definition vdpau.h:3271
VdpPictureInfoVC1::deblockEnable
uint8_t deblockEnable
Definition vdpau.h:3310
VdpPictureInfoVC1::extended_dmv
uint8_t extended_dmv
Definition vdpau.h:3265
VdpPictureInfoVC1::rangered
uint8_t rangered
Definition vdpau.h:3297
VdpPictureInfoVC1::vstransform
uint8_t vstransform
Definition vdpau.h:3269
VdpPictureInfoVC1::finterpflag
uint8_t finterpflag
Definition vdpau.h:3251
VdpPictureInfoVC1::range_mapy
uint8_t range_mapy
Definition vdpau.h:3276
VdpPictureInfoVC1::overlap
uint8_t overlap
Definition vdpau.h:3267
VdpPictureInfoVC1::dquant
uint8_t dquant
Definition vdpau.h:3255
VdpPictureInfoVP9
Definition vdpau.h:3379
VdpPictureInfoVP9::intraOnly
unsigned short intraOnly
Definition vdpau.h:3398
VdpPictureInfoVP9::allowHighPrecisionMv
unsigned short allowHighPrecisionMv
Definition vdpau.h:3399
VdpPictureInfoVP9::refreshEntropyProbs
unsigned short refreshEntropyProbs
Definition vdpau.h:3400
VdpPictureInfoVP9::altReference
VdpVideoSurface altReference
Definition vdpau.h:3386
VdpPictureInfoVP9::log2TileRows
unsigned char log2TileRows
Definition vdpau.h:3411
VdpPictureInfoVP9::width
unsigned int width
Definition vdpau.h:3380
VdpPictureInfoVP9::mbSegmentTreeProbs
unsigned char mbSegmentTreeProbs[7]
Definition vdpau.h:3420
VdpPictureInfoVP9::segmentMapUpdate
unsigned char segmentMapUpdate
Definition vdpau.h:3414
VdpPictureInfoVP9::height
unsigned int height
Definition vdpau.h:3381
VdpPictureInfoVP9::frameContextIdx
unsigned short frameContextIdx
Definition vdpau.h:3391
VdpPictureInfoVP9::uncompressedHeaderSize
unsigned int uncompressedHeaderSize
Definition vdpau.h:3434
VdpPictureInfoVP9::reservedSegment16Bits
unsigned char reservedSegment16Bits[2]
Definition vdpau.h:3422
VdpPictureInfoVP9::keyFrame
unsigned short keyFrame
Definition vdpau.h:3392
VdpPictureInfoVP9::profile
unsigned short profile
Definition vdpau.h:3390
VdpPictureInfoVP9::qpChAc
int qpChAc
Definition vdpau.h:3427
VdpPictureInfoVP9::mcompFilterType
unsigned int mcompFilterType
Definition vdpau.h:3431
VdpPictureInfoVP9::segmentEnabled
unsigned char segmentEnabled
Definition vdpau.h:3413
VdpPictureInfoVP9::goldenReference
VdpVideoSurface goldenReference
Definition vdpau.h:3385
VdpPictureInfoVP9::qpYAc
int qpYAc
Definition vdpau.h:3424
VdpPictureInfoVP9::loopFilterLevel
unsigned char loopFilterLevel
Definition vdpau.h:3406
VdpPictureInfoVP9::segmentPredProbs
unsigned char segmentPredProbs[3]
Definition vdpau.h:3421
VdpPictureInfoVP9::qpYDc
int qpYDc
Definition vdpau.h:3425
VdpPictureInfoVP9::segmentMapTemporalUpdate
unsigned char segmentMapTemporalUpdate
Definition vdpau.h:3415
VdpPictureInfoVP9::log2TileColumns
unsigned char log2TileColumns
Definition vdpau.h:3410
VdpPictureInfoVP9::frameParallelDecoding
unsigned short frameParallelDecoding
Definition vdpau.h:3395
VdpPictureInfoVP9::mbModeLfDelta
unsigned int mbModeLfDelta[2]
Definition vdpau.h:3433
VdpPictureInfoVP9::resetFrameContext
unsigned int resetFrameContext
Definition vdpau.h:3430
VdpPictureInfoVP9::segmentFeatureData
short segmentFeatureData[8][4]
Definition vdpau.h:3419
VdpPictureInfoVP9::mbRefLfDelta
unsigned int mbRefLfDelta[4]
Definition vdpau.h:3432
VdpPictureInfoVP9::colorSpace
unsigned char colorSpace
Definition vdpau.h:3388
VdpPictureInfoVP9::activeRefIdx
unsigned int activeRefIdx[3]
Definition vdpau.h:3429
VdpPictureInfoVP9::bitDepthMinus8Chroma
unsigned char bitDepthMinus8Chroma
Definition vdpau.h:3405
VdpPictureInfoVP9::segmentFeatureEnable
unsigned char segmentFeatureEnable[8][4]
Definition vdpau.h:3418
VdpPictureInfoVP9::refFrameSignBias
unsigned char refFrameSignBias[4]
Definition vdpau.h:3402
VdpPictureInfoVP9::subSamplingX
unsigned short subSamplingX
Definition vdpau.h:3396
VdpPictureInfoVP9::lastReference
VdpVideoSurface lastReference
Definition vdpau.h:3384
VdpPictureInfoVP9::bitDepthMinus8Luma
unsigned char bitDepthMinus8Luma
Definition vdpau.h:3404
VdpPictureInfoVP9::showFrame
unsigned short showFrame
Definition vdpau.h:3393
VdpPictureInfoVP9::qpChDc
int qpChDc
Definition vdpau.h:3426
VdpPictureInfoVP9::modeRefLfEnabled
unsigned char modeRefLfEnabled
Definition vdpau.h:3409
VdpPictureInfoVP9::errorResilient
unsigned short errorResilient
Definition vdpau.h:3394
VdpPictureInfoVP9::loopFilterSharpness
unsigned char loopFilterSharpness
Definition vdpau.h:3407
VdpPictureInfoVP9::subSamplingY
unsigned short subSamplingY
Definition vdpau.h:3397
VdpPictureInfoVP9::compressedHeaderSize
unsigned int compressedHeaderSize
Definition vdpau.h:3435
VdpPictureInfoVP9::segmentFeatureMode
unsigned char segmentFeatureMode
Definition vdpau.h:3416
VdpPoint
A location within a surface.
Definition vdpau.h:1246
VdpPoint::y
uint32_t y
Definition vdpau.h:1250
VdpPoint::x
uint32_t x
Definition vdpau.h:1248
VdpProcamp
Procamp operation parameterization data.
Definition vdpau.h:1599
VdpProcamp::struct_version
uint32_t struct_version
Definition vdpau.h:1603
VdpProcamp::hue
float hue
Definition vdpau.h:1623
VdpProcamp::saturation
float saturation
Definition vdpau.h:1618
VdpProcamp::contrast
float contrast
Definition vdpau.h:1613
VdpProcamp::brightness
float brightness
Definition vdpau.h:1608
VdpRect
A rectangular region of a surface.
Definition vdpau.h:1263
VdpRect::y0
uint32_t y0
Definition vdpau.h:1267
VdpRect::x1
uint32_t x1
Definition vdpau.h:1269
VdpRect::y1
uint32_t y1
Definition vdpau.h:1271
VdpRect::x0
uint32_t x0
Definition vdpau.h:1265
VdpReferenceFrameH264
Information about an H.264 reference frame.
Definition vdpau.h:3085
VdpReferenceFrameH264::is_long_term
VdpBool is_long_term
Definition vdpau.h:3092
VdpReferenceFrameH264::bottom_is_reference
VdpBool bottom_is_reference
Definition vdpau.h:3102
VdpReferenceFrameH264::frame_idx
uint16_t frame_idx
Definition vdpau.h:3110
VdpReferenceFrameH264::top_is_reference
VdpBool top_is_reference
Definition vdpau.h:3097
VdpReferenceFrameH264::field_order_cnt
int32_t field_order_cnt[2]
Definition vdpau.h:3104
VdpReferenceFrameH264::surface
VdpVideoSurface surface
Definition vdpau.h:3090