Skip to content

Commit c692783

Browse files
committed
Update headers from Video SDK 12.2
1 parent 75f032b commit c692783

File tree

5 files changed

+214
-84
lines changed

5 files changed

+214
-84
lines changed

README

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ FFmpeg version of headers required to interface with Nvidias codec APIs.
33
Corresponds to Video Codec SDK version 12.0.16.
44

55
Minimum required driver versions:
6-
Linux: 530.41.03 or newer
7-
Windows: 531.61 or newer
6+
Linux: 550.54.14 or newer
7+
Windows: 551.76 or newer

ffnvcodec.pc.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ includedir=${prefix}/include
33

44
Name: ffnvcodec
55
Description: FFmpeg version of Nvidia Codec SDK headers
6-
Version: 12.1.14.1
6+
Version: 12.2.72.0
77
Cflags: -I${includedir}

include/ffnvcodec/dynlink_cuviddec.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* This copyright notice applies to this header file only:
33
*
4-
* Copyright (c) 2010-2023 NVIDIA Corporation
4+
* Copyright (c) 2010-2024 NVIDIA Corporation
55
*
66
* Permission is hereby granted, free of charge, to any person
77
* obtaining a copy of this software and associated documentation
@@ -41,7 +41,7 @@
4141
#endif
4242

4343
#define NVDECAPI_MAJOR_VERSION 12
44-
#define NVDECAPI_MINOR_VERSION 1
44+
#define NVDECAPI_MINOR_VERSION 2
4545

4646
#define NVDECAPI_VERSION (NVDECAPI_MAJOR_VERSION | (NVDECAPI_MINOR_VERSION << 24))
4747

include/ffnvcodec/dynlink_nvcuvid.h

Lines changed: 63 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* This copyright notice applies to this header file only:
33
*
4-
* Copyright (c) 2010-2023 NVIDIA Corporation
4+
* Copyright (c) 2010-2024 NVIDIA Corporation
55
*
66
* Permission is hereby granted, free of charge, to any person
77
* obtaining a copy of this software and associated documentation
@@ -28,7 +28,7 @@
2828
/********************************************************************************************************************/
2929
//! \file nvcuvid.h
3030
//! NVDECODE API provides video decoding interface to NVIDIA GPU devices.
31-
//! \date 2015-2022
31+
//! \date 2015-2024
3232
//! This file contains the interface constants, structure definitions and function prototypes.
3333
/********************************************************************************************************************/
3434

@@ -81,10 +81,10 @@ typedef enum {
8181

8282
/************************************************************************/
8383
//! \ingroup STRUCTS
84-
//! \struct HEVCTIMECODESET
85-
//! Used to store Time code extracted from Time code SEI in HEVC codec
84+
//! \struct TIMECODESET
85+
//! Used to store Time code set extracted from H264 and HEVC codecs
8686
/************************************************************************/
87-
typedef struct _HEVCTIMECODESET
87+
typedef struct _TIMECODESET
8888
{
8989
unsigned int time_offset_value;
9090
unsigned short n_frames;
@@ -102,18 +102,70 @@ typedef struct _HEVCTIMECODESET
102102
unsigned char hours_flag;
103103
unsigned char time_offset_length;
104104
unsigned char reserved;
105-
} HEVCTIMECODESET;
105+
} TIMECODESET;
106106

107107
/************************************************************************/
108108
//! \ingroup STRUCTS
109-
//! \struct HEVCSEITIMECODE
110-
//! Used to extract Time code SEI in HEVC codec
109+
//! \struct TIMECODE
110+
//! Used to extract Time code in H264 and HEVC codecs
111111
/************************************************************************/
112-
typedef struct _HEVCSEITIMECODE
112+
typedef struct _TIMECODE
113113
{
114-
HEVCTIMECODESET time_code_set[MAX_CLOCK_TS];
114+
TIMECODESET time_code_set[MAX_CLOCK_TS];
115115
unsigned char num_clock_ts;
116-
} HEVCSEITIMECODE;
116+
} TIMECODE;
117+
118+
/**********************************************************************************/
119+
//! \ingroup STRUCTS
120+
//! \struct SEIMASTERINGDISPLAYINFO
121+
//! Used to extract mastering display color volume SEI in H264 and HEVC codecs
122+
/**********************************************************************************/
123+
typedef struct _SEIMASTERINGDISPLAYINFO
124+
{
125+
unsigned short display_primaries_x[3];
126+
unsigned short display_primaries_y[3];
127+
unsigned short white_point_x;
128+
unsigned short white_point_y;
129+
unsigned int max_display_mastering_luminance;
130+
unsigned int min_display_mastering_luminance;
131+
} SEIMASTERINGDISPLAYINFO;
132+
133+
/**********************************************************************************/
134+
//! \ingroup STRUCTS
135+
//! \struct SEICONTENTLIGHTLEVELINFO
136+
//! Used to extract content light level info SEI in H264 and HEVC codecs
137+
/**********************************************************************************/
138+
typedef struct _SEICONTENTLIGHTLEVELINFO
139+
{
140+
unsigned short max_content_light_level;
141+
unsigned short max_pic_average_light_level;
142+
unsigned int reserved;
143+
} SEICONTENTLIGHTLEVELINFO;
144+
145+
/**********************************************************************************/
146+
//! \ingroup STRUCTS
147+
//! \struct TIMECODEMPEG2
148+
//! Used to extract Time code in MPEG2 codec
149+
/**********************************************************************************/
150+
typedef struct _TIMECODEMPEG2
151+
{
152+
unsigned char drop_frame_flag;
153+
unsigned char time_code_hours;
154+
unsigned char time_code_minutes;
155+
unsigned char marker_bit;
156+
unsigned char time_code_seconds;
157+
unsigned char time_code_pictures;
158+
} TIMECODEMPEG2;
159+
160+
/**********************************************************************************/
161+
//! \ingroup STRUCTS
162+
//! \struct SEIALTERNATIVETRANSFERCHARACTERISTICS
163+
//! Used to extract alternative transfer characteristics SEI in H264 and HEVC codecs
164+
/**********************************************************************************/
165+
typedef struct _SEIALTERNATIVETRANSFERCHARACTERISTICS
166+
{
167+
unsigned char preferred_transfer_characteristics;
168+
} SEIALTERNATIVETRANSFERCHARACTERISTICS;
117169

118170
/**********************************************************************************/
119171
//! \ingroup STRUCTS

0 commit comments

Comments
 (0)