Description
System information (version)
OpenCV => 4.9.0
Operating System / Platform => Linux
Compiler => clang 13
Detailed description
Similar to issue #3725, in cuda 12.4 for nppi_statistics_functions.h the functions nppiHistogramEvenGetBufferSize_* have changed the hpBufferSize argument from 'int *' to 'size_t *'
Example:
12.3:
NppStatus
nppiHistogramEvenGetBufferSize_8u_C1R(NppiSize oSizeROI, int nLevels ,int * hpBufferSize);
12.4:
NppStatus
nppiHistogramEvenGetBufferSize_8u_C1R(NppiSize oSizeROI, int nLevels ,size_t * hpBufferSize);
This produces the compile error in cudaimgproc:
modules/cudaimgproc/src/histogram.cpp:519: error: value of type 'NppStatus (NppiSize, int, size_t *)' (aka 'NppStatus (NppiSize, int, unsigned long )') is not implicitly convertible to 'get_buf_size_c1_t' (aka 'NppStatus ()(NppiSize, int, int *)')
519 | NppHistogramEvenC1<CV_8U , nppiHistogramEven_8u_C1R , nppiHistogramEvenGetBufferSize_8u_C1R >::hist,
Steps to reproduce
Build cudaimgproc with cuda 12.4
Issue submission checklist
- I report the issue, it's not a question
- I checked the problem with documentation, FAQ, open issues,
forum.opencv.org, Stack Overflow, etc and have not found any solution - I updated to the latest OpenCV version and the issue is still there
- There is reproducer code and related data files: videos, images, onnx, etc