FFmpeg
|
#include "vsrc_gfxcapture_winrt.hpp"
#include "vsrc_gfxcapture_shader.h"
#include <dwmapi.h>
#include <d3d11.h>
#include <d3dcompiler.h>
#include <dispatcherqueue.h>
#include <windows.foundation.h>
#include <windows.graphics.capture.h>
#include <windows.graphics.capture.interop.h>
#include <windows.graphics.directx.direct3d11.h>
#include "libavutil/avassert.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavutil/pixdesc.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_d3d11va.h"
#include "avfilter.h"
#include "filters.h"
#include "video.h"
#include "vsrc_gfxcapture.h"
#include <cinttypes>
#include <condition_variable>
#include <cwchar>
#include <memory>
#include <mutex>
#include <regex>
#include <string>
#include <thread>
#include <type_traits>
Go to the source code of this file.
Data Structures | |
struct | GfxCaptureFunctions |
struct | GfxCaptureContextWgc |
struct | GfxCaptureContextD3D |
struct | GfxCaptureContextCpp |
Macros | |
#define | TIMESPAN_RES 10000000 |
#define | TIMESPAN_RES64 INT64_C(10000000) |
#define | CAPTURE_POOL_SIZE 2 |
#define | CCTX(ctx) static_cast<GfxCaptureContext*>(ctx) |
#define | CHECK_HR(fcall, action) |
#define | CHECK_HR_RET(...) CHECK_HR((__VA_ARGS__), return AVERROR_EXTERNAL) |
#define | CHECK_HR_FAIL(...) CHECK_HR((__VA_ARGS__), ret = AVERROR_EXTERNAL; goto fail) |
#define | CHECK_HR_LOG(...) CHECK_HR((__VA_ARGS__), (void)0) |
#define | LOAD_DLL(handle, name) |
#define | LOAD_FUNC(handle, name) |
Enumerations | |
enum | { WM_WGC_THREAD_SHUTDOWN = WM_APP + 1 } |
#define TIMESPAN_RES 10000000 |
Definition at line 70 of file vsrc_gfxcapture_winrt.cpp.
#define TIMESPAN_RES64 INT64_C(10000000) |
Definition at line 71 of file vsrc_gfxcapture_winrt.cpp.
#define CAPTURE_POOL_SIZE 2 |
Definition at line 73 of file vsrc_gfxcapture_winrt.cpp.
#define CCTX | ( | ctx | ) | static_cast<GfxCaptureContext*>(ctx) |
Definition at line 79 of file vsrc_gfxcapture_winrt.cpp.
#define CHECK_HR | ( | fcall, | |
action | |||
) |
Definition at line 181 of file vsrc_gfxcapture_winrt.cpp.
#define CHECK_HR_RET | ( | ... | ) | CHECK_HR((__VA_ARGS__), return AVERROR_EXTERNAL) |
Definition at line 189 of file vsrc_gfxcapture_winrt.cpp.
#define CHECK_HR_FAIL | ( | ... | ) | CHECK_HR((__VA_ARGS__), ret = AVERROR_EXTERNAL; goto fail) |
Definition at line 190 of file vsrc_gfxcapture_winrt.cpp.
#define CHECK_HR_LOG | ( | ... | ) | CHECK_HR((__VA_ARGS__), (void)0) |
Definition at line 191 of file vsrc_gfxcapture_winrt.cpp.
anonymous enum |
Enumerator | |
---|---|
WM_WGC_THREAD_SHUTDOWN |
Definition at line 75 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 170 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 198 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 206 of file vsrc_gfxcapture_winrt.cpp.
|
staticnoexcept |
Definition at line 214 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_uninit(), and wgc_thread_worker().
|
static |
Definition at line 254 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_setup_gfxcapture_session(), and wgc_try_get_next_frame().
|
static |
Definition at line 324 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_setup_gfxcapture_capture().
|
static |
Definition at line 405 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_init().
|
static |
Definition at line 445 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 479 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_init().
|
staticnoexcept |
Definition at line 500 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry(), and wgc_thread_init().
|
static |
Definition at line 511 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry().
|
static |
Definition at line 548 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry().
|
staticnoexcept |
Definition at line 598 of file vsrc_gfxcapture_winrt.cpp.
Referenced by start_wgc_thread().
|
static |
Definition at line 655 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_uninit(), and setup_gfxcapture_capture().
|
static |
Definition at line 674 of file vsrc_gfxcapture_winrt.cpp.
Referenced by setup_gfxcapture_capture().
|
static |
Definition at line 705 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 774 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source().
|
static |
Definition at line 801 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source(), and get_window_exe_name().
|
static |
Definition at line 816 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source().
|
static |
Definition at line 856 of file vsrc_gfxcapture_winrt.cpp.
Referenced by setup_gfxcapture_capture().
|
static |
Definition at line 970 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_uninit(), and gfxcapture_init().
|
static |
Definition at line 990 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 994 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_init().
|
static |
Definition at line 1046 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_init().
|
static |
Definition at line 1067 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1100 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1142 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1197 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_config_props().
|
static |
Definition at line 1270 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 1396 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_activate().
|
static |
Definition at line 1461 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_activate().
|
noexcept |
Definition at line 1500 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1511 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1526 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1541 of file vsrc_gfxcapture_winrt.cpp.