ffmpeg/nv-codec-headers.git
2 years agoAdd functions to identify devices in more ways
rcombs [Tue, 9 May 2023 10:11:20 +0000 (12:11 +0200)]
Add functions to identify devices in more ways

- cuDeviceGetUuid_v2, giving distinct IDs for different MIG instances
- cuDeviceGetLuid, giving a Win32 LUID to match with DXGI and other APIs
- cuDeviceGetByPCIBusId, retrieving a device that matches a PCI bus ID string
- cuDeviceGetPCIBusId, giving a PCI bus ID string for a device

Closes #11

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agoBump for (in-dev) 12.0.16.1
Timo Rothenpieler [Sun, 12 Mar 2023 10:54:04 +0000 (11:54 +0100)]
Bump for (in-dev) 12.0.16.1

2 years agoAdd cuArrayCreate n12.0.16.0
Philip Langdale [Mon, 2 Jan 2023 18:01:12 +0000 (10:01 -0800)]
Add cuArrayCreate

It's slightly surprising that we've got this far without it, but I need
it to create 2D arrays to use with the Optical Flow FRUC library.

2 years agoUpdate README
Timo Rothenpieler [Sat, 3 Dec 2022 14:31:43 +0000 (15:31 +0100)]
Update README

2 years agoRemove AV1 High Profile GUID
Timo Rothenpieler [Thu, 10 Nov 2022 14:24:14 +0000 (15:24 +0100)]
Remove AV1 High Profile GUID

2 years agoUpdate for final release of Video Codec SDK 12.0.16
Timo Rothenpieler [Thu, 10 Nov 2022 11:41:00 +0000 (12:41 +0100)]
Update for final release of Video Codec SDK 12.0.16

The AV1 High Profile GUID was removed, but has to stick around since
FFmpeg uses it.

3 years agoAdd missing SDK 12.0 bits
Timo Rothenpieler [Wed, 2 Nov 2022 20:08:33 +0000 (21:08 +0100)]
Add missing SDK 12.0 bits

3 years agoPreliminary update of nvEncodeAPI to SDK 12.0
Timo Rothenpieler [Tue, 1 Nov 2022 12:25:16 +0000 (13:25 +0100)]
Preliminary update of nvEncodeAPI to SDK 12.0

3 years agoPrepare for SDK 12.0 update
Timo Rothenpieler [Tue, 1 Nov 2022 12:13:32 +0000 (13:13 +0100)]
Prepare for SDK 12.0 update

3 years agoRelease 11.1.5.2 n11.1.5.2
Timo Rothenpieler [Tue, 1 Nov 2022 12:09:36 +0000 (13:09 +0100)]
Release 11.1.5.2

3 years agoAdd D3D11 interop functions
Timo Rothenpieler [Sun, 14 Aug 2022 16:25:07 +0000 (18:25 +0200)]
Add D3D11 interop functions

3 years agoFix codestyle
Timo Rothenpieler [Sun, 14 Aug 2022 15:36:49 +0000 (17:36 +0200)]
Fix codestyle

3 years agoUpdate forgotten version number in README n11.1.5.1
Timo Rothenpieler [Tue, 11 Jan 2022 02:00:49 +0000 (03:00 +0100)]
Update forgotten version number in README

3 years agoAdd a subset of CUDA EGLStreams interop API
Philip Langdale [Sat, 8 Jan 2022 23:16:23 +0000 (15:16 -0800)]
Add a subset of CUDA EGLStreams interop API

This is required for the nvidia-vaapi-driver that uses EGLStreams to
export frames to EGL to then export via dma-buf.

This is not the full set of calls and enum values, but just those
needed by the driver.

3 years agoAdd CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
Timo Rothenpieler [Sat, 13 Nov 2021 21:21:54 +0000 (22:21 +0100)]
Add CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32

4 years agoAdd timeline semaphore type
Lynne [Sat, 6 Nov 2021 02:39:24 +0000 (03:39 +0100)]
Add timeline semaphore type

Needed for timeline semaphores to work.
Value taken from the toolkit documentation v11.5.0.

