#include "config.h"
#include "libavutil/pixdesc.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_amf.h"
#include "libavutil/hwcontext_amf_internal.h"
#include "compat/w32dlfcn.h"
#include "avfilter.h"
#include "filters.h"
#include "video.h"
#include <AMF/core/Factory.h>
#include <AMF/core/Surface.h>
#include <AMF/components/ColorSpace.h>
#include <AMF/components/DisplayCapture.h>
Go to the source code of this file.
◆ OFFSET
◆ FLAGS
◆ AVFILTER_DEFINE_CLASS()
| AVFILTER_DEFINE_CLASS |
( |
amf_capture | | ) |
|
◆ amf_release_surface()
| static void amf_release_surface |
( |
void * | opaque, |
|
|
uint8_t * | data ) |
|
static |
◆ amf_uninit()
◆ amf_init()
◆ amf_init_vsrc()
◆ amf_config_props()
◆ amf_capture_frame()
◆ amf_capture_options
Initial value:= {
{
"duplicate_output",
"Use display output duplication for screen capture",
OFFSET(duplicate_output),
AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1,
FLAGS },
{
"capture_mode",
"Capture synchronization mode",
OFFSET(capture_mode),
AV_OPT_TYPE_INT, {.i64 = AMF_DISPLAYCAPTURE_MODE_KEEP_FRAMERATE}, 0, 2,
FLAGS,
"mode" },
{
"keep_framerate",
"Capture component maintains the frame rate", 0,
AV_OPT_TYPE_CONST, {.i64 = AMF_DISPLAYCAPTURE_MODE_KEEP_FRAMERATE}, 0, 0,
FLAGS,
"mode" },
{
"wait_for_present",
"Capture component waits for flip (present) event", 0,
AV_OPT_TYPE_CONST, {.i64 = AMF_DISPLAYCAPTURE_MODE_WAIT_FOR_PRESENT}, 0, 0,
FLAGS,
"mode" },
{
"get_current",
"Returns current visible surface immediately", 0,
AV_OPT_TYPE_CONST, {.i64 = AMF_DISPLAYCAPTURE_MODE_GET_CURRENT_SURFACE}, 0, 0,
FLAGS,
"mode" },
}
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
@ AV_OPT_TYPE_INT
Underlying C type is int.
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
Definition at line 60 of file vsrc_amf.c.
◆ amf_outputs
Initial value:= {
{
.name = "default",
},
}
static int amf_config_props(AVFilterLink *outlink)
static int amf_capture_frame(AVFilterLink *outlink)
Definition at line 378 of file vsrc_amf.c.
◆ ff_vsrc_amf_capture
Initial value:= {
.p.name = "vsrc_amf",
.p.priv_class = &amf_capture_class,
}
int(* init)(AVBSFContext *ctx)
#define AVFILTER_FLAG_HWDEVICE
The filter can create hardware frames using AVFilterContext.hw_device_ctx.
static av_cold void uninit(AVBitStreamFilterContext *ctx)
#define FILTER_OUTPUTS(array)
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
#define FILTER_SINGLE_PIXFMT(pix_fmt_)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
@ AV_PIX_FMT_AMF_SURFACE
HW acceleration through AMF.
static av_cold int amf_init(AVFilterContext *avctx)
static const AVFilterPad amf_outputs[]
static av_cold void amf_uninit(AVFilterContext *avctx)
Definition at line 387 of file vsrc_amf.c.