FFmpeg  4.0
Data Structures | Functions
nvdec.c File Reference
#include "config.h"
#include "libavutil/common.h"
#include "libavutil/error.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_cuda_internal.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"
#include "avcodec.h"
#include "decode.h"
#include "nvdec.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  NVDECDecoder
 
struct  NVDECFramePool
 

Functions

static int map_avcodec_id (enum AVCodecID id)
 
static int map_chroma_format (enum AVPixelFormat pix_fmt)
 
static int nvdec_test_capabilities (NVDECDecoder *decoder, CUVIDDECODECREATEINFO *params, void *logctx)
 
static void nvdec_decoder_free (void *opaque, uint8_t *data)
 
static int nvdec_decoder_create (AVBufferRef **out, AVBufferRef *hw_device_ref, CUVIDDECODECREATEINFO *params, void *logctx)
 
static AVBufferRefnvdec_decoder_frame_alloc (void *opaque, int size)
 
int ff_nvdec_decode_uninit (AVCodecContext *avctx)
 
int ff_nvdec_decode_init (AVCodecContext *avctx)
 
static void nvdec_fdd_priv_free (void *priv)
 
static int nvdec_retrieve_data (void *logctx, AVFrame *frame)
 
int ff_nvdec_start_frame (AVCodecContext *avctx, AVFrame *frame)
 
int ff_nvdec_end_frame (AVCodecContext *avctx)
 
int ff_nvdec_simple_end_frame (AVCodecContext *avctx)
 
int ff_nvdec_simple_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
int ff_nvdec_frame_params (AVCodecContext *avctx, AVBufferRef *hw_frames_ctx, int dpb_size)
 
int ff_nvdec_get_ref_idx (AVFrame *frame)
 

Function Documentation

◆ map_avcodec_id()

static int map_avcodec_id ( enum AVCodecID  id)
static

Definition at line 52 of file nvdec.c.

Referenced by ff_nvdec_decode_init(), and ff_nvdec_frame_params().

◆ map_chroma_format()

static int map_chroma_format ( enum AVPixelFormat  pix_fmt)
static

Definition at line 69 of file nvdec.c.

Referenced by ff_nvdec_decode_init(), and ff_nvdec_frame_params().

◆ nvdec_test_capabilities()

static int nvdec_test_capabilities ( NVDECDecoder decoder,
CUVIDDECODECREATEINFO *  params,
void logctx 
)
static

Definition at line 85 of file nvdec.c.

Referenced by nvdec_decoder_create().

◆ nvdec_decoder_free()

static void nvdec_decoder_free ( void opaque,
uint8_t data 
)
static

Definition at line 147 of file nvdec.c.

Referenced by nvdec_decoder_create().

◆ nvdec_decoder_create()

static int nvdec_decoder_create ( AVBufferRef **  out,
AVBufferRef hw_device_ref,
CUVIDDECODECREATEINFO *  params,
void logctx 
)
static

Definition at line 161 of file nvdec.c.

Referenced by ff_nvdec_decode_init().

◆ nvdec_decoder_frame_alloc()

static AVBufferRef* nvdec_decoder_frame_alloc ( void opaque,
int  size 
)
static

Definition at line 229 of file nvdec.c.

Referenced by ff_nvdec_decode_init().

◆ ff_nvdec_decode_uninit()

int ff_nvdec_decode_uninit ( AVCodecContext avctx)

◆ ff_nvdec_decode_init()

int ff_nvdec_decode_init ( AVCodecContext avctx)

Definition at line 264 of file nvdec.c.

Referenced by nvdec_mjpeg_frame_params(), and nvdec_mpeg12_frame_params().

◆ nvdec_fdd_priv_free()

static void nvdec_fdd_priv_free ( void priv)
static

Definition at line 344 of file nvdec.c.

Referenced by ff_nvdec_start_frame().

◆ nvdec_retrieve_data()

static int nvdec_retrieve_data ( void logctx,
AVFrame frame 
)
static

Definition at line 357 of file nvdec.c.

Referenced by ff_nvdec_start_frame().

◆ ff_nvdec_start_frame()

int ff_nvdec_start_frame ( AVCodecContext avctx,
AVFrame frame 
)

◆ ff_nvdec_end_frame()

int ff_nvdec_end_frame ( AVCodecContext avctx)

Definition at line 460 of file nvdec.c.

Referenced by ff_nvdec_simple_end_frame().

◆ ff_nvdec_simple_end_frame()

int ff_nvdec_simple_end_frame ( AVCodecContext avctx)

Definition at line 494 of file nvdec.c.

Referenced by nvdec_mjpeg_frame_params(), and nvdec_mpeg12_frame_params().

◆ ff_nvdec_simple_decode_slice()

int ff_nvdec_simple_decode_slice ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)

◆ ff_nvdec_frame_params()

int ff_nvdec_frame_params ( AVCodecContext avctx,
AVBufferRef hw_frames_ctx,
int  dpb_size 
)

◆ ff_nvdec_get_ref_idx()

int ff_nvdec_get_ref_idx ( AVFrame frame)