4 years agoUpdate headers from Video SDK 11.1 n11.1.5.0
Timo Rothenpieler [Tue, 3 Aug 2021 16:07:58 +0000 (18:07 +0200)]
Update headers from Video SDK 11.1

4 years agoAdd more memory functions
Timo Rothenpieler [Sun, 27 Jun 2021 20:20:02 +0000 (22:20 +0200)]
Add more memory functions

4 years agoFix UB lshift in nvenc struct version macros
Timo Rothenpieler [Sun, 6 Jun 2021 13:46:34 +0000 (15:46 +0200)]
Fix UB lshift in nvenc struct version macros

4 years agoBump for (in-dev) 11.0.10.2
Timo Rothenpieler [Sun, 18 Apr 2021 09:28:04 +0000 (11:28 +0200)]
Bump for (in-dev) 11.0.10.2

4 years agoadd cuMemcpy n11.0.10.1
leozhang [Mon, 16 Nov 2020 04:15:55 +0000 (12:15 +0800)]
add cuMemcpy

Signed-off-by: leozhang <nowerzt@gmail.com>
5 years agoAdd texture alignment device attributes
Timo Rothenpieler [Tue, 3 Nov 2020 23:31:32 +0000 (00:31 +0100)]
Add texture alignment device attributes

5 years agoAdd cuModuleGetGlobal
Timo Rothenpieler [Tue, 3 Nov 2020 23:30:14 +0000 (00:30 +0100)]
Add cuModuleGetGlobal

5 years agoBump for (in-dev) 11.0.10.1
Timo Rothenpieler [Tue, 3 Nov 2020 23:36:20 +0000 (00:36 +0100)]
Bump for (in-dev) 11.0.10.1

5 years agoUpdate headers from Video SDK 11.0 n11.0.10.0
Timo Rothenpieler [Thu, 15 Oct 2020 19:14:39 +0000 (21:14 +0200)]
Update headers from Video SDK 11.0

5 years agoBump for (in-dev) 10.0.26.2
Timo Rothenpieler [Tue, 29 Sep 2020 19:44:06 +0000 (21:44 +0200)]
Bump for (in-dev) 10.0.26.2

5 years agoFix CUdeviceptr definition for ARM64 CPU n10.0.26.1
Martin Finkel [Tue, 29 Sep 2020 12:19:27 +0000 (14:19 +0200)]
Fix CUdeviceptr definition for ARM64 CPU

When building VLC for UWP ARM64 with aarch64-w64-mingw32 from the llvm-mingw toolchain,
this patch fixes the error: incompatible pointer types passing 'CUdeviceptr *' (aka 'unsigned int *')
to parameter of type 'unsigned long long *' [-Werror,-Wincompatible-pointer-types]

5 years agoAdd linker functions and types
rcombs [Wed, 2 Sep 2020 12:38:43 +0000 (14:38 +0200)]
Add linker functions and types

5 years agoFix macOS build
rcombs [Wed, 2 Sep 2020 12:37:23 +0000 (14:37 +0200)]
Fix macOS build

5 years agoBump for (in-dev) 10.0.26.1
Timo Rothenpieler [Wed, 1 Jul 2020 14:19:25 +0000 (16:19 +0200)]
Bump for (in-dev) 10.0.26.1

5 years agoUpdate headers from Video SDK 10.0 n10.0.26.0
Timo Rothenpieler [Tue, 30 Jun 2020 16:40:40 +0000 (18:40 +0200)]
Update headers from Video SDK 10.0

5 years agoBump for (in-dev) 9.1.23.2
Timo Rothenpieler [Tue, 26 Nov 2019 15:40:52 +0000 (16:40 +0100)]
Bump for (in-dev) 9.1.23.2

5 years agoAdd primary contex management functions n9.1.23.1
Oleg Dobkin [Mon, 18 Nov 2019 08:53:44 +0000 (10:53 +0200)]
Add primary contex management functions

These functions can be used to create HW cuda device using primary
contexts - which is the preferred approach.

