FFmpeg  4.0
Data Structures | Macros | Functions
qsv_internal.h File Reference
#include <mfx/mfxvideo.h>
#include "libavutil/frame.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  QSVMid
 
struct  QSVFrame
 
struct  QSVFramesContext
 

Macros

#define QSV_VERSION_MAJOR   1
 
#define QSV_VERSION_MINOR   1
 
#define ASYNC_DEPTH_DEFAULT   4
 
#define QSV_MAX_ENC_PAYLOAD   2
 
#define QSV_VERSION_ATLEAST(MAJOR, MINOR)
 
#define QSV_RUNTIME_VERSION_ATLEAST(MFX_VERSION, MAJOR, MINOR)
 

Functions

int ff_qsv_map_error (mfxStatus mfx_err, const char **desc)
 Convert a libmfx error code into an ffmpeg 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_codec_id_to_mfx (enum AVCodecID codec_id)
 
int ff_qsv_profile_to_mfx (enum AVCodecID codec_id, int profile)
 
int ff_qsv_map_pixfmt (enum AVPixelFormat format, uint32_t *fourcc)
 
enum AVPictureType ff_qsv_map_pictype (int mfx_pic_type)
 
int ff_qsv_init_internal_session (AVCodecContext *avctx, mfxSession *session, const char *load_plugins)
 
int ff_qsv_init_session_device (AVCodecContext *avctx, mfxSession *psession, AVBufferRef *device_ref, const char *load_plugins)
 
int ff_qsv_init_session_frames (AVCodecContext *avctx, mfxSession *session, QSVFramesContext *qsv_frames_ctx, const char *load_plugins, int opaque)
 
int ff_qsv_find_surface_idx (QSVFramesContext *ctx, QSVFrame *frame)
 

Macro Definition Documentation

◆ QSV_VERSION_MAJOR

#define QSV_VERSION_MAJOR   1

Definition at line 30 of file qsv_internal.h.

Referenced by ff_qsv_init_internal_session().

◆ QSV_VERSION_MINOR

#define QSV_VERSION_MINOR   1

Definition at line 31 of file qsv_internal.h.

Referenced by ff_qsv_init_internal_session().

◆ ASYNC_DEPTH_DEFAULT

#define ASYNC_DEPTH_DEFAULT   4

Definition at line 33 of file qsv_internal.h.

◆ QSV_MAX_ENC_PAYLOAD

#define QSV_MAX_ENC_PAYLOAD   2

Definition at line 35 of file qsv_internal.h.

Referenced by free_encoder_ctrl_payloads(), and get_free_frame().

◆ 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 qsv_internal.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 qsv_internal.h.

Referenced by ff_qsv_init_session_device(), init_out_session(), init_video_param(), and init_vpp_session().

Function Documentation

◆ ff_qsv_map_error()

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

Convert a libmfx error code into an ffmpeg error code.

Definition at line 125 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 150 of file qsv.c.

Referenced by encode_frame(), ff_qsv_enc_init(), and qsv_decode().

◆ ff_qsv_codec_id_to_mfx()

int ff_qsv_codec_id_to_mfx ( enum AVCodecID  codec_id)

Definition at line 42 of file qsv.c.

Referenced by init_video_param(), init_video_param_jpeg(), and qsv_decode_init().

◆ ff_qsv_profile_to_mfx()

int ff_qsv_profile_to_mfx ( enum AVCodecID  codec_id,
int  profile 
)

Definition at line 69 of file qsv.c.

Referenced by qsv_decode_init().

◆ ff_qsv_map_pixfmt()

int ff_qsv_map_pixfmt ( enum AVPixelFormat  format,
uint32_t *  fourcc 
)

Definition at line 170 of file qsv.c.

Referenced by ff_qsv_process_data(), init_video_param(), and init_video_param_jpeg().

◆ ff_qsv_map_pictype()

enum AVPictureType ff_qsv_map_pictype ( int  mfx_pic_type)

Definition at line 198 of file qsv.c.

Referenced by qsv_decode().

◆ ff_qsv_init_internal_session()

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

Definition at line 273 of file qsv.c.

Referenced by qsv_init_session(), and qsvenc_init_session().

◆ ff_qsv_init_session_device()

int ff_qsv_init_session_device ( AVCodecContext avctx,
mfxSession *  psession,
AVBufferRef device_ref,
const char *  load_plugins 
)

Definition at line 567 of file qsv.c.

Referenced by ff_qsv_init_session_frames(), qsv_init_session(), and qsvenc_init_session().

◆ ff_qsv_init_session_frames()

int ff_qsv_init_session_frames ( AVCodecContext avctx,
mfxSession *  session,
QSVFramesContext qsv_frames_ctx,
const char *  load_plugins,
int  opaque 
)

Definition at line 637 of file qsv.c.

Referenced by qsv_init_session(), and qsvenc_init_session().

◆ ff_qsv_find_surface_idx()

int ff_qsv_find_surface_idx ( QSVFramesContext ctx,
QSVFrame frame 
)

Definition at line 187 of file qsv.c.

Referenced by alloc_frame(), and submit_frame().