|
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 <system_error>#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 71 of file vsrc_gfxcapture_winrt.cpp.
| #define TIMESPAN_RES64 INT64_C(10000000) |
Definition at line 72 of file vsrc_gfxcapture_winrt.cpp.
| #define CAPTURE_POOL_SIZE 2 |
Definition at line 74 of file vsrc_gfxcapture_winrt.cpp.
| #define CCTX | ( | ctx | ) | static_cast<GfxCaptureContext*>(ctx) |
Definition at line 80 of file vsrc_gfxcapture_winrt.cpp.
| #define CHECK_HR | ( | fcall, | |
| action | |||
| ) |
Definition at line 182 of file vsrc_gfxcapture_winrt.cpp.
| #define CHECK_HR_RET | ( | ... | ) | CHECK_HR((__VA_ARGS__), return AVERROR_EXTERNAL) |
Definition at line 190 of file vsrc_gfxcapture_winrt.cpp.
| #define CHECK_HR_FAIL | ( | ... | ) | CHECK_HR((__VA_ARGS__), ret = AVERROR_EXTERNAL; goto fail) |
Definition at line 191 of file vsrc_gfxcapture_winrt.cpp.
| #define CHECK_HR_LOG | ( | ... | ) | CHECK_HR((__VA_ARGS__), (void)0) |
Definition at line 192 of file vsrc_gfxcapture_winrt.cpp.
| anonymous enum |
| Enumerator | |
|---|---|
| WM_WGC_THREAD_SHUTDOWN | |
Definition at line 76 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 171 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 199 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 207 of file vsrc_gfxcapture_winrt.cpp.
|
staticnoexcept |
Definition at line 215 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_uninit(), and wgc_thread_worker().
|
static |
Definition at line 255 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_setup_gfxcapture_session(), and wgc_try_get_next_frame().
|
static |
Definition at line 325 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_setup_gfxcapture_capture().
|
static |
Definition at line 406 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_init().
|
static |
Definition at line 446 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 480 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_init().
|
staticnoexcept |
Definition at line 501 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry(), and wgc_thread_init().
|
static |
Definition at line 512 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry().
|
static |
Definition at line 549 of file vsrc_gfxcapture_winrt.cpp.
Referenced by wgc_thread_entry().
|
staticnoexcept |
Definition at line 599 of file vsrc_gfxcapture_winrt.cpp.
Referenced by start_wgc_thread().
|
static |
Definition at line 656 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_uninit(), and setup_gfxcapture_capture().
|
static |
Definition at line 675 of file vsrc_gfxcapture_winrt.cpp.
Referenced by setup_gfxcapture_capture().
|
static |
Definition at line 706 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 775 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source().
|
static |
Definition at line 802 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source(), and get_window_exe_name().
|
static |
Definition at line 817 of file vsrc_gfxcapture_winrt.cpp.
Referenced by find_capture_source().
|
static |
Definition at line 857 of file vsrc_gfxcapture_winrt.cpp.
Referenced by setup_gfxcapture_capture().
|
static |
Definition at line 971 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_uninit(), and gfxcapture_init().
|
static |
Definition at line 991 of file vsrc_gfxcapture_winrt.cpp.
|
static |
Definition at line 995 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_init().
|
static |
Definition at line 1047 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_init().
|
static |
Definition at line 1068 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1101 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1143 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_config_props().
|
static |
Definition at line 1198 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_config_props().
|
static |
Definition at line 1271 of file vsrc_gfxcapture_winrt.cpp.
Referenced by process_frame_if_exists().
|
static |
Definition at line 1397 of file vsrc_gfxcapture_winrt.cpp.
Referenced by gfxcapture_activate().
|
static |
Definition at line 1462 of file vsrc_gfxcapture_winrt.cpp.
Referenced by ff_gfxcapture_activate().
|
noexcept |
Definition at line 1501 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1512 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1527 of file vsrc_gfxcapture_winrt.cpp.
|
noexcept |
Definition at line 1542 of file vsrc_gfxcapture_winrt.cpp.
1.8.17