All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
qsv.c File Reference
#include <mfx/mfxvideo.h>
#include <mfx/mfxplugin.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avstring.h"
#include "libavutil/error.h"
#include "avcodec.h"
#include "qsv_internal.h"

Go to the source code of this file.


int ff_qsv_codec_id_to_mfx (enum AVCodecID codec_id)
int ff_qsv_error (int mfx_err)
 Convert a libmfx error code into a ffmpeg error code. More...
static int ff_qsv_set_display_handle (AVCodecContext *avctx, QSVSession *qs)
int ff_qsv_init_internal_session (AVCodecContext *avctx, QSVSession *qs, const char *load_plugins)
 Initialize a MSDK session. More...
int ff_qsv_close_internal_session (QSVSession *qs)

Function Documentation

int ff_qsv_codec_id_to_mfx ( enum AVCodecID  codec_id)

Definition at line 33 of file qsv.c.

Referenced by init_video_param(), and qsv_decode_init().

int ff_qsv_error ( int  mfx_err)

Convert a libmfx error code into a ffmpeg error code.

Definition at line 54 of file qsv.c.

Referenced by do_qsv_decode(), encode_frame(), ff_qsv_enc_init(), ff_qsv_init_internal_session(), ff_qsv_set_display_handle(), qsv_decode_init(), and qsv_retrieve_enc_params().

static int ff_qsv_set_display_handle ( AVCodecContext avctx,
QSVSession qs 

Definition at line 88 of file qsv.c.

Referenced by ff_qsv_init_internal_session().

int ff_qsv_init_internal_session ( AVCodecContext avctx,
QSVSession qs,
const char *  load_plugins 

Initialize a MSDK session.

Media SDK is based on sessions, so this is the prerequisite initialization for HW acceleration. For Windows the session is complete and ready to use, for Linux a display handle is required. For releases of Media Server Studio >= 2015 R4 the render nodes interface is preferred (/dev/dri/renderD). Using Media Server Studio 2015 R4 or newer is recommended but the older /dev/dri/card interface is also searched for broader compatibility.

avctxffmpeg metadata for this codec context
sessionthe MSDK session used

Definition at line 171 of file qsv.c.

Referenced by ff_qsv_enc_init(), and qsv_init_session().

int ff_qsv_close_internal_session ( QSVSession qs)

Definition at line 254 of file qsv.c.

Referenced by ff_qsv_decode_close(), and ff_qsv_enc_close().