FFmpeg 7.1.1
Loading...
Searching...
No Matches
dxva2.h
Go to the documentation of this file.
1/*
2 * DXVA2 HW acceleration
3 *
4 * copyright (c) 2009 Laurent Aimar
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23#ifndef AVCODEC_DXVA2_H
24#define AVCODEC_DXVA2_H
25
26/**
27 * @file
28 * @ingroup lavc_codec_hwaccel_dxva2
29 * Public libavcodec DXVA2 header.
30 */
31
32#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0602
33#undef _WIN32_WINNT
34#define _WIN32_WINNT 0x0602
35#endif
36
37#include <stdint.h>
38#include <d3d9.h>
39#include <dxva2api.h>
40
41/**
42 * @defgroup lavc_codec_hwaccel_dxva2 DXVA2
43 * @ingroup lavc_codec_hwaccel
44 *
45 * @{
46 */
47
48/**
49 * This structure is used to provides the necessary configurations and data
50 * to the DXVA2 FFmpeg HWAccel implementation.
51 *
52 * The application must make it available as AVCodecContext.hwaccel_context.
53 */
55 /**
56 * DXVA2 decoder object
57 */
58 IDirectXVideoDecoder *decoder;
59
60 /**
61 * DXVA2 configuration used to create the decoder
62 */
63 const DXVA2_ConfigPictureDecode *cfg;
64
65 /**
66 * The number of surface in the surface array
67 */
68 unsigned surface_count;
69
70 /**
71 * The array of Direct3D surfaces used to create the decoder
72 */
73 LPDIRECT3DSURFACE9 *surface;
74
75 /**
76 * A bit field configuring the workarounds needed for using the decoder
77 */
78 uint64_t workaround;
79
80 /**
81 * Private to the FFmpeg AVHWAccel implementation
82 */
83 unsigned report_id;
84};
85
86/**
87 * @}
88 */
89
90#endif /* AVCODEC_DXVA2_H */
This structure is used to provides the necessary configurations and data to the DXVA2 FFmpeg HWAccel ...
Definition dxva2.h:54
IDirectXVideoDecoder * decoder
DXVA2 decoder object.
Definition dxva2.h:58
uint64_t workaround
A bit field configuring the workarounds needed for using the decoder.
Definition dxva2.h:78
LPDIRECT3DSURFACE9 * surface
The array of Direct3D surfaces used to create the decoder.
Definition dxva2.h:73
unsigned surface_count
The number of surface in the surface array.
Definition dxva2.h:68
const DXVA2_ConfigPictureDecode * cfg
DXVA2 configuration used to create the decoder.
Definition dxva2.h:63
unsigned report_id
Private to the FFmpeg AVHWAccel implementation.
Definition dxva2.h:83