FFmpeg
|
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/time.h"
#include "libavutil/pixdesc.h"
#include "filters.h"
#include "qsvvpp.h"
#include "video.h"
Go to the source code of this file.
Data Structures | |
struct | QSVAsyncFrame |
Macros | |
#define | MFXUnload(a) do { } while(0) |
#define | IS_VIDEO_MEMORY(mode) |
#define | IS_OPAQUE_MEMORY(mode) (mode & MFX_MEMTYPE_OPAQUE_FRAME) |
#define | IS_SYSTEM_MEMORY(mode) (mode & MFX_MEMTYPE_SYSTEM_MEMORY) |
#define | MFX_IMPL_VIA_MASK(impl) (0x0f00 & (impl)) |
#define | QSV_HAVE_AUDIO !QSV_ONEVPL |
Functions | |
int | ff_qsvvpp_print_iopattern (void *log_ctx, int mfx_iopattern, const char *extra_string) |
static int | qsv_map_error (mfxStatus mfx_err, const char **desc) |
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) |
static mfxStatus | frame_alloc (mfxHDL pthis, mfxFrameAllocRequest *req, mfxFrameAllocResponse *resp) |
static mfxStatus | frame_free (mfxHDL pthis, mfxFrameAllocResponse *resp) |
static mfxStatus | frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr) |
static mfxStatus | frame_unlock (mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr) |
static mfxStatus | frame_get_hdl (mfxHDL pthis, mfxMemId mid, mfxHDL *hdl) |
static int | pix_fmt_to_mfx_fourcc (int format) |
static int | map_frame_to_surface (AVFrame *frame, mfxFrameSurface1 *surface) |
static int | fill_frameinfo_by_link (mfxFrameInfo *frameinfo, AVFilterLink *link) |
static void | clear_unused_frames (QSVFrame *list) |
static void | clear_frame_list (QSVFrame **list) |
static QSVFrame * | get_free_frame (QSVFrame **list) |
static QSVFrame * | submit_frame (QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picref) |
static QSVFrame * | query_frame (QSVVPPContext *s, AVFilterLink *outlink, const AVFrame *in, const AVFrame *propref) |
static int | init_vpp_session (AVFilterContext *avctx, QSVVPPContext *s) |
static int | set_frame_ext_params_null (AVFilterContext *ctx, const AVFrame *in, AVFrame *out, QSVVPPFrameParam *fp) |
int | ff_qsvvpp_init (AVFilterContext *avctx, QSVVPPParam *param) |
static int | qsvvpp_init_vpp_session (AVFilterContext *avctx, QSVVPPContext *s, const QSVFrame *in, QSVFrame *out) |
int | ff_qsvvpp_close (AVFilterContext *avctx) |
int | ff_qsvvpp_filter_frame (QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picref, AVFrame *propref) |
int | ff_qsvvpp_create_mfx_session (void *ctx, void *loader, mfxIMPL implementation, mfxVersion *pver, mfxSession *psession) |
AVFrame * | ff_qsvvpp_get_video_buffer (AVFilterLink *inlink, int w, int h) |
Variables | |
static const AVRational | default_tb = { 1, 90000 } |
struct { | |
int mfx_iopattern | |
const char * desc | |
} | qsv_iopatterns [] |
struct { | |
mfxStatus mfxerr | |
int averr | |
const char * desc | |
} | qsv_errors [] |
Intel Quick Sync Video VPP base function
Definition in file qsvvpp.c.
#define IS_VIDEO_MEMORY | ( | mode | ) |
#define QSV_HAVE_AUDIO !QSV_ONEVPL |
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().
|
static |
Definition at line 140 of file qsvvpp.c.
Referenced by ff_qsvvpp_print_error(), and ff_qsvvpp_print_warning().
int ff_qsvvpp_print_error | ( | void * | log_ctx, |
mfxStatus | err, | ||
const char * | error_string | ||
) |
Definition at line 155 of file qsvvpp.c.
Referenced by ff_qsvvpp_create_mfx_session(), ff_qsvvpp_filter_frame(), ff_qsvvpp_init(), init_vpp_session(), and qsvvpp_init_vpp_session().
int ff_qsvvpp_print_warning | ( | void * | log_ctx, |
mfxStatus | err, | ||
const char * | warning_string | ||
) |
Definition at line 165 of file qsvvpp.c.
Referenced by ff_qsvvpp_create_mfx_session(), ff_qsvvpp_filter_frame(), ff_qsvvpp_init(), init_vpp_session(), and qsvvpp_init_vpp_session().
|
static |
Definition at line 176 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 210 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 216 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 221 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 226 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 238 of file qsvvpp.c.
Referenced by fill_frameinfo_by_link().
|
static |
Definition at line 260 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 298 of file qsvvpp.c.
Referenced by ff_qsvvpp_init().
|
static |
Definition at line 354 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 367 of file qsvvpp.c.
Referenced by ff_qsvvpp_close().
Definition at line 379 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 405 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
|
static |
Definition at line 474 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
|
static |
Definition at line 558 of file qsvvpp.c.
Referenced by ff_qsvvpp_init().
|
static |
Definition at line 743 of file qsvvpp.c.
Referenced by 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 748 of file qsvvpp.c.
Referenced by config_output().
|
static |
Definition at line 886 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
int ff_qsvvpp_close | ( | AVFilterContext * | avctx | ) |
Definition at line 940 of file qsvvpp.c.
Referenced by ff_qsvvpp_init(), overlay_qsv_uninit(), qsv_stack_uninit(), and vpp_uninit().
int ff_qsvvpp_filter_frame | ( | QSVVPPContext * | s, |
AVFilterLink * | inlink, | ||
AVFrame * | picref, | ||
AVFrame * | propref | ||
) |
Definition at line 964 of file qsvvpp.c.
Referenced by activate(), and process_frame().
int ff_qsvvpp_create_mfx_session | ( | void * | ctx, |
void * | loader, | ||
mfxIMPL | implementation, | ||
mfxVersion * | pver, | ||
mfxSession * | psession | ||
) |
Definition at line 1115 of file qsvvpp.c.
Referenced by init_vpp_session().
AVFrame* ff_qsvvpp_get_video_buffer | ( | AVFilterLink * | inlink, |
int | w, | ||
int | h | ||
) |
|
static |
Definition at line 50 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame(), and submit_frame().
int mfx_iopattern |
Definition at line 58 of file qsvvpp.c.
Referenced by ff_qsvvpp_print_iopattern().
const char* desc |
Definition at line 59 of file qsvvpp.c.
Referenced by ff_qsvvpp_print_error(), ff_qsvvpp_print_iopattern(), ff_qsvvpp_print_warning(), fill_frameinfo_by_link(), and qsv_map_error().
const { ... } qsv_iopatterns[] |
Referenced by ff_qsvvpp_print_iopattern().
mfxStatus mfxerr |
Definition at line 91 of file qsvvpp.c.
Referenced by qsv_map_error().
const { ... } qsv_errors[] |
Referenced by qsv_map_error().