FFmpeg
|
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_qsv.h"
#include "libavutil/time.h"
#include "libavutil/pixdesc.h"
#include "internal.h"
#include "qsvvpp.h"
#include "video.h"
Go to the source code of this file.
Macros | |
#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)) |
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) |
static int | init_vpp_session (AVFilterContext *avctx, QSVVPPContext *s) |
static unsigned int | qsv_fifo_item_size (void) |
static unsigned int | qsv_fifo_size (const AVFifoBuffer *fifo) |
int | ff_qsvvpp_create (AVFilterContext *avctx, QSVVPPContext **vpp, QSVVPPParam *param) |
int | ff_qsvvpp_free (QSVVPPContext **vpp) |
int | ff_qsvvpp_filter_frame (QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picref) |
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 | ) |
Definition at line 55 of file qsvvpp.c.
Referenced by ff_qsvvpp_create(), and init_out_session().
|
static |
Definition at line 112 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 127 of file qsvvpp.c.
Referenced by ff_qsvvpp_create(), ff_qsvvpp_filter_frame(), init_out_session(), init_vpp_session(), and qsvscale_filter_frame().
int ff_qsvvpp_print_warning | ( | void * | log_ctx, |
mfxStatus | err, | ||
const char * | warning_string | ||
) |
Definition at line 137 of file qsvvpp.c.
Referenced by ff_qsvvpp_create(), ff_qsvvpp_filter_frame(), init_out_session(), and init_vpp_session().
|
static |
Definition at line 148 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 182 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 188 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 193 of file qsvvpp.c.
Referenced by init_vpp_session().
|
static |
Definition at line 198 of file qsvvpp.c.
Referenced by init_vpp_session().
Definition at line 210 of file qsvvpp.c.
Referenced by fill_frameinfo_by_link().
Definition at line 226 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 259 of file qsvvpp.c.
Referenced by ff_qsvvpp_create().
|
static |
Definition at line 306 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 319 of file qsvvpp.c.
Referenced by ff_qsvvpp_free().
Definition at line 331 of file qsvvpp.c.
Referenced by query_frame(), and submit_frame().
|
static |
Definition at line 357 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
|
static |
Definition at line 428 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
|
static |
Definition at line 478 of file qsvvpp.c.
Referenced by ff_qsvvpp_create().
|
static |
Definition at line 645 of file qsvvpp.c.
Referenced by ff_qsvvpp_create(), and qsv_fifo_size().
|
static |
Definition at line 650 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame().
int ff_qsvvpp_create | ( | AVFilterContext * | avctx, |
QSVVPPContext ** | vpp, | ||
QSVVPPParam * | param | ||
) |
keep fifo size at least 1. Even when async_depth is 0, fifo is used.
Definition at line 655 of file qsvvpp.c.
Referenced by config_output().
int ff_qsvvpp_free | ( | QSVVPPContext ** | vpp | ) |
Definition at line 773 of file qsvvpp.c.
Referenced by ff_qsvvpp_create(), overlay_qsv_uninit(), and vpp_uninit().
int ff_qsvvpp_filter_frame | ( | QSVVPPContext * | s, |
AVFilterLink * | inlink, | ||
AVFrame * | picref | ||
) |
Definition at line 798 of file qsvvpp.c.
Referenced by activate(), and process_frame().
|
static |
Definition at line 41 of file qsvvpp.c.
Referenced by ff_qsvvpp_filter_frame(), and submit_frame().
int mfx_iopattern |
Definition at line 44 of file qsvvpp.c.
Referenced by ff_qsvvpp_print_iopattern().
const char* desc |
Definition at line 45 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 73 of file qsvvpp.c.
Referenced by qsv_map_error().
const { ... } qsv_errors[] |
Referenced by qsv_map_error().