FFmpeg
Data Structures | Macros | Functions | Variables
nvenc.c File Reference
#include "config.h"
#include "nvenc.h"
#include "libavutil/hwcontext_cuda.h"
#include "libavutil/hwcontext.h"
#include "libavutil/cuda_check.h"
#include "libavutil/imgutils.h"
#include "libavutil/avassert.h"
#include "libavutil/mem.h"
#include "libavutil/pixdesc.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  GUIDTuple
 

Macros

#define CHECK_CU(x)   FF_CUDA_CHECK_DL(avctx, dl_fn->cuda_dl, x)
 
#define NVENC_CAP   0x30
 
#define IS_CBR(rc)
 
#define IS_10BIT(pix_fmt)
 
#define IS_YUV444(pix_fmt)
 
#define PRESET_ALIAS(alias, name, ...)   [PRESET_ ## alias] = { NV_ENC_PRESET_ ## name ## _GUID, __VA_ARGS__ }
 
#define PRESET(name, ...)   PRESET_ALIAS(name, name, __VA_ARGS__)
 

Functions

static int nvenc_map_error (NVENCSTATUS err, const char **desc)
 
static int nvenc_print_error (void *log_ctx, NVENCSTATUS err, const char *error_string)
 
static void nvenc_print_driver_requirement (AVCodecContext *avctx, int level)
 
static av_cold int nvenc_load_libraries (AVCodecContext *avctx)
 
static int nvenc_push_context (AVCodecContext *avctx)
 
static int nvenc_pop_context (AVCodecContext *avctx)
 
static av_cold int nvenc_open_session (AVCodecContext *avctx)
 
static int nvenc_check_codec_support (AVCodecContext *avctx)
 
static int nvenc_check_cap (AVCodecContext *avctx, NV_ENC_CAPS cap)
 
static int nvenc_check_capabilities (AVCodecContext *avctx)
 
static av_cold int nvenc_check_device (AVCodecContext *avctx, int idx)
 
static av_cold int nvenc_setup_device (AVCodecContext *avctx)
 
static void nvenc_map_preset (NvencContext *ctx)
 
static av_cold void set_constqp (AVCodecContext *avctx)
 
static av_cold void set_vbr (AVCodecContext *avctx)
 
static av_cold void set_lossless (AVCodecContext *avctx)
 
static void nvenc_override_rate_control (AVCodecContext *avctx)
 
static av_cold int nvenc_recalc_surfaces (AVCodecContext *avctx)
 
static av_cold void nvenc_setup_rate_control (AVCodecContext *avctx)
 
static av_cold int nvenc_setup_h264_config (AVCodecContext *avctx)
 
static av_cold int nvenc_setup_hevc_config (AVCodecContext *avctx)
 
static av_cold int nvenc_setup_codec_config (AVCodecContext *avctx)
 
static void compute_dar (AVCodecContext *avctx, int *dw, int *dh)
 
static av_cold int nvenc_setup_encoder (AVCodecContext *avctx)
 
static NV_ENC_BUFFER_FORMAT nvenc_map_buffer_format (enum AVPixelFormat pix_fmt)
 
static av_cold int nvenc_alloc_surface (AVCodecContext *avctx, int idx)
 
static av_cold int nvenc_setup_surfaces (AVCodecContext *avctx)
 
static av_cold int nvenc_setup_extradata (AVCodecContext *avctx)
 
av_cold int ff_nvenc_encode_close (AVCodecContext *avctx)
 
av_cold int ff_nvenc_encode_init (AVCodecContext *avctx)
 
static NvencSurfaceget_free_frame (NvencContext *ctx)
 
static int nvenc_copy_frame (AVCodecContext *avctx, NvencSurface *nv_surface, NV_ENC_LOCK_INPUT_BUFFER *lock_buffer_params, const AVFrame *frame)
 
static int nvenc_find_free_reg_resource (AVCodecContext *avctx)
 
