FFmpeg
Data Structures | Macros | Functions | Variables
qsvdec_other.c File Reference
#include <stdint.h>
#include <string.h>
#include <mfx/mfxvideo.h>
#include "libavutil/common.h"
#include "libavutil/fifo.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"
#include "qsv_internal.h"
#include "qsvdec.h"
#include "qsv.h"

Go to the source code of this file.

Data Structures

struct  QSVOtherContext
 

Macros

#define OFFSET(x)   offsetof(QSVOtherContext, x)
 
#define VD   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 

Functions

static void qsv_clear_buffers (QSVOtherContext *s)
 
static av_cold int qsv_decode_close (AVCodecContext *avctx)
 
static av_cold int qsv_decode_init (AVCodecContext *avctx)
 
static int qsv_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 
static void qsv_decode_flush (AVCodecContext *avctx)
 

Variables

static const AVOption options []
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET (   x)    offsetof(QSVOtherContext, x)

Definition at line 180 of file qsvdec_other.c.

◆ VD

Definition at line 181 of file qsvdec_other.c.

Function Documentation

◆ qsv_clear_buffers()

static void qsv_clear_buffers ( QSVOtherContext s)
static

Definition at line 48 of file qsvdec_other.c.

Referenced by qsv_decode_close(), and qsv_decode_flush().

◆ qsv_decode_close()

static av_cold int qsv_decode_close ( AVCodecContext avctx)
static

Definition at line 59 of file qsvdec_other.c.

Referenced by qsv_decode_init().

◆ qsv_decode_init()

static av_cold int qsv_decode_init ( AVCodecContext avctx)
static

Definition at line 77 of file qsvdec_other.c.

◆ qsv_decode_frame()

static int qsv_decode_frame ( AVCodecContext avctx,
void *  data,
int got_frame,
AVPacket avpkt 
)
static

Definition at line 117 of file qsvdec_other.c.

◆ qsv_decode_flush()

static void qsv_decode_flush ( AVCodecContext avctx)
static

Definition at line 172 of file qsvdec_other.c.

Variable Documentation

◆ options

const AVOption options[]
static
Initial value:
= {
{ "async_depth", "Internal parallelization depth, the higher the value the higher the latency.", OFFSET(qsv.async_depth), AV_OPT_TYPE_INT, { .i64 = ASYNC_DEPTH_DEFAULT }, 1, INT_MAX, VD },
{ "gpu_copy", "A GPU-accelerated copy between video and system memory", OFFSET(qsv.gpu_copy), AV_OPT_TYPE_INT, { .i64 = MFX_GPUCOPY_DEFAULT }, MFX_GPUCOPY_DEFAULT, MFX_GPUCOPY_OFF, VD, "gpu_copy"},
{ "default", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_GPUCOPY_DEFAULT }, 0, 0, VD, "gpu_copy"},
{ "on", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_GPUCOPY_ON }, 0, 0, VD, "gpu_copy"},
{ "off", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_GPUCOPY_OFF }, 0, 0, VD, "gpu_copy"},
{ NULL },
}

Definition at line 182 of file qsvdec_other.c.

OFFSET
#define OFFSET(x)
Definition: qsvdec_other.c:180
ASYNC_DEPTH_DEFAULT
#define ASYNC_DEPTH_DEFAULT
Definition: qsv_internal.h:49
NULL
#define NULL
Definition: coverity.c:32
VD
#define VD
Definition: qsvdec_other.c:181
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:223
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:232