Signed-off-by: Oleg Dobkin <olegd@anyvision.co>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoBump for (in-dev) 9.1.23.1
Timo Rothenpieler [Mon, 23 Sep 2019 14:10:28 +0000 (16:10 +0200)]
Bump for (in-dev) 9.1.23.1

6 years agoUpdate headers from Video SDK 9.1 release n9.1.23.0
Timo Rothenpieler [Mon, 23 Sep 2019 13:30:20 +0000 (15:30 +0200)]
Update headers from Video SDK 9.1 release

6 years agoUse pointer-to-struct typedefs for pointer-to-struct types n9.0.18.2
Philip Langdale [Mon, 16 Sep 2019 01:18:15 +0000 (18:18 -0700)]
Use pointer-to-struct typedefs for pointer-to-struct types

Use of void * can lead to silent errors if you accidentally pass
the address of a pointer instead of the pointer.

I got the struct names from the API docs, although having those
match is not actually important.

This now matches the pattern used in the official headers.

6 years agoAdd cuCtxGetDevice
Steve Lhomme [Thu, 12 Sep 2019 13:19:04 +0000 (15:19 +0200)]
Add cuCtxGetDevice

It can be useful to determine if the decoder context is the same as the display
context.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoBump for (in-dev) 9.0.18.2
BtbN [Mon, 11 Mar 2019 10:21:16 +0000 (11:21 +0100)]
Bump for (in-dev) 9.0.18.2

6 years agoFix CUdeviceptr definition for 64bit CPU n9.0.18.1
Ruta Gadkari [Sun, 17 Feb 2019 12:53:35 +0000 (18:23 +0530)]
Fix CUdeviceptr definition for 64bit CPU

NVIDIA driver implementation defines and expects â€˜CUdeviceptr’ to
be 64-bit wide on the 64-bit platforms.
FFMPEG build on PPC64 architecture on the other hand, falls back to
an incorrect (32-bit wide data type) definition of this data type.
This patch adds a new build time check to pick up the correct definition
on PPC64 architecture.

Signed-off-by: BtbN <btbn@btbn.de>
6 years agoBump for (in-dev) 9.0.18.1
Timo Rothenpieler [Tue, 26 Feb 2019 13:59:03 +0000 (14:59 +0100)]
Bump for (in-dev) 9.0.18.1

6 years agoAdd cuMemsetD8Async n9.0.18.0
Philip Langdale [Thu, 21 Feb 2019 03:43:27 +0000 (19:43 -0800)]
Add cuMemsetD8Async

This function is needed by the vf_thumbnail_cuda filter in ffmpeg.

6 years agoUpdate README for SDK 9.0.18
Timo Rothenpieler [Thu, 14 Feb 2019 12:30:55 +0000 (13:30 +0100)]
Update README for SDK 9.0.18

6 years agoRemove nvdec version check macro
Timo Rothenpieler [Thu, 14 Feb 2019 11:48:39 +0000 (12:48 +0100)]
Remove nvdec version check macro

It is defined in the checking code and causes issues when it now suddenly shows up here.

6 years agoAdd missing fields from SDK 9.0.18
Timo Rothenpieler [Wed, 13 Feb 2019 19:07:54 +0000 (20:07 +0100)]
Add missing fields from SDK 9.0.18

6 years agoUpdating headers for Video Codec SDK 9 release
Roman Arzumanyan [Tue, 4 Dec 2018 06:26:37 +0000 (09:26 +0300)]
Updating headers for Video Codec SDK 9 release

6 years agoBump for (in-dev) 8.2.15.8
Timo Rothenpieler [Fri, 1 Feb 2019 17:36:04 +0000 (18:36 +0100)]
Bump for (in-dev) 8.2.15.8

6 years agoAdd cuMipmappedArrayDestroy n8.2.15.7
Philip Langdale [Tue, 18 Dec 2018 17:14:09 +0000 (09:14 -0800)]
Add cuMipmappedArrayDestroy

This is needed to clean up the mipmapped array returned by the CUDA 10
vulkan interop.

6 years agoBump for (in-dev) 8.2.15.7
Timo Rothenpieler [Thu, 22 Nov 2018 17:03:09 +0000 (18:03 +0100)]
Bump for (in-dev) 8.2.15.7