static int nvenc_register_frame (AVCodecContext *avctx, const AVFrame *frame)
 
static int nvenc_upload_frame (AVCodecContext *avctx, const AVFrame *frame, NvencSurface *nvenc_frame)
 
static void nvenc_codec_specific_pic_params (AVCodecContext *avctx, NV_ENC_PIC_PARAMS *params, NV_ENC_SEI_PAYLOAD *sei_data)
 
static void timestamp_queue_enqueue (AVFifoBuffer *queue, int64_t timestamp)
 
static int64_t timestamp_queue_dequeue (AVFifoBuffer *queue)
 
static int nvenc_set_timestamp (AVCodecContext *avctx, NV_ENC_LOCK_BITSTREAM *params, AVPacket *pkt)
 
static int process_output_surface (AVCodecContext *avctx, AVPacket *pkt, NvencSurface *tmpoutsurf)
 
static int output_ready (AVCodecContext *avctx, int flush)
 
static void reconfig_encoder (AVCodecContext *avctx, const AVFrame *frame)
 
int ff_nvenc_send_frame (AVCodecContext *avctx, const AVFrame *frame)
 
int ff_nvenc_receive_packet (AVCodecContext *avctx, AVPacket *pkt)
 
int ff_nvenc_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
 

Variables

enum AVPixelFormat ff_nvenc_pix_fmts []
 
struct {
   NVENCSTATUS   nverr
 
   int   averr
 
   const char *   desc
 
nvenc_errors []
 

Macro Definition Documentation

◆ CHECK_CU

#define CHECK_CU (   x)    FF_CUDA_CHECK_DL(avctx, dl_fn->cuda_dl, x)

Definition at line 35 of file nvenc.c.

◆ NVENC_CAP

#define NVENC_CAP   0x30

Definition at line 37 of file nvenc.c.

◆ IS_CBR

#define IS_CBR (   rc)
Value:
(rc == NV_ENC_PARAMS_RC_CBR || \
rc == NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ || \
rc == NV_ENC_PARAMS_RC_CBR_HQ)

Definition at line 38 of file nvenc.c.

◆ IS_10BIT

#define IS_10BIT (   pix_fmt)
Value:
pix_fmt == AV_PIX_FMT_P016 || \

Definition at line 58 of file nvenc.c.

◆ IS_YUV444

#define IS_YUV444 (   pix_fmt)
Value:

Definition at line 62 of file nvenc.c.

◆ PRESET_ALIAS

#define PRESET_ALIAS (   alias,
  name,
  ... 
)    [PRESET_ ## alias] = { NV_ENC_PRESET_ ## name ## _GUID, __VA_ARGS__ }

Definition at line 595 of file nvenc.c.

◆ PRESET

#define PRESET (   name,
  ... 
)    PRESET_ALIAS(name, name, __VA_ARGS__)

Definition at line 598 of file nvenc.c.

Function Documentation

◆ nvenc_map_error()

static int nvenc_map_error ( NVENCSTATUS  err,
const char **  desc 
)
static

Definition at line 98 of file nvenc.c.

Referenced by nvenc_print_error().

◆ nvenc_print_error()

static int nvenc_print_error ( void *  log_ctx,
NVENCSTATUS  err,
const char *  error_string 
)
static

◆ nvenc_print_driver_requirement()

static void nvenc_print_driver_requirement ( AVCodecContext avctx,
int  level 
)
static

Definition at line 123 of file nvenc.c.

Referenced by nvenc_load_libraries().

◆ nvenc_load_libraries()

static av_cold int nvenc_load_libraries ( AVCodecContext avctx)
static

Definition at line 161 of file nvenc.c.

Referenced by ff_nvenc_encode_init().

◆ nvenc_push_context()

static int nvenc_push_context ( AVCodecContext avctx)
static

◆ nvenc_pop_context()

static int nvenc_pop_context ( AVCodecContext avctx)
static

