FFmpeg
libavfilter
vsrc_gfxcapture.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVFILTER_VSRC_GFXCAPTURE_H
20
#define AVFILTER_VSRC_GFXCAPTURE_H
21
22
#include "
libavutil/log.h
"
23
#include "
libavutil/rational.h
"
24
#include "
libavfilter/avfilter.h
"
25
26
typedef
struct
GfxCaptureContextCpp
GfxCaptureContextCpp
;
27
28
enum
GfxResizeMode
{
29
GFX_RESIZE_CROP
= 0,
30
GFX_RESIZE_SCALE
,
31
GFX_RESIZE_SCALE_ASPECT
,
32
GFX_RESIZE_NB
33
};
34
35
enum
GfxScaleMode
{
36
GFX_SCALE_POINT
= 0,
37
GFX_SCALE_BILINEAR
,
38
GFX_SCALE_BICUBIC
,
39
GFX_SCALE_NB
40
};
41
42
enum
GfxMonitorIdx
{
43
GFX_MONITOR_IDX_WINDOW
= -1,
44
GFX_MONITOR_IDX_DEFAULT
= -2
45
};
46
47
typedef
struct
GfxCaptureContext
{
48
const
AVClass
*
avclass
;
49
50
GfxCaptureContextCpp
*
ctx
;
51
52
const
char
*
window_text
;
53
const
char
*
window_class
;
54
const
char
*
window_exe
;
55
int
monitor_idx
;
56
57
uint64_t
user_hwnd
;
58
uint64_t
user_hmonitor
;
59
60
int
capture_cursor
;
61
int
capture_border
;
62
int
display_border
;
63
AVRational
frame_rate
;
64
int
canvas_width
,
canvas_height
;
65
int
crop_left
,
crop_top
,
crop_right
,
crop_bottom
;
66
int
out_fmt
;
67
int
resize_mode
;
68
int
scale_mode
;
69
int
premult_alpha
;
70
}
GfxCaptureContext
;
71
72
#ifdef __cplusplus
73
#define NOEXCEPT noexcept
74
#else
75
#define NOEXCEPT
76
#endif
77
78
av_cold
int
ff_gfxcapture_init
(
AVFilterContext
*avctx)
NOEXCEPT
;
79
av_cold
void
ff_gfxcapture_uninit
(
AVFilterContext
*avctx)
NOEXCEPT
;
80
int
ff_gfxcapture_activate
(
AVFilterContext
*avctx)
NOEXCEPT
;
81
int
ff_gfxcapture_config_props
(
AVFilterLink
*outlink)
NOEXCEPT
;
82
83
#undef NOEXCEPT
84
85
#endif
/* AVFILTER_VSRC_GFXCAPTURE_H */
GfxCaptureContext::resize_mode
int resize_mode
Definition:
vsrc_gfxcapture.h:67
GfxCaptureContext::crop_right
int crop_right
Definition:
vsrc_gfxcapture.h:65
rational.h
GfxCaptureContext::avclass
const AVClass * avclass
Definition:
vsrc_gfxcapture.h:48
GfxScaleMode
GfxScaleMode
Definition:
vsrc_gfxcapture.h:35
GfxMonitorIdx
GfxMonitorIdx
Definition:
vsrc_gfxcapture.h:42
GfxCaptureContext::capture_cursor
int capture_cursor
Definition:
vsrc_gfxcapture.h:60
AVFilterLink
A link between two filters.
Definition:
avfilter.h:395
GFX_RESIZE_CROP
@ GFX_RESIZE_CROP
Definition:
vsrc_gfxcapture.h:29
GfxCaptureContext::premult_alpha
int premult_alpha
Definition:
vsrc_gfxcapture.h:69
GfxCaptureContext::monitor_idx
int monitor_idx
Definition:
vsrc_gfxcapture.h:55
GfxCaptureContext::frame_rate
AVRational frame_rate
Definition:
vsrc_gfxcapture.h:63
GFX_RESIZE_NB
@ GFX_RESIZE_NB
Definition:
vsrc_gfxcapture.h:32
GFX_SCALE_BILINEAR
@ GFX_SCALE_BILINEAR
Definition:
vsrc_gfxcapture.h:37
GfxCaptureContext::user_hmonitor
uint64_t user_hmonitor
Definition:
vsrc_gfxcapture.h:58
av_cold
#define av_cold
Definition:
attributes.h:90
GfxCaptureContext::display_border
int display_border
Definition:
vsrc_gfxcapture.h:62
ff_gfxcapture_uninit
av_cold void ff_gfxcapture_uninit(AVFilterContext *avctx) NOEXCEPT
Definition:
vsrc_gfxcapture_winrt.cpp:1482
GfxCaptureContext::crop_left
int crop_left
Definition:
vsrc_gfxcapture.h:65
ff_gfxcapture_init
av_cold int ff_gfxcapture_init(AVFilterContext *avctx) NOEXCEPT
Definition:
vsrc_gfxcapture_winrt.cpp:1493
GfxCaptureContextCpp
Definition:
vsrc_gfxcapture_winrt.cpp:141
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:76
GFX_SCALE_NB
@ GFX_SCALE_NB
Definition:
vsrc_gfxcapture.h:39
GfxCaptureContext::crop_bottom
int crop_bottom
Definition:
vsrc_gfxcapture.h:65
ff_gfxcapture_activate
int ff_gfxcapture_activate(AVFilterContext *avctx) NOEXCEPT
Definition:
vsrc_gfxcapture_winrt.cpp:1508
AVRational
Rational number (pair of numerator and denominator).
Definition:
rational.h:58
GfxCaptureContext::capture_border
int capture_border
Definition:
vsrc_gfxcapture.h:61
NOEXCEPT
#define NOEXCEPT
Definition:
vsrc_gfxcapture.h:75
GfxCaptureContext::user_hwnd
uint64_t user_hwnd
Definition:
vsrc_gfxcapture.h:57
GfxCaptureContext
Definition:
vsrc_gfxcapture.h:47
GFX_SCALE_POINT
@ GFX_SCALE_POINT
Definition:
vsrc_gfxcapture.h:36
GFX_MONITOR_IDX_DEFAULT
@ GFX_MONITOR_IDX_DEFAULT
Definition:
vsrc_gfxcapture.h:44
GfxCaptureContext::canvas_height
int canvas_height
Definition:
vsrc_gfxcapture.h:64
GfxCaptureContext::ctx
GfxCaptureContextCpp * ctx
Definition:
vsrc_gfxcapture.h:50
GfxResizeMode
GfxResizeMode
Definition:
vsrc_gfxcapture.h:28
log.h
GFX_RESIZE_SCALE
@ GFX_RESIZE_SCALE
Definition:
vsrc_gfxcapture.h:30
GFX_RESIZE_SCALE_ASPECT
@ GFX_RESIZE_SCALE_ASPECT
Definition:
vsrc_gfxcapture.h:31
GfxCaptureContext::scale_mode
int scale_mode
Definition:
vsrc_gfxcapture.h:68
avfilter.h
GfxCaptureContext::out_fmt
int out_fmt
Definition:
vsrc_gfxcapture.h:66
GfxCaptureContext::window_text
const char * window_text
Definition:
vsrc_gfxcapture.h:52
AVFilterContext
An instance of a filter.
Definition:
avfilter.h:274
GFX_SCALE_BICUBIC
@ GFX_SCALE_BICUBIC
Definition:
vsrc_gfxcapture.h:38
GfxCaptureContext::window_exe
const char * window_exe
Definition:
vsrc_gfxcapture.h:54
ff_gfxcapture_config_props
int ff_gfxcapture_config_props(AVFilterLink *outlink) NOEXCEPT
Definition:
vsrc_gfxcapture_winrt.cpp:1523
GfxCaptureContext::canvas_width
int canvas_width
Definition:
vsrc_gfxcapture.h:64
GfxCaptureContext::crop_top
int crop_top
Definition:
vsrc_gfxcapture.h:65
GfxCaptureContext::window_class
const char * window_class
Definition:
vsrc_gfxcapture.h:53
GFX_MONITOR_IDX_WINDOW
@ GFX_MONITOR_IDX_WINDOW
Definition:
vsrc_gfxcapture.h:43
Generated on Mon Sep 15 2025 19:22:57 for FFmpeg by
1.8.17