6 years agoBump for 8.2.15.6 n8.2.15.6
Timo Rothenpieler [Thu, 22 Nov 2018 16:56:11 +0000 (17:56 +0100)]
Bump for 8.2.15.6

6 years agoAdd CUDA function cuMemAllocPitch
Seungha Yang [Fri, 16 Nov 2018 09:21:11 +0000 (18:21 +0900)]
Add CUDA function cuMemAllocPitch

Signed-off-by: Seungha Yang <seungha.yang@navercorp.com>
6 years agoRevert "Bump SDK versions"
Timo Rothenpieler [Sun, 18 Nov 2018 01:42:22 +0000 (02:42 +0100)]
Revert "Bump SDK versions"

This reverts commit fd0669486c35d1c62be3442f73025ebac28df928.

Seems like nobody told the driver about this new SDK version.

6 years agoBump SDK versions
Timo Rothenpieler [Sun, 11 Nov 2018 13:58:52 +0000 (14:58 +0100)]
Bump SDK versions

6 years agoAdd a subset of CUDA kernel interaction API
Philip Langdale [Sat, 27 Oct 2018 03:26:19 +0000 (20:26 -0700)]
Add a subset of CUDA kernel interaction API

Specifically, two sets of functions:

1) Loading a compiled CUDA module and launching kernels from it.

2) Texture object creation and destruction.

7 years agoCUDA 10: Add external semaphore API
Philip Langdale [Wed, 17 Oct 2018 19:05:12 +0000 (12:05 -0700)]
CUDA 10: Add external semaphore API

This part of the interop API allows cuda to work with external
semaphores to synchronise work with Vulkan.

7 years agoBump for release 8.2.15.5 n8.2.15.5
Timo Rothenpieler [Fri, 2 Nov 2018 17:38:27 +0000 (18:38 +0100)]
Bump for release 8.2.15.5

7 years agoOnly load cuDeviceGetLuid as an optional function
Timo Rothenpieler [Fri, 2 Nov 2018 17:36:54 +0000 (18:36 +0100)]
Only load cuDeviceGetLuid as an optional function

It's more recent than expected and breaks on older drivers for no good reason.

7 years agoAdd CUDA function cuDeviceGetAttribute V2
Soft Works [Thu, 1 Nov 2018 23:38:42 +0000 (23:38 +0000)]
Add CUDA function cuDeviceGetAttribute V2

Signed-off-by: softworkz <softworkz@hotmail.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoGuard against multiple definitions of CUuuid n8.2.15.4
Timo Rothenpieler [Sun, 21 Oct 2018 20:22:18 +0000 (22:22 +0200)]
Guard against multiple definitions of CUuuid

7 years agoGetProcAddress always takes ANSI C strings n8.2.15.3
Timo Rothenpieler [Wed, 17 Oct 2018 16:38:50 +0000 (18:38 +0200)]
GetProcAddress always takes ANSI C strings

7 years agoAdd cuGetDeviceUuid n8.2.15.2
Philip Langdale [Wed, 10 Oct 2018 04:03:10 +0000 (21:03 -0700)]
Add cuGetDeviceUuid

This is needed to match a device selected from Vulkan when doing
interop.

7 years agoUpdate for CUDA 10 n8.2.15.1
Philip Langdale [Sun, 30 Sep 2018 02:19:37 +0000 (19:19 -0700)]
Update for CUDA 10

This adds support for the CUDA/Vulkan interop API, which requires
very new driver versions. As such, we allow the symbols to be
optionally loaded. I expect that when the next Video SDK release
comes out, it will also require the very new drivers and we'll make
these symbols compulsory.

7 years agoUpdate for SDK 8.2
Philip Langdale [Sun, 29 Jul 2018 18:02:01 +0000 (11:02 -0700)]
Update for SDK 8.2

This introduces two new nvdec calls and some small documentation
changes.

7 years agoAdd most commonly used CUevent functions
Timo Rothenpieler [Mon, 7 May 2018 12:28:09 +0000 (14:28 +0200)]
Add most commonly used CUevent functions