◆ nvenc_open_session()

static av_cold int nvenc_open_session ( AVCodecContext avctx)
static

Definition at line 228 of file nvenc.c.

Referenced by nvenc_check_device(), and nvenc_setup_device().

◆ nvenc_check_codec_support()

static int nvenc_check_codec_support ( AVCodecContext avctx)
static

Definition at line 254 of file nvenc.c.

Referenced by nvenc_check_capabilities().

◆ nvenc_check_cap()

static int nvenc_check_cap ( AVCodecContext avctx,
NV_ENC_CAPS  cap 
)
static

Definition at line 290 of file nvenc.c.

Referenced by nvenc_check_capabilities().

◆ nvenc_check_capabilities()

static int nvenc_check_capabilities ( AVCodecContext avctx)
static

Definition at line 307 of file nvenc.c.

Referenced by nvenc_check_device(), and nvenc_setup_device().

◆ nvenc_check_device()

static av_cold int nvenc_check_device ( AVCodecContext avctx,
int  idx 
)
static

Definition at line 411 of file nvenc.c.

Referenced by nvenc_setup_device().

◆ nvenc_setup_device()

static av_cold int nvenc_setup_device ( AVCodecContext avctx)
static

Definition at line 485 of file nvenc.c.

Referenced by ff_nvenc_encode_init().

◆ nvenc_map_preset()

static void nvenc_map_preset ( NvencContext ctx)
static

Definition at line 600 of file nvenc.c.

Referenced by nvenc_setup_encoder().

◆ set_constqp()

static av_cold void set_constqp ( AVCodecContext avctx)
static

Definition at line 626 of file nvenc.c.

Referenced by nvenc_override_rate_control().

◆ set_vbr()

static av_cold void set_vbr ( AVCodecContext avctx)
static

Definition at line 659 of file nvenc.c.

Referenced by nvenc_override_rate_control(), and nvenc_setup_rate_control().

◆ set_lossless()

static av_cold void set_lossless ( AVCodecContext avctx)
static

Definition at line 721 of file nvenc.c.

Referenced by nvenc_setup_rate_control().

◆ nvenc_override_rate_control()

static void nvenc_override_rate_control ( AVCodecContext avctx)
static

Definition at line 735 of file nvenc.c.

Referenced by nvenc_setup_rate_control().

◆ nvenc_recalc_surfaces()

static av_cold int nvenc_recalc_surfaces ( AVCodecContext avctx)
static

Definition at line 766 of file nvenc.c.

Referenced by nvenc_setup_encoder().

◆ nvenc_setup_rate_control()

static av_cold void nvenc_setup_rate_control ( AVCodecContext avctx)
static

Definition at line 805 of file nvenc.c.

Referenced by nvenc_setup_encoder().

◆ nvenc_setup_h264_config()

static av_cold int nvenc_setup_h264_config ( AVCodecContext avctx)
static

Definition at line 929 of file nvenc.c.

Referenced by nvenc_setup_codec_config().

◆ nvenc_setup_hevc_config()

static av_cold int nvenc_setup_hevc_config ( AVCodecContext avctx)
static

Definition at line 1021 of file nvenc.c.

Referenced by nvenc_setup_codec_config().

◆ nvenc_setup_codec_config()

static av_cold int nvenc_setup_codec_config ( AVCodecContext avctx)
static

Definition at line 1105 of file nvenc.c.

Referenced by nvenc_setup_encoder().

◆ compute_dar()

static void compute_dar ( AVCodecContext avctx,
int dw,
int dh 
)
static

Definition at line 1118 of file nvenc.c.

Referenced by nvenc_setup_encoder(), and reconfig_encoder().

◆ nvenc_setup_encoder()

static av_cold int nvenc_setup_encoder ( AVCodecContext avctx)
static

Definition at line 1132 of file nvenc.c.

Referenced by ff_nvenc_encode_init().

