FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
qsvdec.c File Reference
#include <string.h>
#include <sys/types.h>
#include <mfx/mfxvideo.h>
#include "libavutil/common.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_qsv.h"
#include "libavutil/mem.h"
#include "libavutil/log.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"
#include "libavutil/time.h"
#include "avcodec.h"
#include "internal.h"
#include "qsv.h"
#include "qsv_internal.h"
#include "qsvdec.h"

Go to the source code of this file.

Functions

static int qsv_init_session (AVCodecContext *avctx, QSVContext *q, mfxSession session, AVBufferRef *hw_frames_ref, AVBufferRef *hw_device_ref)
 
static int qsv_decode_init (AVCodecContext *avctx, QSVContext *q)
 
static int alloc_frame (AVCodecContext *avctx, QSVContext *q, QSVFrame *frame)
 
static void qsv_clear_unused_frames (QSVContext *q)
 
static int get_surface (AVCodecContext *avctx, QSVContext *q, mfxFrameSurface1 **surf)
 
static QSVFrame * find_frame (QSVContext *q, mfxFrameSurface1 *surf)
 
static int qsv_decode (AVCodecContext *avctx, QSVContext *q, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
int ff_qsv_decode_close (QSVContext *q)
 
int ff_qsv_process_data (AVCodecContext *avctx, QSVContext *q, AVFrame *frame, int *got_frame, AVPacket *pkt)
 
void ff_qsv_decode_flush (AVCodecContext *avctx, QSVContext *q)
 

Function Documentation

static int qsv_init_session ( AVCodecContext *  avctx,
QSVContext *  q,
mfxSession  session,
AVBufferRef *  hw_frames_ref,
AVBufferRef *  hw_device_ref 
)
static

Definition at line 44 of file qsvdec.c.

Referenced by qsv_decode_init().

static int qsv_decode_init ( AVCodecContext *  avctx,
QSVContext *  q 
)
static

Definition at line 100 of file qsvdec.c.

Referenced by ff_qsv_process_data().

static int alloc_frame ( AVCodecContext *  avctx,
QSVContext *  q,
QSVFrame *  frame 
)
static

Definition at line 200 of file qsvdec.c.

Referenced by get_surface().

static void qsv_clear_unused_frames ( QSVContext *  q)
static

Definition at line 231 of file qsvdec.c.

Referenced by get_surface().

static int get_surface ( AVCodecContext *  avctx,
QSVContext *  q,
mfxFrameSurface1 **  surf 
)
static

Definition at line 243 of file qsvdec.c.

Referenced by qsv_decode().

static QSVFrame* find_frame ( QSVContext *  q,
mfxFrameSurface1 *  surf 
)
static

Definition at line 284 of file qsvdec.c.

Referenced by qsv_decode().

static int qsv_decode ( AVCodecContext *  avctx,
QSVContext *  q,
AVFrame *  frame,
int *  got_frame,
AVPacket *  avpkt 
)
static

Definition at line 295 of file qsvdec.c.

Referenced by ff_qsv_process_data().

int ff_qsv_decode_close ( QSVContext *  q)

Definition at line 420 of file qsvdec.c.

Referenced by qsv_decode_close().

int ff_qsv_process_data ( AVCodecContext *  avctx,
QSVContext *  q,
AVFrame *  frame,
int *  got_frame,
AVPacket *  pkt 
)

Definition at line 459 of file qsvdec.c.

Referenced by qsv_decode_frame().

void ff_qsv_decode_flush ( AVCodecContext *  avctx,
QSVContext *  q 
)

Definition at line 535 of file qsvdec.c.

Referenced by qsv_decode_flush().