Libav
Data Structures | Macros | Functions | Variables
vf_scale_vaapi.c File Reference
#include <string.h>
#include <va/va.h>
#include <va/va_vpp.h>
#include "libavutil/avassert.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_vaapi.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  ScaleVAAPIContext
 

Macros

#define CS(av, va)   case AVCOL_SPC_ ## av: return VAProcColorStandard ## va;
 
#define OFFSET(x)   offsetof(ScaleVAAPIContext, x)
 
#define FLAGS   (AV_OPT_FLAG_VIDEO_PARAM)
 

Functions

static int scale_vaapi_query_formats (AVFilterContext *avctx)
 
static int scale_vaapi_pipeline_uninit (ScaleVAAPIContext *ctx)
 
static int scale_vaapi_config_input (AVFilterLink *inlink)
 
static int scale_vaapi_config_output (AVFilterLink *outlink)
 
static int vaapi_proc_colour_standard (enum AVColorSpace av_cs)
 
static int scale_vaapi_filter_frame (AVFilterLink *inlink, AVFrame *input_frame)
 
static av_cold int scale_vaapi_init (AVFilterContext *avctx)
 
static av_cold void scale_vaapi_uninit (AVFilterContext *avctx)
 

Variables

static const AVOption scale_vaapi_options []
 
static const AVClass scale_vaapi_class
 
static const AVFilterPad scale_vaapi_inputs []
 
static const AVFilterPad scale_vaapi_outputs []
 
AVFilter ff_vf_scale_vaapi
 

Macro Definition Documentation

◆ CS

#define CS (   av,
  va 
)    case AVCOL_SPC_ ## av: return VAProcColorStandard ## va;

◆ OFFSET

#define OFFSET (   x)    offsetof(ScaleVAAPIContext, x)

Definition at line 413 of file vf_scale_vaapi.c.

◆ FLAGS

#define FLAGS   (AV_OPT_FLAG_VIDEO_PARAM)

Definition at line 414 of file vf_scale_vaapi.c.

Function Documentation

◆ scale_vaapi_query_formats()

static int scale_vaapi_query_formats ( AVFilterContext avctx)
static

Definition at line 59 of file vf_scale_vaapi.c.

◆ scale_vaapi_pipeline_uninit()

static int scale_vaapi_pipeline_uninit ( ScaleVAAPIContext ctx)
static

◆ scale_vaapi_config_input()

static int scale_vaapi_config_input ( AVFilterLink inlink)
static

Definition at line 92 of file vf_scale_vaapi.c.

◆ scale_vaapi_config_output()

static int scale_vaapi_config_output ( AVFilterLink outlink)
static

Definition at line 111 of file vf_scale_vaapi.c.

◆ vaapi_proc_colour_standard()

static int vaapi_proc_colour_standard ( enum AVColorSpace  av_cs)
static

Definition at line 239 of file vf_scale_vaapi.c.

Referenced by scale_vaapi_filter_frame().

◆ scale_vaapi_filter_frame()

static int scale_vaapi_filter_frame ( AVFilterLink inlink,
AVFrame input_frame 
)
static

Definition at line 253 of file vf_scale_vaapi.c.

◆ scale_vaapi_init()

static av_cold int scale_vaapi_init ( AVFilterContext avctx)
static

Definition at line 378 of file vf_scale_vaapi.c.

◆ scale_vaapi_uninit()

static av_cold void scale_vaapi_uninit ( AVFilterContext avctx)
static

Definition at line 400 of file vf_scale_vaapi.c.

Variable Documentation

◆ scale_vaapi_options

const AVOption scale_vaapi_options[]
static
Initial value:
= {
{ "w", "Output video width",
OFFSET(output_width), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS },
{ "h", "Output video height",
OFFSET(output_height), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS },
{ "format", "Output video format (software format of hardware frames)",
OFFSET(output_format_string), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ NULL },
}
NULL
Definition: eval.c:55
#define FLAGS
#define OFFSET(x)

Definition at line 415 of file vf_scale_vaapi.c.

◆ scale_vaapi_class

const AVClass scale_vaapi_class
static
Initial value:
= {
.class_name = "scale_vaapi",
.item_name = av_default_item_name,
}
static const AVOption scale_vaapi_options[]
LIBAVUTIL_VERSION_INT
Definition: eval.c:55
av_default_item_name
Definition: dnxhdenc.c:55

Definition at line 425 of file vf_scale_vaapi.c.

◆ scale_vaapi_inputs

const AVFilterPad scale_vaapi_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = &scale_vaapi_filter_frame,
.config_props = &scale_vaapi_config_input,
},
{ NULL }
}
static int scale_vaapi_config_input(AVFilterLink *inlink)
NULL
Definition: eval.c:55
static int scale_vaapi_filter_frame(AVFilterLink *inlink, AVFrame *input_frame)

Definition at line 432 of file vf_scale_vaapi.c.

◆ scale_vaapi_outputs

const AVFilterPad scale_vaapi_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = &scale_vaapi_config_output,
},
{ NULL }
}
static int scale_vaapi_config_output(AVFilterLink *outlink)
NULL
Definition: eval.c:55

Definition at line 442 of file vf_scale_vaapi.c.

◆ ff_vf_scale_vaapi

AVFilter ff_vf_scale_vaapi
Initial value:
= {
.name = "scale_vaapi",
.description = NULL_IF_CONFIG_SMALL("Scale to/from VAAPI surfaces."),
.priv_size = sizeof(ScaleVAAPIContext),
.priv_class = &scale_vaapi_class,
}
static const AVFilterPad outputs[]
Definition: af_ashowinfo.c:259
static av_cold void uninit(AVFilterContext *ctx)
Definition: af_amix.c:514
static av_cold void scale_vaapi_uninit(AVFilterContext *avctx)
static int query_formats(AVFilterContext *ctx)
Definition: af_aformat.c:112
static av_cold int scale_vaapi_init(AVFilterContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:148
static const AVFilterPad scale_vaapi_inputs[]
static const AVClass scale_vaapi_class
static const AVFilterPad inputs[]
Definition: af_ashowinfo.c:248
static const AVFilterPad scale_vaapi_outputs[]
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:582
static int scale_vaapi_query_formats(AVFilterContext *avctx)

Definition at line 451 of file vf_scale_vaapi.c.