◆ nvenc_map_buffer_format()

static NV_ENC_BUFFER_FORMAT nvenc_map_buffer_format ( enum AVPixelFormat  pix_fmt)
static

Definition at line 1260 of file nvenc.c.

Referenced by nvenc_alloc_surface(), and nvenc_register_frame().

◆ nvenc_alloc_surface()

static av_cold int nvenc_alloc_surface ( AVCodecContext avctx,
int  idx 
)
static

Definition at line 1283 of file nvenc.c.

Referenced by nvenc_setup_surfaces().

◆ nvenc_setup_surfaces()

static av_cold int nvenc_setup_surfaces ( AVCodecContext avctx)
static

Definition at line 1340 of file nvenc.c.

Referenced by ff_nvenc_encode_init().

◆ nvenc_setup_extradata()

static av_cold int nvenc_setup_extradata ( AVCodecContext avctx)
static

Definition at line 1381 of file nvenc.c.

Referenced by ff_nvenc_encode_init().

◆ ff_nvenc_encode_close()

av_cold int ff_nvenc_encode_close ( AVCodecContext avctx)

Definition at line 1414 of file nvenc.c.

◆ ff_nvenc_encode_init()

av_cold int ff_nvenc_encode_init ( AVCodecContext avctx)

Definition at line 1489 of file nvenc.c.

Referenced by nvenc_old_init().

◆ get_free_frame()

static NvencSurface* get_free_frame ( NvencContext ctx)
static

Definition at line 1532 of file nvenc.c.

Referenced by ff_nvenc_send_frame().

◆ nvenc_copy_frame()

static int nvenc_copy_frame ( AVCodecContext avctx,
NvencSurface nv_surface,
NV_ENC_LOCK_INPUT_BUFFER *  lock_buffer_params,
const AVFrame frame 
)
static

Definition at line 1544 of file nvenc.c.

Referenced by nvenc_upload_frame().

◆ nvenc_find_free_reg_resource()

static int nvenc_find_free_reg_resource ( AVCodecContext avctx)
static

Definition at line 1574 of file nvenc.c.

Referenced by nvenc_register_frame().

◆ nvenc_register_frame()

static int nvenc_register_frame ( AVCodecContext avctx,
const AVFrame frame 
)
static

Definition at line 1608 of file nvenc.c.

Referenced by nvenc_upload_frame().

◆ nvenc_upload_frame()

static int nvenc_upload_frame ( AVCodecContext avctx,
const AVFrame frame,
NvencSurface nvenc_frame 
)
static

Definition at line 1662 of file nvenc.c.

Referenced by ff_nvenc_send_frame().

◆ nvenc_codec_specific_pic_params()

static void nvenc_codec_specific_pic_params ( AVCodecContext avctx,
NV_ENC_PIC_PARAMS *  params,
NV_ENC_SEI_PAYLOAD *  sei_data 
)
static

Definition at line 1724 of file nvenc.c.

Referenced by ff_nvenc_send_frame().

◆ timestamp_queue_enqueue()

static void timestamp_queue_enqueue ( AVFifoBuffer queue,
int64_t  timestamp 
)
inlinestatic

Definition at line 1756 of file nvenc.c.

Referenced by ff_nvenc_send_frame().

◆ timestamp_queue_dequeue()

static int64_t timestamp_queue_dequeue ( AVFifoBuffer queue)
inlinestatic

Definition at line 1761 of file nvenc.c.

Referenced by nvenc_set_timestamp(), and process_output_surface().

◆ nvenc_set_timestamp()

static int nvenc_set_timestamp ( AVCodecContext avctx,
NV_ENC_LOCK_BITSTREAM *  params,
AVPacket pkt 
)
static

Definition at line 1770 of file nvenc.c.

Referenced by process_output_surface().

◆ process_output_surface()

static int process_output_surface ( AVCodecContext avctx,
AVPacket pkt,
NvencSurface tmpoutsurf 
)
static

