Libav
Functions | Variables
qsv.c File Reference
#include <mfx/mfxvideo.h>
#include <mfx/mfxplugin.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avstring.h"
#include "libavutil/common.h"
#include "libavutil/error.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_qsv.h"
#include "avcodec.h"
#include "qsv_internal.h"

Go to the source code of this file.

Functions

int ff_qsv_codec_id_to_mfx (enum AVCodecID codec_id)
 
int ff_qsv_map_error (mfxStatus mfx_err, const char **desc)
 Convert a libmfx error code into a libav error code. More...
 
int ff_qsv_print_error (void *log_ctx, mfxStatus err, const char *error_string)
 
int ff_qsv_print_warning (void *log_ctx, mfxStatus err, const char *warning_string)
 
int ff_qsv_map_pixfmt (enum AVPixelFormat format, uint32_t *fourcc)
 
static int qsv_load_plugins (mfxSession session, const char *load_plugins, void *logctx)
 
int ff_qsv_init_internal_session (AVCodecContext *avctx, mfxSession *session, const char *load_plugins)
 
static mfxStatus qsv_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest *req, mfxFrameAllocResponse *resp)
 
static mfxStatus qsv_frame_free (mfxHDL pthis, mfxFrameAllocResponse *resp)
 
static mfxStatus qsv_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
 
static mfxStatus qsv_frame_unlock (mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
 
static mfxStatus qsv_frame_get_hdl (mfxHDL pthis, mfxMemId mid, mfxHDL *hdl)
 
int ff_qsv_init_session_hwcontext (AVCodecContext *avctx, mfxSession *psession, QSVFramesContext *qsv_frames_ctx, const char *load_plugins, int opaque)
 

Variables

struct {
   mfxStatus   mfxerr
 
   int   averr
 
   const char *   desc
 
qsv_errors []
 

Function Documentation

◆ ff_qsv_codec_id_to_mfx()

int ff_qsv_codec_id_to_mfx ( enum AVCodecID  codec_id)

Definition at line 36 of file qsv.c.

Referenced by init_video_param(), and qsv_decode_init().

◆ ff_qsv_map_error()

int ff_qsv_map_error ( mfxStatus  mfx_err,
const char **  desc 
)

Convert a libmfx error code into a libav error code.

Definition at line 97 of file qsv.c.

Referenced by ff_qsv_print_error(), and ff_qsv_print_warning().

◆ ff_qsv_print_error()

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

◆ ff_qsv_print_warning()

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

Definition at line 122 of file qsv.c.

Referenced by encode_frame(), and ff_qsv_enc_init().

◆ ff_qsv_map_pixfmt()

int ff_qsv_map_pixfmt ( enum AVPixelFormat  format,
uint32_t *  fourcc 
)

Definition at line 132 of file qsv.c.

Referenced by ff_qsv_process_data(), and init_video_param().

◆ qsv_load_plugins()

static int qsv_load_plugins ( mfxSession  session,
const char *  load_plugins,
void logctx 
)
static

Definition at line 149 of file qsv.c.

Referenced by ff_qsv_init_internal_session(), and ff_qsv_init_session_hwcontext().

◆ ff_qsv_init_internal_session()

int ff_qsv_init_internal_session ( AVCodecContext avctx,
mfxSession *  session,
const char *  load_plugins 
)

Definition at line 200 of file qsv.c.

Referenced by qsv_init_session(), and qsvenc_init_session().

◆ qsv_frame_alloc()

static mfxStatus qsv_frame_alloc ( mfxHDL  pthis,
mfxFrameAllocRequest *  req,
mfxFrameAllocResponse *  resp 
)
static

Definition at line 243 of file qsv.c.

Referenced by ff_qsv_init_session_hwcontext().

◆ qsv_frame_free()

static mfxStatus qsv_frame_free ( mfxHDL  pthis,
mfxFrameAllocResponse *  resp 
)
static

Definition at line 269 of file qsv.c.

Referenced by ff_qsv_init_session_hwcontext().

◆ qsv_frame_lock()

static mfxStatus qsv_frame_lock ( mfxHDL  pthis,
mfxMemId  mid,
mfxFrameData *  ptr 
)
static

Definition at line 274 of file qsv.c.

Referenced by ff_qsv_init_session_hwcontext().

◆ qsv_frame_unlock()

static mfxStatus qsv_frame_unlock ( mfxHDL  pthis,
mfxMemId  mid,
mfxFrameData *  ptr 
)
static

Definition at line 279 of file qsv.c.

Referenced by ff_qsv_init_session_hwcontext().

◆ qsv_frame_get_hdl()

static mfxStatus qsv_frame_get_hdl ( mfxHDL  pthis,
mfxMemId  mid,
mfxHDL *  hdl 
)
static

Definition at line 284 of file qsv.c.

Referenced by ff_qsv_init_session_hwcontext().

◆ ff_qsv_init_session_hwcontext()

int ff_qsv_init_session_hwcontext ( AVCodecContext avctx,
mfxSession *  psession,
QSVFramesContext qsv_frames_ctx,
const char *  load_plugins,
int  opaque 
)

Definition at line 290 of file qsv.c.

Referenced by qsv_init_session(), and qsvenc_init_session().

Variable Documentation

◆ mfxerr

mfxStatus mfxerr

Definition at line 58 of file qsv.c.

Referenced by ff_qsv_map_error().

◆ averr

int averr

Definition at line 59 of file qsv.c.

◆ desc

const char* desc

Definition at line 60 of file qsv.c.

Referenced by ff_qsv_init_internal_session(), ff_qsv_print_error(), and ff_qsv_print_warning().

◆ qsv_errors

const { ... } qsv_errors[]

Referenced by ff_qsv_map_error().