Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ffnvcodec for openSUSE:Factory checked in at 2022-01-27 23:16:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffnvcodec (Old) and /work/SRC/openSUSE:Factory/.ffnvcodec.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffnvcodec" Thu Jan 27 23:16:20 2022 rev:14 rq:949032 version:11.1.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ffnvcodec/ffnvcodec.changes 2021-11-06 18:13:32.512744431 +0100 +++ /work/SRC/openSUSE:Factory/.ffnvcodec.new.1898/ffnvcodec.changes 2022-01-27 23:16:32.755152674 +0100 @@ -1,0 +2,9 @@ +Mon Jan 24 04:39:04 UTC 2022 - malcolmle...@opensuse.org + +- Update to version 11.1.5.1: + * Update forgotten version number in README. + * Add a subset of CUDA EGLStreams interop API. + * Add CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHOR. + * Add timeline semaphore type. + +------------------------------------------------------------------- Old: ---- nv-codec-headers-11.1.5.0.tar.xz New: ---- nv-codec-headers-11.1.5.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffnvcodec.spec ++++++ --- /var/tmp/diff_new_pack.IIX5QK/_old 2022-01-27 23:16:33.343148612 +0100 +++ /var/tmp/diff_new_pack.IIX5QK/_new 2022-01-27 23:16:33.347148584 +0100 @@ -1,7 +1,7 @@ # # spec file for package ffnvcodec # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: ffnvcodec -Version: 11.1.5.0 +Version: 11.1.5.1 Release: 0 Summary: FFmpeg version of NVIDIA codec API headers License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.IIX5QK/_old 2022-01-27 23:16:33.387148308 +0100 +++ /var/tmp/diff_new_pack.IIX5QK/_new 2022-01-27 23:16:33.391148280 +0100 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">n([0-9\.]*)</param> - <param name="revision">n11.1.5.0</param> + <param name="revision">n11.1.5.1</param> </service> <service mode="disabled" name="recompress"> <param name="file">*.tar</param> ++++++ nv-codec-headers-11.1.5.0.tar.xz -> nv-codec-headers-11.1.5.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nv-codec-headers-11.1.5.0/README new/nv-codec-headers-11.1.5.1/README --- old/nv-codec-headers-11.1.5.0/README 2021-08-03 18:13:31.000000000 +0200 +++ new/nv-codec-headers-11.1.5.1/README 2022-01-11 03:00:49.000000000 +0100 @@ -1,6 +1,6 @@ FFmpeg version of headers required to interface with Nvidias codec APIs. -Corresponds to Video Codec SDK version 11.0.10. +Corresponds to Video Codec SDK version 11.1.5. Minimum required driver versions: Linux: 470.57.02 or newer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nv-codec-headers-11.1.5.0/ffnvcodec.pc.in new/nv-codec-headers-11.1.5.1/ffnvcodec.pc.in --- old/nv-codec-headers-11.1.5.0/ffnvcodec.pc.in 2021-08-03 18:13:31.000000000 +0200 +++ new/nv-codec-headers-11.1.5.1/ffnvcodec.pc.in 2022-01-11 03:00:49.000000000 +0100 @@ -3,5 +3,5 @@ Name: ffnvcodec Description: FFmpeg version of Nvidia Codec SDK headers -Version: 11.1.5.0 +Version: 11.1.5.1 Cflags: -I${includedir} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nv-codec-headers-11.1.5.0/include/ffnvcodec/dynlink_cuda.h new/nv-codec-headers-11.1.5.1/include/ffnvcodec/dynlink_cuda.h --- old/nv-codec-headers-11.1.5.0/include/ffnvcodec/dynlink_cuda.h 2021-08-03 18:13:31.000000000 +0200 +++ new/nv-codec-headers-11.1.5.1/include/ffnvcodec/dynlink_cuda.h 2022-01-11 03:00:49.000000000 +0100 @@ -29,6 +29,7 @@ #define FFNV_DYNLINK_CUDA_H #include <stddef.h> +#include <stdint.h> #define CUDA_VERSION 7050 @@ -58,12 +59,15 @@ typedef struct CUgraphicsResource_st *CUgraphicsResource; typedef struct CUextMemory_st *CUexternalMemory; typedef struct CUextSemaphore_st *CUexternalSemaphore; +typedef struct CUeglStreamConnection_st *CUeglStreamConnection; typedef struct CUlinkState_st *CUlinkState; typedef enum cudaError_enum { CUDA_SUCCESS = 0, - CUDA_ERROR_NOT_READY = 600 + CUDA_ERROR_NOT_READY = 600, + CUDA_ERROR_LAUNCH_TIMEOUT = 702, + CUDA_ERROR_UNKNOWN = 999 } CUresult; /** @@ -154,10 +158,12 @@ } CUexternalMemoryHandleType; typedef enum CUexternalSemaphoreHandleType_enum { - CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = 1, - CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = 2, - CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3, - CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = 4 + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = 1, + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = 2, + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3, + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = 4, + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD = 9, + CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = 10, } CUexternalSemaphoreHandleType; typedef enum CUjit_option_enum @@ -195,6 +201,21 @@ CU_JIT_NUM_INPUT_TYPES } CUjitInputType; +typedef enum CUeglFrameType +{ + CU_EGL_FRAME_TYPE_ARRAY = 0, + CU_EGL_FRAME_TYPE_PITCH = 1, +} CUeglFrameType; + +typedef enum CUeglColorFormat +{ + CU_EGL_COLOR_FORMAT_YUV420_PLANAR = 0x00, + CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = 0x01, + CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = 0x15, + CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = 0x17, + CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = 0x19, +} CUeglColorFormat; + #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED typedef struct CUuuid_st { @@ -271,6 +292,12 @@ typedef unsigned int GLenum; typedef unsigned int GLuint; +/* + * Prefix type name to avoid collisions. Clients using these types + * will include the real headers with real definitions. + */ +typedef int32_t ffnv_EGLint; +typedef void *ffnv_EGLStreamKHR; typedef enum CUGLDeviceList_enum { CU_GL_DEVICE_LIST_ALL = 1, @@ -342,6 +369,23 @@ unsigned int reserved[16]; } CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC; +#define CU_EGL_FRAME_MAX_PLANES 3 +typedef struct CUeglFrame_st { + union { + CUarray pArray[CU_EGL_FRAME_MAX_PLANES]; + void* pPitch[CU_EGL_FRAME_MAX_PLANES]; + } frame; + unsigned int width; + unsigned int height; + unsigned int depth; + unsigned int pitch; + unsigned int planeCount; + unsigned int numChannels; + CUeglFrameType frameType; + CUeglColorFormat eglColorFormat; + CUarray_format cuFormat; +} CUeglFrame; + #define CU_STREAM_NON_BLOCKING 1 #define CU_EVENT_BLOCKING_SYNC 1 #define CU_EVENT_DISABLE_TIMING 2 @@ -427,4 +471,13 @@ typedef CUresult CUDAAPI tcuDestroyExternalSemaphore(CUexternalSemaphore extSem); typedef CUresult CUDAAPI tcuSignalExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream); typedef CUresult CUDAAPI tcuWaitExternalSemaphoresAsync(const CUexternalSemaphore* extSemArray, const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray, unsigned int numExtSems, CUstream stream); + +typedef CUresult CUDAAPI tcuArray3DCreate(CUarray *pHandle, const CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray); +typedef CUresult CUDAAPI tcuArrayDestroy(CUarray hArray); + +typedef CUresult CUDAAPI tcuEGLStreamProducerConnect (CUeglStreamConnection* conn, ffnv_EGLStreamKHR stream, ffnv_EGLint width, ffnv_EGLint height); +typedef CUresult CUDAAPI tcuEGLStreamProducerDisconnect (CUeglStreamConnection* conn); +typedef CUresult CUDAAPI tcuEGLStreamConsumerDisconnect (CUeglStreamConnection* conn); +typedef CUresult CUDAAPI tcuEGLStreamProducerPresentFrame (CUeglStreamConnection* conn, CUeglFrame eglframe, CUstream* pStream); +typedef CUresult CUDAAPI tcuEGLStreamProducerReturnFrame (CUeglStreamConnection* conn, CUeglFrame* eglframe, CUstream* pStream); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nv-codec-headers-11.1.5.0/include/ffnvcodec/dynlink_loader.h new/nv-codec-headers-11.1.5.1/include/ffnvcodec/dynlink_loader.h --- old/nv-codec-headers-11.1.5.0/include/ffnvcodec/dynlink_loader.h 2021-08-03 18:13:31.000000000 +0200 +++ new/nv-codec-headers-11.1.5.1/include/ffnvcodec/dynlink_loader.h 2022-01-11 03:00:49.000000000 +0100 @@ -216,6 +216,15 @@ tcuSignalExternalSemaphoresAsync *cuSignalExternalSemaphoresAsync; tcuWaitExternalSemaphoresAsync *cuWaitExternalSemaphoresAsync; + tcuArray3DCreate *cuArray3DCreate; + tcuArrayDestroy *cuArrayDestroy; + + tcuEGLStreamProducerConnect *cuEGLStreamProducerConnect; + tcuEGLStreamProducerDisconnect *cuEGLStreamProducerDisconnect; + tcuEGLStreamConsumerDisconnect *cuEGLStreamConsumerDisconnect; + tcuEGLStreamProducerPresentFrame *cuEGLStreamProducerPresentFrame; + tcuEGLStreamProducerReturnFrame *cuEGLStreamProducerReturnFrame; + FFNV_LIB_HANDLE lib; } CudaFunctions; #else @@ -363,6 +372,15 @@ LOAD_SYMBOL_OPT(cuSignalExternalSemaphoresAsync, tcuSignalExternalSemaphoresAsync, "cuSignalExternalSemaphoresAsync"); LOAD_SYMBOL_OPT(cuWaitExternalSemaphoresAsync, tcuWaitExternalSemaphoresAsync, "cuWaitExternalSemaphoresAsync"); + LOAD_SYMBOL(cuArray3DCreate, tcuArray3DCreate, "cuArray3DCreate_v2"); + LOAD_SYMBOL(cuArrayDestroy, tcuArrayDestroy, "cuArrayDestroy"); + + LOAD_SYMBOL_OPT(cuEGLStreamProducerConnect, tcuEGLStreamProducerConnect, "cuEGLStreamProducerConnect"); + LOAD_SYMBOL_OPT(cuEGLStreamProducerDisconnect, tcuEGLStreamProducerDisconnect, "cuEGLStreamProducerDisconnect"); + LOAD_SYMBOL_OPT(cuEGLStreamConsumerDisconnect, tcuEGLStreamConsumerDisconnect, "cuEGLStreamConsumerDisconnect"); + LOAD_SYMBOL_OPT(cuEGLStreamProducerPresentFrame, tcuEGLStreamProducerPresentFrame, "cuEGLStreamProducerPresentFrame"); + LOAD_SYMBOL_OPT(cuEGLStreamProducerReturnFrame, tcuEGLStreamProducerReturnFrame, "cuEGLStreamProducerReturnFrame"); + GENERIC_LOAD_FUNC_FINALE(cuda); } #endif