23#ifndef AVCODEC_NVDEC_H
24#define AVCODEC_NVDEC_H
35#if defined(NVDECAPI_MAJOR_VERSION) && defined(NVDECAPI_MINOR_VERSION)
36# define NVDECAPI_CHECK_VERSION(major, minor) \
37 ((major) < NVDECAPI_MAJOR_VERSION || ((major) == NVDECAPI_MAJOR_VERSION && (minor) <= NVDECAPI_MINOR_VERSION))
40# define NVDECAPI_CHECK_VERSION(major, minor) \
41 ((major) < 8 || ((major) == 8 && (minor) <= 0))
45#if NVDECAPI_CHECK_VERSION(13, 0)
46#define NVDEC_HAVE_422_SUPPORT
50#if NVDECAPI_CHECK_VERSION(13, 1)
51#define NVDEC_HAVE_OPAQUE_OUTPUT_SUPPORT
96#ifdef NVDEC_HAVE_OPAQUE_OUTPUT_SUPPORT
97void ff_nvdec_fill_cuarray_desc(CUDA_ARRAY3D_DESCRIPTOR *
desc,
Libavcodec external API header.
refcounted data buffer API
static char * output_format
reference-counted frame API
int ff_nvdec_start_frame_sep_ref(AVCodecContext *avctx, AVFrame *frame, int has_sep_ref)
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_decode_init(AVCodecContext *avctx)
int ff_nvdec_get_ref_idx(AVFrame *frame)
int ff_nvdec_end_frame(AVCodecContext *avctx)
int ff_nvdec_start_frame(AVCodecContext *avctx, AVFrame *frame)
int ff_nvdec_decode_uninit(AVCodecContext *avctx)
int ff_nvdec_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx, enum AVPixelFormat hw_format, int dpb_size, int supports_444)
AVPixelFormat
Pixel format.
A reference to a data buffer.
main external API structure.
This structure describes decoded (raw) audio or video data.
AVRefStructPool is an API for a thread-safe pool of objects managed via the RefStruct API.
unsigned int slice_offsets_allocated
unsigned int bitstream_allocated
struct NVDECDecoder * decoder
RefStruct reference.
uint8_t * bitstream_internal
CUVIDPICPARAMS pic_params
const uint8_t * bitstream
struct AVRefStructPool * decoder_pool
struct NVDECDecoder * decoder
RefStruct reference.
unsigned int * ref_idx_ref
RefStruct reference.
unsigned int * idx_ref
RefStruct reference.