FFmpeg
Loading...
Searching...
No Matches
vf_stack_qsv.c File Reference

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

#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.

Referenced by stack_init().

◆ VSTACK_NAME

#define VSTACK_NAME   "vstack_qsv"

Definition at line 46 of file vf_stack_qsv.c.

Referenced by stack_init().

◆ XSTACK_NAME

#define XSTACK_NAME   "xstack_qsv"

Definition at line 47 of file vf_stack_qsv.c.

Referenced by stack_init().

◆ 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.

◆ 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:
= {
}
#define AV_PIX_FMT_P010
Definition pixfmt.h:608
@ 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
Definition pixfmt.h:72
@ AV_PIX_FMT_QSV
HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure.
Definition pixfmt.h:247

Definition at line 226 of file vf_stack_qsv.c.