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/mem.h"
#include "libavutil/log.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

int ff_qsv_map_pixfmt (enum AVPixelFormat format)
 
static int qsv_decode_init (AVCodecContext *avctx, QSVContext *q, AVPacket *avpkt)
 
static int alloc_frame (AVCodecContext *avctx, QSVFrame *frame)
 
static void qsv_clear_unused_frames (QSVContext *q)
 
static int get_surface (AVCodecContext *avctx, QSVContext *q, mfxFrameSurface1 **surf)
 
static QSVFramefind_frame (QSVContext *q, mfxFrameSurface1 *surf)
 
static void qsv_fifo_relocate (AVFifoBuffer *f, int bytes_to_free)
 
static void close_decoder (QSVContext *q)
 
static int do_qsv_decode (AVCodecContext *avctx, QSVContext *q, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
static void qsv_packet_push_front (QSVContext *q, AVPacket *avpkt)
 
int ff_qsv_decode (AVCodecContext *avctx, QSVContext *q, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
void ff_qsv_decode_reset (AVCodecContext *avctx, QSVContext *q)
 
int ff_qsv_decode_close (QSVContext *q)
 

Function Documentation

int ff_qsv_map_pixfmt ( enum AVPixelFormat  format)

Definition at line 41 of file qsvdec.c.

static int qsv_decode_init ( AVCodecContext avctx,
QSVContext q,
AVPacket avpkt 
)
static

Definition at line 52 of file qsvdec.c.

Referenced by do_qsv_decode().

static int alloc_frame ( AVCodecContext avctx,
QSVFrame frame 
)
static

Definition at line 166 of file qsvdec.c.

Referenced by get_surface().

static void qsv_clear_unused_frames ( QSVContext q)
static

Definition at line 194 of file qsvdec.c.

Referenced by get_surface().

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

Definition at line 206 of file qsvdec.c.

Referenced by do_qsv_decode().

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

Definition at line 247 of file qsvdec.c.

Referenced by do_qsv_decode().

static void qsv_fifo_relocate ( AVFifoBuffer f,
int  bytes_to_free 
)
static

Definition at line 267 of file qsvdec.c.

Referenced by do_qsv_decode().

static void close_decoder ( QSVContext q)
static

Definition at line 293 of file qsvdec.c.

Referenced by ff_qsv_decode(), ff_qsv_decode_close(), and ff_qsv_decode_reset().

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

Definition at line 312 of file qsvdec.c.

Referenced by ff_qsv_decode().

static void qsv_packet_push_front ( QSVContext q,
AVPacket avpkt 
)
static

Definition at line 450 of file qsvdec.c.

Referenced by ff_qsv_decode().

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

Definition at line 471 of file qsvdec.c.

Referenced by qsv_decode_frame().

void ff_qsv_decode_reset ( AVCodecContext avctx,
QSVContext q 
)

Definition at line 527 of file qsvdec.c.

Referenced by qsv_decode_flush().

int ff_qsv_decode_close ( QSVContext q)

Definition at line 570 of file qsvdec.c.

Referenced by qsv_decode_close().