FFmpeg
Loading...
Searching...
No Matches
qsvvpp.h File Reference

Intel Quick Sync Video VPP base function. More...

#include <mfxvideo.h>
#include "avfilter.h"
#include "libavutil/fifo.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_qsv.h"

Go to the source code of this file.

Data Structures

struct  QSVFrame
 
struct  QSVVPPFrameParam
 
struct  QSVVPPContext
 
struct  QSVVPPCrop
 
struct  QSVVPPParam
 

Macros

#define FF_INLINK_IDX(link)
 
#define FF_OUTLINK_IDX(link)
 
#define QSV_VERSION_ATLEAST(MAJOR, MINOR)
 
#define QSV_RUNTIME_VERSION_ATLEAST(MFX_VERSION, MAJOR, MINOR)
 
#define QSV_ONEVPL   QSV_VERSION_ATLEAST(2, 0)
 
#define QSV_HAVE_OPAQUE   !QSV_ONEVPL
 
#define QSVVPP_MAX_FRAME_EXTBUFS   8
 

Functions

int ff_qsvvpp_init (AVFilterContext *avctx, QSVVPPParam *param)
 
int ff_qsvvpp_close (AVFilterContext *avctx)
 
int ff_qsvvpp_filter_frame (QSVVPPContext *vpp, AVFilterLink *inlink, AVFrame *frame, AVFrame *propref)
 
int ff_qsvvpp_print_iopattern (void *log_ctx, int mfx_iopattern, const char *extra_string)
 
int ff_qsvvpp_print_error (void *log_ctx, mfxStatus err, const char *error_string)
 
int ff_qsvvpp_print_warning (void *log_ctx, mfxStatus err, const char *warning_string)
 
int ff_qsvvpp_create_mfx_session (void *ctx, void *loader, mfxIMPL implementation, mfxVersion *pver, mfxSession *psession)
 
AVFrameff_qsvvpp_get_video_buffer (AVFilterLink *inlink, int w, int h)
 

Detailed Description

Intel Quick Sync Video VPP base function.

Definition in file qsvvpp.h.

Macro Definition Documentation

◆ FF_INLINK_IDX

#define FF_INLINK_IDX ( link)
Value:
((int)((link)->dstpad - (link)->dst->input_pads))

Definition at line 34 of file qsvvpp.h.

◆ FF_OUTLINK_IDX

#define FF_OUTLINK_IDX ( link)
Value:
((int)((link)->srcpad - (link)->src->output_pads))

Definition at line 35 of file qsvvpp.h.

◆ QSV_VERSION_ATLEAST

#define QSV_VERSION_ATLEAST ( MAJOR,
MINOR )
Value:
(MFX_VERSION_MAJOR > (MAJOR) || \
MFX_VERSION_MAJOR == (MAJOR) && MFX_VERSION_MINOR >= (MINOR))

Definition at line 37 of file qsvvpp.h.

◆ QSV_RUNTIME_VERSION_ATLEAST

#define QSV_RUNTIME_VERSION_ATLEAST ( MFX_VERSION,
MAJOR,
MINOR )
Value:
((MFX_VERSION.Major > (MAJOR)) || \
(MFX_VERSION.Major == (MAJOR) && MFX_VERSION.Minor >= (MINOR)))

Definition at line 41 of file qsvvpp.h.

◆ QSV_ONEVPL

#define QSV_ONEVPL   QSV_VERSION_ATLEAST(2, 0)

Definition at line 45 of file qsvvpp.h.

◆ QSV_HAVE_OPAQUE

#define QSV_HAVE_OPAQUE   !QSV_ONEVPL

Definition at line 46 of file qsvvpp.h.

◆ QSVVPP_MAX_FRAME_EXTBUFS

#define QSVVPP_MAX_FRAME_EXTBUFS   8

Definition at line 55 of file qsvvpp.h.

Referenced by qsvvpp_init_vpp_session().

Function Documentation

◆ ff_qsvvpp_init()

int ff_qsvvpp_init ( AVFilterContext * avctx,
QSVVPPParam * param )

keep fifo size at least 1. Even when async_depth is 0, fifo is used.

Definition at line 743 of file qsvvpp.c.

Referenced by config_output(), config_output(), and config_output().

◆ ff_qsvvpp_close()

int ff_qsvvpp_close ( AVFilterContext * avctx)

Definition at line 935 of file qsvvpp.c.

Referenced by ff_qsvvpp_init(), overlay_qsv_uninit(), qsv_stack_uninit(), and vpp_uninit().

◆ ff_qsvvpp_filter_frame()

int ff_qsvvpp_filter_frame ( QSVVPPContext * vpp,
AVFilterLink * inlink,
AVFrame * frame,
AVFrame * propref )

Definition at line 959 of file qsvvpp.c.

Referenced by activate(), process_frame(), and process_frame().

◆ ff_qsvvpp_print_iopattern()

int ff_qsvvpp_print_iopattern ( void * log_ctx,
int mfx_iopattern,
const char * extra_string )

Definition at line 73 of file qsvvpp.c.

Referenced by ff_qsvvpp_init().

◆ ff_qsvvpp_print_error()

int ff_qsvvpp_print_error ( void * log_ctx,
mfxStatus err,
const char * error_string )

◆ ff_qsvvpp_print_warning()

int ff_qsvvpp_print_warning ( void * log_ctx,
mfxStatus err,
const char * warning_string )

◆ ff_qsvvpp_create_mfx_session()

int ff_qsvvpp_create_mfx_session ( void * ctx,
void * loader,
mfxIMPL implementation,
mfxVersion * pver,
mfxSession * psession )

Definition at line 1110 of file qsvvpp.c.

Referenced by init_vpp_session().

◆ ff_qsvvpp_get_video_buffer()

AVFrame * ff_qsvvpp_get_video_buffer ( AVFilterLink * inlink,
int w,
int h )

Definition at line 1141 of file qsvvpp.c.