FFmpeg
|
#include <windows.h>
#include <stdint.h>
#include <d3d9.h>
#include <dxva2api.h>
#include "ffmpeg.h"
#include "libavcodec/dxva2.h"
#include "libavutil/avassert.h"
#include "libavutil/buffer.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixfmt.h"
#include <initguid.h>
Go to the source code of this file.
Data Structures | |
struct | dxva2_mode |
struct | surface_info |
struct | DXVA2Context |
struct | DXVA2SurfaceWrapper |
Macros | |
#define | _WIN32_WINNT 0x0600 |
#define | DXVA2API_USE_BITFIELDS |
#define | COBJMACROS |
Typedefs | |
typedef IDirect3D9 *WINAPI | pDirect3DCreate9 (UINT) |
typedef HRESULT WINAPI | pCreateDeviceManager9 (UINT *, IDirect3DDeviceManager9 **) |
Functions | |
DEFINE_GUID (IID_IDirectXVideoDecoderService, 0xfc51a551, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02) | |
DEFINE_GUID (DXVA2_ModeMPEG2_VLD, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9) | |
DEFINE_GUID (DXVA2_ModeMPEG2and1_VLD, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60) | |
DEFINE_GUID (DXVA2_ModeH264_E, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) | |
DEFINE_GUID (DXVA2_ModeH264_F, 0x1b81be69, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) | |
DEFINE_GUID (DXVADDI_Intel_ModeH264_E, 0x604F8E68, 0x4951, 0x4C54, 0x88, 0xFE, 0xAB, 0xD2, 0x5C, 0x15, 0xB3, 0xD6) | |
DEFINE_GUID (DXVA2_ModeVC1_D, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) | |
DEFINE_GUID (DXVA2_ModeVC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) | |
DEFINE_GUID (DXVA2_ModeHEVC_VLD_Main, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0) | |
DEFINE_GUID (DXVA2_NoEncrypt, 0x1b81beD0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) | |
DEFINE_GUID (GUID_NULL, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) | |
static void | dxva2_destroy_decoder (AVCodecContext *s) |
static void | dxva2_uninit (AVCodecContext *s) |
static void | dxva2_release_buffer (void *opaque, uint8_t *data) |
static int | dxva2_get_buffer (AVCodecContext *s, AVFrame *frame, int flags) |
static int | dxva2_retrieve_data (AVCodecContext *s, AVFrame *frame) |
static int | dxva2_alloc (AVCodecContext *s) |
static int | dxva2_get_decoder_configuration (AVCodecContext *s, const GUID *device_guid, const DXVA2_VideoDesc *desc, DXVA2_ConfigPictureDecode *config) |
static int | dxva2_create_decoder (AVCodecContext *s) |
int | dxva2_init (AVCodecContext *s) |
Variables | |
static const dxva2_mode | dxva2_modes [] |
#define _WIN32_WINNT 0x0600 |
Definition at line 24 of file ffmpeg_dxva2.c.
#define DXVA2API_USE_BITFIELDS |
Definition at line 25 of file ffmpeg_dxva2.c.
#define COBJMACROS |
Definition at line 26 of file ffmpeg_dxva2.c.
typedef IDirect3D9* WINAPI pDirect3DCreate9(UINT) |
Definition at line 59 of file ffmpeg_dxva2.c.
Definition at line 60 of file ffmpeg_dxva2.c.
DEFINE_GUID | ( | IID_IDirectXVideoDecoderService | , |
0xfc51a551 | , | ||
0xd5e7 | , | ||
0x11d9 | , | ||
0xaf | , | ||
0x55 | , | ||
0x00 | , | ||
0x05 | , | ||
0x4e | , | ||
0x43 | , | ||
0xff | , | ||
0x02 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeMPEG2_VLD | , |
0xee27417f | , | ||
0x5e28 | , | ||
0x4e65 | , | ||
0xbe | , | ||
0xea | , | ||
0x1d | , | ||
0x26 | , | ||
0xb5 | , | ||
0x08 | , | ||
0xad | , | ||
0xc9 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeMPEG2and1_VLD | , |
0x86695f12 | , | ||
0x340e | , | ||
0x4f04 | , | ||
0x9f | , | ||
0xd3 | , | ||
0x92 | , | ||
0x53 | , | ||
0xdd | , | ||
0x32 | , | ||
0x74 | , | ||
0x60 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeH264_E | , |
0x1b81be68 | , | ||
0xa0c7 | , | ||
0x11d3 | , | ||
0xb9 | , | ||
0x84 | , | ||
0x00 | , | ||
0xc0 | , | ||
0x4f | , | ||
0x2e | , | ||
0x73 | , | ||
0xc5 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeH264_F | , |
0x1b81be69 | , | ||
0xa0c7 | , | ||
0x11d3 | , | ||
0xb9 | , | ||
0x84 | , | ||
0x00 | , | ||
0xc0 | , | ||
0x4f | , | ||
0x2e | , | ||
0x73 | , | ||
0xc5 | |||
) |
DEFINE_GUID | ( | DXVADDI_Intel_ModeH264_E | , |
0x604F8E68 | , | ||
0x4951 | , | ||
0x4C54 | , | ||
0x88 | , | ||
0xFE | , | ||
0xAB | , | ||
0xD2 | , | ||
0x5C | , | ||
0x15 | , | ||
0xB3 | , | ||
0xD6 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeVC1_D | , |
0x1b81beA3 | , | ||
0xa0c7 | , | ||
0x11d3 | , | ||
0xb9 | , | ||
0x84 | , | ||
0x00 | , | ||
0xc0 | , | ||
0x4f | , | ||
0x2e | , | ||
0x73 | , | ||
0xc5 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeVC1_D2010 | , |
0x1b81beA4 | , | ||
0xa0c7 | , | ||
0x11d3 | , | ||
0xb9 | , | ||
0x84 | , | ||
0x00 | , | ||
0xc0 | , | ||
0x4f | , | ||
0x2e | , | ||
0x73 | , | ||
0xc5 | |||
) |
DEFINE_GUID | ( | DXVA2_ModeHEVC_VLD_Main | , |
0x5b11d51b | , | ||
0x2f4c | , | ||
0x4452 | , | ||
0xbc | , | ||
0xc3 | , | ||
0x09 | , | ||
0xf2 | , | ||
0xa1 | , | ||
0x16 | , | ||
0x0c | , | ||
0xc0 | |||
) |
DEFINE_GUID | ( | DXVA2_NoEncrypt | , |
0x1b81beD0 | , | ||
0xa0c7 | , | ||
0x11d3 | , | ||
0xb9 | , | ||
0x84 | , | ||
0x00 | , | ||
0xc0 | , | ||
0x4f | , | ||
0x2e | , | ||
0x73 | , | ||
0xc5 | |||
) |
DEFINE_GUID | ( | GUID_NULL | , |
0x00000000 | , | ||
0x0000 | , | ||
0x0000 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | , | ||
0x00 | |||
) |
|
static |
Definition at line 124 of file ffmpeg_dxva2.c.
Referenced by dxva2_create_decoder(), dxva2_init(), and dxva2_uninit().
|
static |
Definition at line 147 of file ffmpeg_dxva2.c.
Referenced by dxva2_alloc().
Definition at line 186 of file ffmpeg_dxva2.c.
Referenced by dxva2_get_buffer().
|
static |
Definition at line 203 of file ffmpeg_dxva2.c.
Referenced by dxva2_alloc().
|
static |
Definition at line 252 of file ffmpeg_dxva2.c.
Referenced by dxva2_alloc().
|
static |
Definition at line 301 of file ffmpeg_dxva2.c.
Referenced by dxva2_init().
|
static |
Definition at line 413 of file ffmpeg_dxva2.c.
Referenced by dxva2_create_decoder().
|
static |
Definition at line 460 of file ffmpeg_dxva2.c.
Referenced by dxva2_init().
int dxva2_init | ( | AVCodecContext * | s | ) |
Definition at line 598 of file ffmpeg_dxva2.c.
|
static |
Definition at line 67 of file ffmpeg_dxva2.c.