Definition at line 1805 of file nvenc.c.

Referenced by ff_nvenc_receive_packet().

◆ output_ready()

static int output_ready ( AVCodecContext avctx,
int  flush 
)
static

Definition at line 1934 of file nvenc.c.

Referenced by ff_nvenc_receive_packet().

◆ reconfig_encoder()

static void reconfig_encoder ( AVCodecContext avctx,
const AVFrame frame 
)
static

Definition at line 1952 of file nvenc.c.

Referenced by ff_nvenc_send_frame().

◆ ff_nvenc_send_frame()

int ff_nvenc_send_frame ( AVCodecContext avctx,
const AVFrame frame 
)

Definition at line 2044 of file nvenc.c.

Referenced by ff_nvenc_encode_frame().

◆ ff_nvenc_receive_packet()

int ff_nvenc_receive_packet ( AVCodecContext avctx,
AVPacket pkt 
)

Definition at line 2172 of file nvenc.c.

Referenced by ff_nvenc_encode_frame().

◆ ff_nvenc_encode_frame()

int ff_nvenc_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame frame,
int got_packet 
)

Definition at line 2208 of file nvenc.c.

Variable Documentation

◆ ff_nvenc_pix_fmts

enum AVPixelFormat ff_nvenc_pix_fmts[]

◆ nverr

NVENCSTATUS nverr

Definition at line 66 of file nvenc.c.

Referenced by nvenc_map_error().

◆ averr

int averr

Definition at line 67 of file nvenc.c.

◆ desc

const char* desc

Definition at line 68 of file nvenc.c.

