FFmpeg
Data Structures | Macros | Functions
qsvvpp.h File Reference
#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  QSVVPPContext
 
struct  QSVVPPCrop
 
struct  QSVVPPParam
 

Macros

#define FF_INLINK_IDX(link)   ((int)((link)->dstpad - (link)->dst->input_pads))
 
#define FF_OUTLINK_IDX(link)   ((int)((link)->srcpad - (link)->src->output_pads))
 
#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
 

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)
 
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)    ((int)((link)->dstpad - (link)->dst->input_pads))

Definition at line 34 of file qsvvpp.h.

◆ FF_OUTLINK_IDX

#define FF_OUTLINK_IDX (   link)    ((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.

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 690 of file qsvvpp.c.

Referenced by config_output().

◆ ff_qsvvpp_close()

int ff_qsvvpp_close ( AVFilterContext avctx)

Definition at line 811 of file qsvvpp.c.

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

◆ ff_qsvvpp_filter_frame()

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

Definition at line 835 of file qsvvpp.c.

Referenced by activate(), 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 72 of file qsvvpp.c.

Referenced by ff_qsvvpp_init(), and init_out_session().

◆ 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 986 of file qsvvpp.c.

Referenced by init_out_session(), and init_vpp_session().

◆ ff_qsvvpp_get_video_buffer()

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

Definition at line 1017 of file qsvvpp.c.