FFmpeg
|
#include "config.h"
#include <windows.h>
#include <initguid.h>
#include <d3d11.h>
#include <dxgi1_2.h>
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavutil/avstring.h"
#include "libavutil/avassert.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_d3d11va.h"
#include "compat/w32dlfcn.h"
#include "avfilter.h"
#include "filters.h"
#include "video.h"
#include "vsrc_ddagrab_shaders.h"
Go to the source code of this file.
Data Structures | |
struct | DdagrabContext |
struct | ConstBufferData |
Macros | |
#define | _WIN32_WINNT 0x0A00 |
#define | COBJMACROS |
#define | TIMER_RES 1000000 |
#define | TIMER_RES64 INT64_C(1000000) |
#define | OFFSET(x) offsetof(DdagrabContext, x) |
#define | FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Functions | |
AVFILTER_DEFINE_CLASS (ddagrab) | |
static void | release_resource (void *resource) |
static av_cold void | ddagrab_uninit (AVFilterContext *avctx) |
static av_cold int | init_dxgi_dda (AVFilterContext *avctx) |
static av_cold int | init_render_resources (AVFilterContext *avctx) |
static av_cold int | ddagrab_init (AVFilterContext *avctx) |
static int | create_d3d11_pointer_tex (AVFilterContext *avctx, uint8_t *buf, DXGI_OUTDUPL_POINTER_SHAPE_INFO *shape_info, ID3D11Texture2D **out_tex, ID3D11ShaderResourceView **res_view) |
static int | convert_mono_buffer (uint8_t *input, uint8_t **rgba_out, uint8_t **xor_out, int *_width, int *_height, int *_pitch) |
static int | fixup_color_mask (uint8_t *input, uint8_t **rgba_out, uint8_t **xor_out, int width, int height, int pitch) |
static int | update_mouse_pointer (AVFilterContext *avctx, DXGI_OUTDUPL_FRAME_INFO *frame_info) |
static int | next_frame_internal (AVFilterContext *avctx, ID3D11Texture2D **desktop_texture, int need_frame) |
static int | probe_output_format (AVFilterContext *avctx) |
static av_cold int | init_hwframes_ctx (AVFilterContext *avctx) |
static int | ddagrab_config_props (AVFilterLink *outlink) |
static int | draw_mouse_pointer (AVFilterContext *avctx, AVFrame *frame) |
static int | ddagrab_request_frame (AVFilterLink *outlink) |
Variables | |
static const AVOption | ddagrab_options [] |
static const D3D11_INPUT_ELEMENT_DESC | vertex_shader_input_layout [] |
static const AVFilterPad | ddagrab_outputs [] |
const AVFilter | ff_vsrc_ddagrab |
#define _WIN32_WINNT 0x0A00 |
Definition at line 23 of file vsrc_ddagrab.c.
#define COBJMACROS |
Definition at line 28 of file vsrc_ddagrab.c.
#define TIMER_RES 1000000 |
Definition at line 52 of file vsrc_ddagrab.c.
#define TIMER_RES64 INT64_C(1000000) |
Definition at line 53 of file vsrc_ddagrab.c.
#define OFFSET | ( | x | ) | offsetof(DdagrabContext, x) |
Definition at line 109 of file vsrc_ddagrab.c.
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 110 of file vsrc_ddagrab.c.
AVFILTER_DEFINE_CLASS | ( | ddagrab | ) |
|
inlinestatic |
Definition at line 137 of file vsrc_ddagrab.c.
Referenced by create_d3d11_pointer_tex(), ddagrab_request_frame(), ddagrab_uninit(), next_frame_internal(), and update_mouse_pointer().
|
static |
Definition at line 146 of file vsrc_ddagrab.c.
|
static |
Definition at line 172 of file vsrc_ddagrab.c.
Referenced by ddagrab_config_props().
|
static |
Definition at line 339 of file vsrc_ddagrab.c.
Referenced by ddagrab_config_props().
|
static |
Definition at line 440 of file vsrc_ddagrab.c.
|
static |
Definition at line 454 of file vsrc_ddagrab.c.
Referenced by update_mouse_pointer().
|
static |
Definition at line 507 of file vsrc_ddagrab.c.
Referenced by update_mouse_pointer().
|
static |
Definition at line 568 of file vsrc_ddagrab.c.
Referenced by update_mouse_pointer().
|
static |
Definition at line 598 of file vsrc_ddagrab.c.
Referenced by next_frame_internal().
|
static |
Definition at line 687 of file vsrc_ddagrab.c.
Referenced by ddagrab_request_frame(), and probe_output_format().
|
static |
Definition at line 779 of file vsrc_ddagrab.c.
Referenced by ddagrab_config_props().
|
static |
Definition at line 807 of file vsrc_ddagrab.c.
Referenced by ddagrab_config_props().
|
static |
Definition at line 855 of file vsrc_ddagrab.c.
|
static |
Definition at line 931 of file vsrc_ddagrab.c.
Referenced by ddagrab_request_frame().
|
static |
Definition at line 1079 of file vsrc_ddagrab.c.
|
static |
Definition at line 111 of file vsrc_ddagrab.c.
|
static |
Definition at line 333 of file vsrc_ddagrab.c.
Referenced by init_render_resources().
|
static |
Definition at line 1237 of file vsrc_ddagrab.c.
const AVFilter ff_vsrc_ddagrab |
Definition at line 1246 of file vsrc_ddagrab.c.