FFmpeg
Data Structures | Macros | Functions | Variables
vf_stack_qsv.c File Reference
#include "config_components.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/eval.h"
#include "libavutil/hwcontext.h"
#include "libavutil/avstring.h"
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "libavutil/mathematics.h"
#include "libavutil/parseutils.h"
#include "filters.h"
#include "formats.h"
#include "video.h"
#include "framesync.h"
#include "qsvvpp.h"
#include "stack_internal.h"
#include "stack_internal.c"

Go to the source code of this file.

Data Structures

struct  StackQSVContext
 

Macros

#define HSTACK_NAME   "hstack_qsv"
 
#define VSTACK_NAME   "vstack_qsv"
 
#define XSTACK_NAME   "xstack_qsv"
 
#define HWContext   QSVVPPContext
 
#define StackHWContext   StackQSVContext
 

Functions

static void rgb2yuv (float r, float g, float b, int *y, int *u, int *v, int depth)
 
static int process_frame (FFFrameSync *fs)
 
static int config_output (AVFilterLink *outlink)
 
static int filter_callback (AVFilterLink *outlink, AVFrame *frame)
 
static int qsv_stack_init (AVFilterContext *ctx)
 
static av_cold void qsv_stack_uninit (AVFilterContext *ctx)
 

Variables

static enum AVPixelFormat qsv_stack_pix_fmts []
 

Detailed Description

Hardware accelerated hstack, vstack and xstack filters based on Intel Quick Sync Video VPP

Definition in file vf_stack_qsv.c.

Macro Definition Documentation

◆ HSTACK_NAME

#define HSTACK_NAME   "hstack_qsv"

Definition at line 45 of file vf_stack_qsv.c.

◆ VSTACK_NAME

#define VSTACK_NAME   "vstack_qsv"

Definition at line 46 of file vf_stack_qsv.c.

◆ XSTACK_NAME

#define XSTACK_NAME   "xstack_qsv"

Definition at line 47 of file vf_stack_qsv.c.

◆ HWContext

#define HWContext   QSVVPPContext

Definition at line 48 of file vf_stack_qsv.c.

◆ StackHWContext

#define StackHWContext   StackQSVContext

Definition at line 49 of file vf_stack_qsv.c.

Function Documentation

◆ rgb2yuv()

static void rgb2yuv ( float  r,
float  g,
float  b,
int *  y,
int *  u,
int *  v,
int  depth 
)
static

Definition at line 59 of file vf_stack_qsv.c.

Referenced by config_output().

◆ process_frame()

static int process_frame ( FFFrameSync fs)
static

Definition at line 69 of file vf_stack_qsv.c.

◆ config_output()

static int config_output ( AVFilterLink outlink)
static

Definition at line 97 of file vf_stack_qsv.c.

◆ filter_callback()

static int filter_callback ( AVFilterLink outlink,
AVFrame frame 
)
static

Definition at line 173 of file vf_stack_qsv.c.

Referenced by qsv_stack_init().

◆ qsv_stack_init()

static int qsv_stack_init ( AVFilterContext ctx)
static

Definition at line 183 of file vf_stack_qsv.c.

◆ qsv_stack_uninit()

static av_cold void qsv_stack_uninit ( AVFilterContext ctx)
static

Definition at line 215 of file vf_stack_qsv.c.

Variable Documentation

◆ qsv_stack_pix_fmts

enum AVPixelFormat qsv_stack_pix_fmts[]
static
Initial value:

Definition at line 226 of file vf_stack_qsv.c.

AV_PIX_FMT_QSV
@ AV_PIX_FMT_QSV
HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure.
Definition: pixfmt.h:247
AV_PIX_FMT_NV12
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
Definition: pixfmt.h:96
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:72
AV_PIX_FMT_P010
#define AV_PIX_FMT_P010
Definition: pixfmt.h:552