Referenced by any_vscale(), asf_read_picture(), asf_write_header1(), av_bsf_init(), av_frame_apply_cropping(), av_image_alloc(), av_image_copy_to_buffer(), av_image_fill_black(), av_image_fill_linesizes(), av_image_fill_pointers(), av_image_get_buffer_size(), av_image_get_linesize(), av_picture_crop(), av_picture_pad(), av_pix_fmt_count_planes(), av_pix_fmt_desc_get_id(), av_pix_fmt_get_chroma_sub_sample(), av_pix_fmt_swap_endianness(), av_read_image_line(), av_read_image_line2(), av_write_image_line(), av_write_image_line2(), avcodec_align_dimensions(), avcodec_align_dimensions2(), avcodec_default_get_format(), avcodec_descriptor_get_by_name(), avcodec_get_chroma_sub_sample(), avcodec_get_type(), avcodec_profile_name(), calc_cropping_offsets(), check_image_pointers(), choose_pixel_fmt(), chr_convert(), chr_h_scale(), chr_planar_vscale(), config_input(), config_input0(), config_input1(), config_input_main(), config_input_ref(), config_inputx(), config_inputy(), config_out_props(), config_output(), config_props(), config_props_output(), copy_picture_field(), count_ports(), create_all_formats(), d3d11va_device_create(), d3d11va_get_buffer(), d3d11va_transfer_data(), decode(), decode_frame(), descriptor_compare(), drm_map_frame(), encode_frame(), encode_init(), ff_all_formats(), ff_boxblur_eval_filter_params(), ff_color_frame(), ff_draw_color(), ff_draw_horiz_band(), ff_draw_init(), ff_flac_parse_picture(), ff_frame_pool_get(), ff_frame_pool_video_init(), ff_get_format(), ff_guess_coded_bitrate(), ff_h264_draw_horiz_band(), ff_id3v2_write_apic(), ff_init_desc_cfmt_convert(), ff_init_desc_chscale(), ff_init_desc_fmt_convert(), ff_init_desc_hscale(), ff_init_desc_no_chr(), ff_init_gamma_convert(), ff_init_vscale(), ff_mediacodec_dec_init(), ff_qsv_process_data(), ff_scale_eval_dimensions(), ff_sws_alphablendaway(), ff_sws_init_output_funcs(), ff_vmafmotion_init(), fill_frameinfo_by_link(), fill_texture_ptrs(), filter_frame(), find_codec_or_die(), flac_write_picture(), flush_encoders(), format_init(), frame_end(), gamma_convert(), geq_config_props(), get_aspect_ratio(), get_bit_depth(), get_codecs_sorted(), get_color_type(), get_deinterleaved_format(), get_format(), get_pix_fmt_depth(), get_video_buffer(), h264_metadata_update_sps(), h265_metadata_guess_level(), handle_connect_error(), have_alpha_planar(), hScale16To15_c(), hScale16To19_c(), hwdownload_query_formats(), hwmap_config_output(), image_copy(), image_copy_16_to_8(), image_get_linesize(), init(), init_image(), init_muxer(), init_sec_buffer_desc(), init_video_param(), init_video_param_jpeg(), is16BPS(), is_planar_yuv(), is_yuv_planar(), isALPHA(), isAnyRGB(), isBayer(), isBE(), isFloat(), isGray(), isNBPS(), isPacked(), isPackedRGB(), isPlanar(), isPlanarRGB(), isPlanarYUV(), isRGB(), isSemiPlanarYUV(), isYUV(), kmsgrab_free_desc(), kmsgrab_read_packet(), libopenjpeg_copy_to_packed16(), libopenjpeg_copyto16(), libopenjpeg_decode_frame(), libopenjpeg_ispacked(), libopenjpeg_matches_pix_fmt(), list_formats(), log_encoder_error(), lum_convert(), lum_h_scale(), lum_planar_vscale(), lut2_config_output(), main(), map_pixel_format(), mj2_create_image(), nlmeans_opencl_filter_frame(), no_chr_scale(), nvenc_map_error(), nvenc_print_error(), opencl_frames_uninit(), opencl_get_buffer(), opencl_get_plane_format(), opencl_pool_alloc(), opencl_pool_free(), opengl_draw(), opengl_fill_color_map(), opengl_get_plane_pointer(), opengl_init_context(), packed_vscale(), pix_fmt_match(), print_codecs(), print_digraph(), qsv_decode_init(), qsv_init_surface(), qsv_map_from(), query_formats(), raw_decode(), raw_encode_init(), raw_init_decoder(), read_gab2_sub(), read_packet_vs(), rgb48Toxyz12(), rkmpp_release_frame(), rkmpp_retrieve_frame(), rv10_write_header(), set_aes_arg(), set_format(), set_string_fmt(), show_codecs(), show_help_codec(), show_help_muxer(), shuffleplanes_config_input(), smv_img_pnt(), smvjpeg_decode_frame(), swscale(), tiff_unpack_strip(), tonemap(), tonemap_slice(), transcode_init(), unsharp_opencl_make_filter_params(), unsupported_codec(), v4l2_read_header(), vaapi_encode_h265_init_sequence_params(), vaapi_encode_mjpeg_init_picture_params(), vaapi_encode_profile_entrypoint(), vaapi_frames_init(), vaapi_map_frame(), vaapi_pix_fmt_from_fourcc(), vaapi_vpp_frame_is_rgb(), validate_avframe_allocation(), verify_md5(), video_frame_cksum(), video_get_buffer(), wrap_texture_buf(), write_header(), write_packet(), xwd_encode_frame(), xyz12Torgb48(), yuv2gbrp16_full_X_c(), and yuv2gbrp_full_X_c().

◆ nvenc_errors

