mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-21 05:26:23 +00:00
nvcodec: Update SDK header to 12.0.16
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>
This commit is contained in:
parent
ff6d6e1b3c
commit
60637b96c8
6 changed files with 943 additions and 412 deletions
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This copyright notice applies to this header file only:
|
||||
*
|
||||
* Copyright (c) 2010-2021 NVIDIA Corporation
|
||||
* Copyright (c) 2010-2022 NVIDIA Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
|
@ -1106,7 +1106,6 @@ extern CUresult CUDAAPI cuvidMapVideoFrame(CUvideodecoder hDecoder, int nPicIdx,
|
|||
extern CUresult CUDAAPI cuvidUnmapVideoFrame(CUvideodecoder hDecoder, unsigned int DevPtr);
|
||||
#endif
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(__x86_64) || defined(AMD64) || defined(_M_AMD64)
|
||||
/****************************************************************************************************************************/
|
||||
//! \fn CUresult CUDAAPI cuvidMapVideoFrame64(CUvideodecoder hDecoder, int nPicIdx, unsigned long long *pDevPtr,
|
||||
//! unsigned int * pPitch, CUVIDPROCPARAMS *pVPP);
|
||||
|
@ -1126,7 +1125,6 @@ extern CUresult CUDAAPI cuvidUnmapVideoFrame64(CUvideodecoder hDecoder, unsigned
|
|||
#define cuvidMapVideoFrame cuvidMapVideoFrame64
|
||||
#define cuvidUnmapVideoFrame cuvidUnmapVideoFrame64
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1036,156 +1036,247 @@ gst_nvenc_plugin_init (GstPlugin * plugin, guint device_index,
|
|||
"h265", GST_RANK_PRIMARY * 2, device_index, cuda_ctx);
|
||||
}
|
||||
|
||||
/* To verify things when updating SDK */
|
||||
#define USE_STATIC_SDK_VER 0
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_api_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NVENCAPI_VERSION;
|
||||
#else
|
||||
/* NVENCAPI_VERSION == (NVENCAPI_MAJOR_VERSION | (NVENCAPI_MINOR_VERSION << 24)) */
|
||||
return gst_nvenc_api_version;
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_caps_param_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_CAPS_PARAM_VER;
|
||||
#else
|
||||
/* NV_ENC_CAPS_PARAM_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_encode_out_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_ENCODE_OUT_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_ENCODE_OUT_PARAMS_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_create_input_buffer_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_CREATE_INPUT_BUFFER_VER;
|
||||
#else
|
||||
/* NV_ENC_CREATE_INPUT_BUFFER_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_create_bitstream_buffer_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_CREATE_BITSTREAM_BUFFER_VER;
|
||||
#else
|
||||
/* NV_ENC_CREATE_BITSTREAM_BUFFER_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_create_mv_buffer_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_CREATE_MV_BUFFER_VER;
|
||||
#else
|
||||
/* NV_ENC_CREATE_MV_BUFFER_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_rc_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_RC_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_RC_PARAMS_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_config_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_CONFIG_VER;
|
||||
#else
|
||||
/* Version updated since SDK 12.0 */
|
||||
if ((gst_nvenc_api_version & 12) == 12)
|
||||
return GST_NVENCAPI_STRUCT_VERSION (8, gst_nvenc_api_version) | (1 << 31);
|
||||
|
||||
/* NV_ENC_CONFIG_VER ==
|
||||
* (NVENCAPI_STRUCT_VERSION(7) | ( 1<<31 )) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (7, gst_nvenc_api_version) | (1 << 31);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_initialize_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_INITIALIZE_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_INITIALIZE_PARAMS_VER ==
|
||||
* (NVENCAPI_STRUCT_VERSION(5) | ( 1<<31 )) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (5, gst_nvenc_api_version) | (1 << 31);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_reconfigure_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_RECONFIGURE_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_RECONFIGURE_PARAMS_VER ==
|
||||
* (NVENCAPI_STRUCT_VERSION(1) | ( 1<<31 )) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version) | (1 << 31);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_preset_config_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_PRESET_CONFIG_VER;
|
||||
#else
|
||||
/* NV_ENC_PRESET_CONFIG_VER ==
|
||||
* (NVENCAPI_STRUCT_VERSION(4) | ( 1<<31 )) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (4, gst_nvenc_api_version) | (1 << 31);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_pic_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_PIC_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_PIC_PARAMS_VER ==
|
||||
* (NVENCAPI_STRUCT_VERSION(4) | ( 1<<31 )) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (4, gst_nvenc_api_version) | (1 << 31);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_meonly_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_MEONLY_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_MEONLY_PARAMS_VER == NVENCAPI_STRUCT_VERSION(3) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (3, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_lock_bitstream_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_LOCK_BITSTREAM_VER;
|
||||
#else
|
||||
/* NV_ENC_LOCK_BITSTREAM_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_lock_input_buffer_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_LOCK_INPUT_BUFFER_VER;
|
||||
#else
|
||||
/* NV_ENC_LOCK_INPUT_BUFFER_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_map_input_resource_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_MAP_INPUT_RESOURCE_VER;
|
||||
#else
|
||||
/* NV_ENC_MAP_INPUT_RESOURCE_VER == NVENCAPI_STRUCT_VERSION(4) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (4, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_register_resource_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_REGISTER_RESOURCE_VER;
|
||||
#else
|
||||
/* NV_ENC_REGISTER_RESOURCE_VER == NVENCAPI_STRUCT_VERSION(3) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (3, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_stat_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_STAT_VER;
|
||||
#else
|
||||
/* NV_ENC_STAT_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_sequence_param_payload_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_SEQUENCE_PARAM_PAYLOAD_VER;
|
||||
#else
|
||||
/* NV_ENC_SEQUENCE_PARAM_PAYLOAD_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_event_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_EVENT_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_EVENT_PARAMS_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
guint32
|
||||
gst_nvenc_get_open_encode_session_ex_params_version (void)
|
||||
{
|
||||
#if USE_STATIC_SDK_VER
|
||||
return NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER;
|
||||
#else
|
||||
/* NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER == NVENCAPI_STRUCT_VERSION(1) */
|
||||
return GST_NVENCAPI_STRUCT_VERSION (1, gst_nvenc_api_version);
|
||||
#endif
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
|
|
@ -1553,7 +1553,7 @@ gst_nv_h264_encoder_set_format (GstNvEncoder * encoder,
|
|||
|
||||
vui->videoSignalTypePresentFlag = 1;
|
||||
/* Unspecified */
|
||||
vui->videoFormat = 5;
|
||||
vui->videoFormat = NV_ENC_VUI_VIDEO_FORMAT_UNSPECIFIED;
|
||||
if (cinfo.range == GST_VIDEO_COLOR_RANGE_0_255) {
|
||||
vui->videoFullRangeFlag = 1;
|
||||
} else {
|
||||
|
@ -1561,9 +1561,11 @@ gst_nv_h264_encoder_set_format (GstNvEncoder * encoder,
|
|||
}
|
||||
|
||||
vui->colourDescriptionPresentFlag = 1;
|
||||
vui->colourMatrix = gst_video_color_matrix_to_iso (cinfo.matrix);
|
||||
vui->colourPrimaries = gst_video_color_primaries_to_iso (cinfo.primaries);
|
||||
vui->transferCharacteristics =
|
||||
vui->colourMatrix = (NV_ENC_VUI_MATRIX_COEFFS)
|
||||
gst_video_color_matrix_to_iso (cinfo.matrix);
|
||||
vui->colourPrimaries = (NV_ENC_VUI_COLOR_PRIMARIES)
|
||||
gst_video_color_primaries_to_iso (cinfo.primaries);
|
||||
vui->transferCharacteristics = (NV_ENC_VUI_TRANSFER_CHARACTERISTIC)
|
||||
gst_video_transfer_function_to_iso (cinfo.transfer);
|
||||
|
||||
g_mutex_unlock (&self->prop_lock);
|
||||
|
|
|
@ -1509,7 +1509,7 @@ gst_nv_h265_encoder_set_format (GstNvEncoder * encoder,
|
|||
|
||||
vui->videoSignalTypePresentFlag = 1;
|
||||
/* Unspecified */
|
||||
vui->videoFormat = 5;
|
||||
vui->videoFormat = NV_ENC_VUI_VIDEO_FORMAT_UNSPECIFIED;
|
||||
if (cinfo.range == GST_VIDEO_COLOR_RANGE_0_255) {
|
||||
vui->videoFullRangeFlag = 1;
|
||||
} else {
|
||||
|
@ -1521,16 +1521,18 @@ gst_nv_h265_encoder_set_format (GstNvEncoder * encoder,
|
|||
case GST_VIDEO_FORMAT_GBR:
|
||||
case GST_VIDEO_FORMAT_GBR_16LE:
|
||||
/* color matrix must be "Identity" */
|
||||
vui->colourMatrix =
|
||||
vui->colourMatrix = (NV_ENC_VUI_MATRIX_COEFFS)
|
||||
gst_video_color_matrix_to_iso (GST_VIDEO_COLOR_MATRIX_RGB);
|
||||
break;
|
||||
default:
|
||||
vui->colourMatrix = gst_video_color_matrix_to_iso (cinfo.matrix);
|
||||
vui->colourMatrix = (NV_ENC_VUI_MATRIX_COEFFS)
|
||||
gst_video_color_matrix_to_iso (cinfo.matrix);
|
||||
break;
|
||||
}
|
||||
|
||||
vui->colourPrimaries = gst_video_color_primaries_to_iso (cinfo.primaries);
|
||||
vui->transferCharacteristics =
|
||||
vui->colourPrimaries = (NV_ENC_VUI_COLOR_PRIMARIES)
|
||||
gst_video_color_primaries_to_iso (cinfo.primaries);
|
||||
vui->transferCharacteristics = (NV_ENC_VUI_TRANSFER_CHARACTERISTIC)
|
||||
gst_video_transfer_function_to_iso (cinfo.transfer);
|
||||
|
||||
g_mutex_unlock (&self->prop_lock);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This copyright notice applies to this header file only:
|
||||
*
|
||||
* Copyright (c) 2010-2021 NVIDIA Corporation
|
||||
* Copyright (c) 2010-2022 NVIDIA Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
|
@ -28,7 +28,7 @@
|
|||
/********************************************************************************************************************/
|
||||
//! \file nvcuvid.h
|
||||
//! NVDECODE API provides video decoding interface to NVIDIA GPU devices.
|
||||
//! \date 2015-2020
|
||||
//! \date 2015-2022
|
||||
//! This file contains the interface constants, structure definitions and function prototypes.
|
||||
/********************************************************************************************************************/
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
|||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define MAX_CLOCK_TS 3
|
||||
|
||||
/***********************************************/
|
||||
//!
|
||||
|
@ -78,6 +79,54 @@ typedef enum {
|
|||
cudaAudioCodec_AAC, /**< AAC Audio */
|
||||
} cudaAudioCodec;
|
||||
|
||||
/************************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct HEVCTIMECODESET
|
||||
//! Used to store Time code extracted from Time code SEI in HEVC codec
|
||||
/************************************************************************/
|
||||
typedef struct _HEVCTIMECODESET
|
||||
{
|
||||
unsigned int time_offset_value;
|
||||
unsigned short n_frames;
|
||||
unsigned char clock_timestamp_flag;
|
||||
unsigned char units_field_based_flag;
|
||||
unsigned char counting_type;
|
||||
unsigned char full_timestamp_flag;
|
||||
unsigned char discontinuity_flag;
|
||||
unsigned char cnt_dropped_flag;
|
||||
unsigned char seconds_value;
|
||||
unsigned char minutes_value;
|
||||
unsigned char hours_value;
|
||||
unsigned char seconds_flag;
|
||||
unsigned char minutes_flag;
|
||||
unsigned char hours_flag;
|
||||
unsigned char time_offset_length;
|
||||
unsigned char reserved;
|
||||
} HEVCTIMECODESET;
|
||||
|
||||
/************************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct HEVCSEITIMECODE
|
||||
//! Used to extract Time code SEI in HEVC codec
|
||||
/************************************************************************/
|
||||
typedef struct _HEVCSEITIMECODE
|
||||
{
|
||||
HEVCTIMECODESET time_code_set[MAX_CLOCK_TS];
|
||||
unsigned char num_clock_ts;
|
||||
} HEVCSEITIMECODE;
|
||||
|
||||
/**********************************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct CUSEIMESSAGE;
|
||||
//! Used in CUVIDSEIMESSAGEINFO structure
|
||||
/**********************************************************************************/
|
||||
typedef struct _CUSEIMESSAGE
|
||||
{
|
||||
unsigned char sei_message_type; /**< OUT: SEI Message Type */
|
||||
unsigned char reserved[3];
|
||||
unsigned int sei_message_size; /**< OUT: SEI Message Size */
|
||||
} CUSEIMESSAGE;
|
||||
|
||||
/************************************************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct CUVIDEOFORMAT
|
||||
|
@ -168,6 +217,19 @@ typedef struct
|
|||
};
|
||||
} CUVIDOPERATINGPOINTINFO;
|
||||
|
||||
/**********************************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct CUVIDSEIMESSAGEINFO
|
||||
//! Used in cuvidParseVideoData API with PFNVIDSEIMSGCALLBACK pfnGetSEIMsg
|
||||
/**********************************************************************************/
|
||||
typedef struct _CUVIDSEIMESSAGEINFO
|
||||
{
|
||||
void *pSEIData; /**< OUT: SEI Message Data */
|
||||
CUSEIMESSAGE *pSEIMessage; /**< OUT: SEI Message Info */
|
||||
unsigned int sei_message_count; /**< OUT: SEI Message Count */
|
||||
unsigned int picIdx; /**< OUT: SEI Message Pic Index */
|
||||
} CUVIDSEIMESSAGEINFO;
|
||||
|
||||
/****************************************************************/
|
||||
//! \ingroup STRUCTS
|
||||
//! \struct CUVIDAV1SEQHDR
|
||||
|
@ -366,11 +428,13 @@ typedef struct _CUVIDPARSERDISPINFO
|
|||
//! PFNVIDDECODECALLBACK : 0: fail, >=1: succeeded
|
||||
//! PFNVIDDISPLAYCALLBACK : 0: fail, >=1: succeeded
|
||||
//! PFNVIDOPPOINTCALLBACK : <0: fail, >=0: succeeded (bit 0-9: OperatingPoint, bit 10-10: outputAllLayers, bit 11-30: reserved)
|
||||
//! PFNVIDSEIMSGCALLBACK : 0: fail, >=1: succeeded
|
||||
/***********************************************************************************************************************/
|
||||
typedef int (CUDAAPI *PFNVIDSEQUENCECALLBACK)(void *, CUVIDEOFORMAT *);
|
||||
typedef int (CUDAAPI *PFNVIDDECODECALLBACK)(void *, CUVIDPICPARAMS *);
|
||||
typedef int (CUDAAPI *PFNVIDDISPLAYCALLBACK)(void *, CUVIDPARSERDISPINFO *);
|
||||
typedef int (CUDAAPI *PFNVIDOPPOINTCALLBACK)(void *, CUVIDOPERATINGPOINTINFO*);
|
||||
typedef int (CUDAAPI *PFNVIDSEIMSGCALLBACK) (void *, CUVIDSEIMESSAGEINFO *);
|
||||
|
||||
/**************************************/
|
||||
//! \ingroup STRUCTS
|
||||
|
@ -395,7 +459,8 @@ typedef struct _CUVIDPARSERPARAMS
|
|||
PFNVIDDISPLAYCALLBACK pfnDisplayPicture; /**< IN: Called whenever a picture is ready to be displayed (display order) */
|
||||
PFNVIDOPPOINTCALLBACK pfnGetOperatingPoint; /**< IN: Called from AV1 sequence header to get operating point of a AV1
|
||||
scalable bitstream */
|
||||
void *pvReserved2[6]; /**< Reserved for future use - set to NULL */
|
||||
PFNVIDSEIMSGCALLBACK pfnGetSEIMsg; /**< IN: Called when all SEI messages are parsed for particular frame */
|
||||
void *pvReserved2[5]; /**< Reserved for future use - set to NULL */
|
||||
CUVIDEOFORMATEX *pExtVideoInfo; /**< IN: [Optional] sequence header data from system layer */
|
||||
} CUVIDPARSERPARAMS;
|
||||
|
||||
|
|
Loading…
Reference in a new issue