7 years agoFix usage of ffmpeg specific arch define n8.1.24.2
Timo Rothenpieler [Sat, 5 May 2018 09:45:50 +0000 (11:45 +0200)]
Fix usage of ffmpeg specific arch define

7 years agoBump version
Timo Rothenpieler [Sun, 29 Apr 2018 11:18:38 +0000 (13:18 +0200)]
Bump version

7 years agoAdd support for basic CUstream usage
Timo Rothenpieler [Sun, 29 Apr 2018 10:58:50 +0000 (12:58 +0200)]
Add support for basic CUstream usage

7 years agoFix cuCtxPushCurrent signature
Daniel Oberhoff [Fri, 27 Apr 2018 09:43:30 +0000 (11:43 +0200)]
Fix cuCtxPushCurrent signature

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoRe-Prettify indentation
Timo Rothenpieler [Thu, 26 Apr 2018 13:37:16 +0000 (15:37 +0200)]
Re-Prettify indentation

7 years agoMake code compile in C++ mode
Daniel Oberhoff [Thu, 26 Apr 2018 11:03:40 +0000 (13:03 +0200)]
Make code compile in C++ mode

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoUpdate README for SDK 8.1 n8.1.24.1
Timo Rothenpieler [Sun, 15 Apr 2018 16:19:01 +0000 (18:19 +0200)]
Update README for SDK 8.1

7 years agoAdd CUDA OpenGL Interop symbols and types
Philip Langdale [Sun, 15 Apr 2018 15:43:16 +0000 (08:43 -0700)]
Add CUDA OpenGL Interop symbols and types

This will allow mpv to use this loader, instead of having to maintain
its own code.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoUpdate cuvid/nvdec headers to SDK 8.1 n8.1.24.0
Timo Rothenpieler [Wed, 11 Apr 2018 11:11:55 +0000 (13:11 +0200)]
Update cuvid/nvdec headers to SDK 8.1

7 years agoUpdate nvEncodeAPI.h header to SDK 8.1
Roman Arzumanyan [Wed, 11 Apr 2018 10:34:39 +0000 (13:34 +0300)]
Update nvEncodeAPI.h header to SDK 8.1

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoGenerate native Windows paths on Windows n8.0.14.1
Timo Rothenpieler [Tue, 27 Feb 2018 14:48:41 +0000 (15:48 +0100)]
Generate native Windows paths on Windows

7 years agoAdd cuCtxSetLimit CUDA function
Timo Rothenpieler [Sun, 28 Jan 2018 13:43:39 +0000 (14:43 +0100)]
Add cuCtxSetLimit CUDA function

7 years agoAdd .gitignore
Timo Rothenpieler [Sun, 28 Jan 2018 13:38:41 +0000 (14:38 +0100)]
Add .gitignore

7 years agoUse install instead of cp/mkdir in Makefile
Timo Rothenpieler [Fri, 15 Dec 2017 20:34:58 +0000 (21:34 +0100)]
Use install instead of cp/mkdir in Makefile

7 years agoFixup include guard naming
Timo Rothenpieler [Fri, 15 Dec 2017 12:47:16 +0000 (13:47 +0100)]
Fixup include guard naming

7 years agoAdd ffmpeg-free loader
Timo Rothenpieler [Fri, 15 Dec 2017 12:39:33 +0000 (13:39 +0100)]
Add ffmpeg-free loader

7 years agoRemove dependencies on ffmpeg
Timo Rothenpieler [Mon, 4 Dec 2017 18:40:03 +0000 (19:40 +0100)]
Remove dependencies on ffmpeg

7 years agoAdd Makefile for installation
Timo Rothenpieler [Sun, 3 Dec 2017 11:12:05 +0000 (12:12 +0100)]
Add Makefile for installation

7 years agoAdd README
Timo Rothenpieler [Sun, 3 Dec 2017 10:38:39 +0000 (11:38 +0100)]
Add README

7 years agoInitial import from FFmpeg
Timo Rothenpieler [Sun, 3 Dec 2017 10:30:31 +0000 (11:30 +0100)]
Initial import from FFmpeg