const { ... } nvenc_errors[]
Initial value:
= {
{ NV_ENC_SUCCESS, 0, "success" },
{ NV_ENC_ERR_NO_ENCODE_DEVICE, AVERROR(ENOENT), "no encode device" },
{ NV_ENC_ERR_UNSUPPORTED_DEVICE, AVERROR(ENOSYS), "unsupported device" },
{ NV_ENC_ERR_INVALID_ENCODERDEVICE, AVERROR(EINVAL), "invalid encoder device" },
{ NV_ENC_ERR_INVALID_DEVICE, AVERROR(EINVAL), "invalid device" },
{ NV_ENC_ERR_DEVICE_NOT_EXIST, AVERROR(EIO), "device does not exist" },
{ NV_ENC_ERR_INVALID_PTR, AVERROR(EFAULT), "invalid ptr" },
{ NV_ENC_ERR_INVALID_EVENT, AVERROR(EINVAL), "invalid event" },
{ NV_ENC_ERR_INVALID_PARAM, AVERROR(EINVAL), "invalid param" },
{ NV_ENC_ERR_INVALID_CALL, AVERROR(EINVAL), "invalid call" },
{ NV_ENC_ERR_OUT_OF_MEMORY, AVERROR(ENOMEM), "out of memory" },
{ NV_ENC_ERR_ENCODER_NOT_INITIALIZED, AVERROR(EINVAL), "encoder not initialized" },
{ NV_ENC_ERR_UNSUPPORTED_PARAM, AVERROR(ENOSYS), "unsupported param" },
{ NV_ENC_ERR_LOCK_BUSY, AVERROR(EAGAIN), "lock busy" },
{ NV_ENC_ERR_NOT_ENOUGH_BUFFER, AVERROR_BUFFER_TOO_SMALL, "not enough buffer"},
{ NV_ENC_ERR_INVALID_VERSION, AVERROR(EINVAL), "invalid version" },
{ NV_ENC_ERR_MAP_FAILED, AVERROR(EIO), "map failed" },
{ NV_ENC_ERR_NEED_MORE_INPUT, AVERROR(EAGAIN), "need more input" },
{ NV_ENC_ERR_ENCODER_BUSY, AVERROR(EAGAIN), "encoder busy" },
{ NV_ENC_ERR_EVENT_NOT_REGISTERD, AVERROR(EBADF), "event not registered" },
{ NV_ENC_ERR_GENERIC, AVERROR_UNKNOWN, "generic error" },
{ NV_ENC_ERR_INCOMPATIBLE_CLIENT_KEY, AVERROR(EINVAL), "incompatible client key" },
{ NV_ENC_ERR_UNIMPLEMENTED, AVERROR(ENOSYS), "unimplemented" },
{ NV_ENC_ERR_RESOURCE_REGISTER_FAILED, AVERROR(EIO), "resource register failed" },
{ NV_ENC_ERR_RESOURCE_NOT_REGISTERED, AVERROR(EBADF), "resource not registered" },
{ NV_ENC_ERR_RESOURCE_NOT_MAPPED, AVERROR(EBADF), "resource not mapped" },
}

Referenced by nvenc_map_error().

AV_PIX_FMT_CUDA
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
Definition: pixfmt.h:235
AVERROR
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
AVERROR_UNKNOWN
#define AVERROR_UNKNOWN
Unknown error, typically from an external library.
Definition: error.h:71
AVERROR_BUFFER_TOO_SMALL
#define AVERROR_BUFFER_TOO_SMALL
Buffer too small.
Definition: error.h:51
AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUV444P16
Definition: pixfmt.h:400
AV_PIX_FMT_0BGR32
#define AV_PIX_FMT_0BGR32
Definition: pixfmt.h:365
pix_fmt
static enum AVPixelFormat pix_fmt
Definition: demuxing_decoding.c:40
AV_PIX_FMT_YUV420P
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:66
AV_PIX_FMT_P016
#define AV_PIX_FMT_P016
Definition: pixfmt.h:437
AV_PIX_FMT_NV12
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
Definition: pixfmt.h:89
AV_PIX_FMT_0RGB32
#define AV_PIX_FMT_0RGB32
Definition: pixfmt.h:364
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:65
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:71
AV_PIX_FMT_P010
#define AV_PIX_FMT_P010
Definition: pixfmt.h:436