Opened 3 years ago
Last modified 3 years ago
#9076 open defect
Using the `--enable-extra-warnings' option breaks vulkan compilation with gcc
| Reported by: | hongyi-zhao | Owned by: | |
|---|---|---|---|
| Priority: | minor | Component: | avutil |
| Version: | git-master | Keywords: | vulkan |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
On Ubuntu 20.10, I try to compile the latest git master version of ffmpeg according to the guidance given by the official website <https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu>.
The configuration are listed as below:
$ ./configure --enable-gpl \ --enable-nonfree \ --enable-version3 \ --enable-debug \ --enable-ffplay \ --enable-indev=sndio \ --enable-outdev=sndio \ --enable-fontconfig \ --enable-frei0r \ --enable-openssl \ --enable-gmp \ --enable-libgme \ --enable-gray \ --enable-libaom \ --enable-libfribidi \ --enable-libass \ --enable-libvmaf \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libopenjpeg \ --enable-librubberband \ --enable-libsoxr \ --enable-libspeex \ --enable-libsrt \ --enable-libvorbis \ --enable-libopus \ --enable-libtheora \ --enable-libvidstab \ --enable-libvo-amrwbenc \ --enable-libvpx \ --enable-libwebp \ --enable-libx264 \ --enable-libx265 \ --enable-libxml2 \ --enable-libdav1d \ --enable-libxvid \ --enable-libzvbi \ --enable-libzimg \ --enable-rpath \ --enable-shared \ --enable-avisynth \ --enable-chromaprint \ --enable-gcrypt \ --enable-ladspa \ --enable-libaribb24 \ --enable-libbluray \ --enable-libbs2b \ --enable-libcaca \ --enable-libcelt \ --enable-libcdio \ --enable-libcodec2 \ --enable-libdc1394 \ --enable-libfdk-aac \ --enable-libflite \ --enable-libfontconfig \ --enable-libgsm \ --enable-libiec61883 \ --enable-libjack \ --enable-libklvanc \ --enable-liblensfun \ --enable-libmodplug \ --enable-libopenh264 \ --enable-libopenmpt \ --enable-libpulse \ --enable-librabbitmq \ --enable-librsvg \ --enable-librtmp \ --enable-libshine \ --enable-libsnappy \ --enable-libssh \ --enable-libtesseract \ --enable-libtwolame \ --enable-libv4l2 \ --enable-libxavs2 \ --enable-libdavs2 \ --enable-libxcb \ --enable-libxcb-shm \ --enable-libxcb-xfixes \ --enable-libxcb-shape \ --enable-libzmq \ --enable-lv2 \ --enable-libmysofa \ --enable-openal \ --enable-opencl \ --enable-opengl \ --enable-pocketsphinx \ --enable-vulkan \ --enable-libdrm \ --enable-libmfx \ --enable-pic \ --enable-lto \ --enable-hardcoded-tables \ --enable-memory-poisoning \ --enable-ftrapv \ --enable-linux-perf \ --enable-extra-warnings
With the above configuration, I will meet the following compilation errors:
CC libavutil/hwcontext_vulkan.o
In file included from libavutil/hwcontext_vulkan.c:40:
libavutil/cuda_check.h: In function ‘ff_cuda_check’:
libavutil/cuda_check.h:43:6: warning: ISO C forbids conversion of object pointer to function pointer type [-Wpedantic]
43 | ((cuda_check_GetErrorName *)cuGetErrorName_fn)(err, &err_name);
| ^
libavutil/cuda_check.h:44:6: warning: ISO C forbids conversion of object pointer to function pointer type [-Wpedantic]
44 | ((cuda_check_GetErrorString *)cuGetErrorString_fn)(err, &err_string);
| ^
libavutil/hwcontext_vulkan.c: In function ‘av_vkfmt_from_pixfmt’:
libavutil/hwcontext_vulkan.c:214:38: warning: comparison of integer expressions of different signedness: ‘enum AVPixelFormat’ and ‘long unsigned int’ [-Wsign-compare]
214 | for (enum AVPixelFormat i = 0; i < FF_ARRAY_ELEMS(vk_pixfmt_map); i++)
| ^
libavutil/hwcontext_vulkan.c: At top level:
libavutil/hwcontext_vulkan.c:253:34: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic]
253 | EXT_NO_FLAG = 1ULL << 63,
| ^~~~
libavutil/hwcontext_vulkan.c:261:60: warning: ISO C forbids empty initializer braces [-Wpedantic]
261 | static const VulkanOptExtension optional_instance_exts[] = {
| ^
libavutil/hwcontext_vulkan.c:261:33: error: zero or negative size array ‘optional_instance_exts’
261 | static const VulkanOptExtension optional_instance_exts[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vk_dbg_callback’:
libavutil/hwcontext_vulkan.c:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘const unsigned int’} [-Wsign-compare]
333 | for (int i = 0; i < data->cmdBufLabelCount; i++)
| ^
libavutil/hwcontext_vulkan.c:317:65: warning: unused parameter ‘messageType’ [-Wunused-parameter]
317 | VkDebugUtilsMessageTypeFlagsEXT messageType,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘check_extensions’:
libavutil/hwcontext_vulkan.c:397:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
397 | for (int j = 0; j < sup_ext_count; j++) {
| ^
libavutil/hwcontext_vulkan.c:414:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
414 | for (int j = 0; j < sup_ext_count; j++) {
| ^
libavutil/hwcontext_vulkan.c:435:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
435 | for (int j = 0; j < sup_ext_count; j++) {
| ^
libavutil/hwcontext_vulkan.c:462:21: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
462 | av_free((void *)extension_names[i]);
| ^
libavutil/hwcontext_vulkan.c: In function ‘create_instance’:
libavutil/hwcontext_vulkan.c:510:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
510 | for (int i = 0; i < inst_props.enabledExtensionCount; i++)
| ^
libavutil/hwcontext_vulkan.c:511:21: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
511 | av_free((void *)inst_props.ppEnabledExtensionNames[i]);
| ^
libavutil/hwcontext_vulkan.c:512:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
512 | av_free((void *)inst_props.ppEnabledExtensionNames);
| ^
libavutil/hwcontext_vulkan.c: In function ‘find_device’:
libavutil/hwcontext_vulkan.c:603:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
603 | for (int i = 0; i < num; i++) {
| ^
libavutil/hwcontext_vulkan.c:616:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
616 | for (int i = 0; i < num; i++) {
| ^
libavutil/hwcontext_vulkan.c:627:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
627 | for (int i = 0; i < num; i++) {
| ^
libavutil/hwcontext_vulkan.c:639:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
639 | for (int i = 0; i < num; i++) {
| ^
libavutil/hwcontext_vulkan.c:651:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
651 | for (int i = 0; i < num; i++) {
| ^
libavutil/hwcontext_vulkan.c:662:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
662 | if (select->index < num) {
| ^
libavutil/hwcontext_vulkan.c: In function ‘search_queue_families’:
libavutil/hwcontext_vulkan.c:690:35: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
690 | VkDeviceQueueCreateInfo *pc = (VkDeviceQueueCreateInfo *)cd->pQueueCreateInfos;
| ^
libavutil/hwcontext_vulkan.c:708:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
708 | for (int i = 0; i < num; i++) { \
| ^
libavutil/hwcontext_vulkan.c:716:5: note: in expansion of macro ‘SEARCH_FLAGS’
716 | SEARCH_FLAGS(flags & VK_QUEUE_GRAPHICS_BIT, graph_index)
| ^~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:708:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
708 | for (int i = 0; i < num; i++) { \
| ^
libavutil/hwcontext_vulkan.c:718:5: note: in expansion of macro ‘SEARCH_FLAGS’
718 | SEARCH_FLAGS((flags & VK_QUEUE_COMPUTE_BIT) && (i != graph_index),
| ^~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:708:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
708 | for (int i = 0; i < num; i++) { \
| ^
libavutil/hwcontext_vulkan.c:721:5: note: in expansion of macro ‘SEARCH_FLAGS’
721 | SEARCH_FLAGS((flags & VK_QUEUE_TRANSFER_BIT) && (i != graph_index) &&
| ^~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:740:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
740 | for (int i = 0; i < qs[fidx].queueCount; i++) \
| ^
libavutil/hwcontext_vulkan.c:744:5: note: in expansion of macro ‘ADD_QUEUE’
744 | ADD_QUEUE(graph_index, 1, comp_index < 0, tx_index < 0 && comp_index < 0)
| ^~~~~~~~~
libavutil/hwcontext_vulkan.c:740:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
740 | for (int i = 0; i < qs[fidx].queueCount; i++) \
| ^
libavutil/hwcontext_vulkan.c:751:9: note: in expansion of macro ‘ADD_QUEUE’
751 | ADD_QUEUE(comp_index, 0, 1, tx_index < 0)
| ^~~~~~~~~
libavutil/hwcontext_vulkan.c:740:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
740 | for (int i = 0; i < qs[fidx].queueCount; i++) \
| ^
libavutil/hwcontext_vulkan.c:758:9: note: in expansion of macro ‘ADD_QUEUE’
758 | ADD_QUEUE(tx_index, 0, 0, 1)
| ^~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘get_buf_exec_ctx’:
libavutil/hwcontext_vulkan.c:868:60: warning: unused parameter ‘hwfc’ [-Wunused-parameter]
868 | static VkCommandBuffer get_buf_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
| ~~~~~~~~~~~~~~~~~~~^~~~
libavutil/hwcontext_vulkan.c: In function ‘unref_exec_ctx_deps’:
libavutil/hwcontext_vulkan.c:873:52: warning: unused parameter ‘hwfc’ [-Wunused-parameter]
873 | static void unref_exec_ctx_deps(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
| ~~~~~~~~~~~~~~~~~~~^~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_device_free’:
libavutil/hwcontext_vulkan.c:1006:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1006 | av_free((void *)hwctx->enabled_inst_extensions[i]);
| ^
libavutil/hwcontext_vulkan.c:1007:13: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1007 | av_free((void *)hwctx->enabled_inst_extensions);
| ^
libavutil/hwcontext_vulkan.c:1010:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1010 | av_free((void *)hwctx->enabled_dev_extensions[i]);
| ^
libavutil/hwcontext_vulkan.c:1011:13: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1011 | av_free((void *)hwctx->enabled_dev_extensions);
| ^
libavutil/hwcontext_vulkan.c: In function ‘vulkan_device_create_internal’:
libavutil/hwcontext_vulkan.c:1064:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1064 | av_free((void *)queue_create_info[0].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1065:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1065 | av_free((void *)queue_create_info[1].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1066:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1066 | av_free((void *)queue_create_info[2].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1073:13: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1073 | av_free((void *)queue_create_info[0].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1074:13: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1074 | av_free((void *)queue_create_info[1].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1075:13: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1075 | av_free((void *)queue_create_info[2].pQueuePriorities);
| ^
libavutil/hwcontext_vulkan.c:1080:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
1080 | for (int i = 0; i < dev_info.enabledExtensionCount; i++)
| ^
libavutil/hwcontext_vulkan.c:1081:21: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1081 | av_free((void *)dev_info.ppEnabledExtensionNames[i]);
| ^
libavutil/hwcontext_vulkan.c:1082:17: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1082 | av_free((void *)dev_info.ppEnabledExtensionNames);
| ^
libavutil/hwcontext_vulkan.c:1016:66: warning: unused parameter ‘flags’ [-Wunused-parameter]
1016 | AVDictionary *opts, int flags)
| ~~~~^~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_device_init’:
libavutil/hwcontext_vulkan.c:1107:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
1107 | for (int j = 0; j < FF_ARRAY_ELEMS(optional_device_exts); j++) {
| ^
libavutil/hwcontext_vulkan.c:1143:7: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
1143 | if (n >= queue_num) { \
| ^~
libavutil/hwcontext_vulkan.c:1149:5: note: in expansion of macro ‘CHECK_QUEUE’
1149 | CHECK_QUEUE("graphics", hwctx->queue_family_index)
| ^~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1143:7: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
1143 | if (n >= queue_num) { \
| ^~
libavutil/hwcontext_vulkan.c:1150:5: note: in expansion of macro ‘CHECK_QUEUE’
1150 | CHECK_QUEUE("upload", hwctx->queue_family_tx_index)
| ^~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1143:7: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
1143 | if (n >= queue_num) { \
| ^~
libavutil/hwcontext_vulkan.c:1151:5: note: in expansion of macro ‘CHECK_QUEUE’
1151 | CHECK_QUEUE("compute", hwctx->queue_family_comp_index)
| ^~~~~~~~~~~
In file included from libavutil/hwcontext_vulkan.c:40:
libavutil/hwcontext_vulkan.c: In function ‘vulkan_device_derive’:
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1239:19: note: in expansion of macro ‘CHECK_CU’
1239 | int ret = CHECK_CU(cu->cuDeviceGetUuid((CUuuid *)&dev_select.uuid,
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1239:19: note: in expansion of macro ‘CHECK_CU’
1239 | int ret = CHECK_CU(cu->cuDeviceGetUuid((CUuuid *)&dev_select.uuid,
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_frames_get_constraints’:
libavutil/hwcontext_vulkan.c:1257:54: warning: unused parameter ‘hwconfig’ [-Wunused-parameter]
1257 | const void *hwconfig,
| ~~~~~~~~~~~~^~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘alloc_mem’:
libavutil/hwcontext_vulkan.c:1319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
1319 | for (int i = 0; i < p->mprops.memoryTypeCount; i++) {
| ^
In file included from libavutil/hwcontext_vulkan.c:40:
libavutil/hwcontext_vulkan.c: In function ‘vulkan_free_internal’:
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1376:17: note: in expansion of macro ‘CHECK_CU’
1376 | CHECK_CU(cu->cuDestroyExternalSemaphore(internal->cu_sem[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1376:17: note: in expansion of macro ‘CHECK_CU’
1376 | CHECK_CU(cu->cuDestroyExternalSemaphore(internal->cu_sem[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1378:17: note: in expansion of macro ‘CHECK_CU’
1378 | CHECK_CU(cu->cuMipmappedArrayDestroy(internal->cu_mma[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1378:17: note: in expansion of macro ‘CHECK_CU’
1378 | CHECK_CU(cu->cuMipmappedArrayDestroy(internal->cu_mma[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1380:17: note: in expansion of macro ‘CHECK_CU’
1380 | CHECK_CU(cu->cuDestroyExternalMemory(internal->ext_mem[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:1380:17: note: in expansion of macro ‘CHECK_CU’
1380 | CHECK_CU(cu->cuDestroyExternalMemory(internal->ext_mem[i]));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘alloc_bind_mem’:
libavutil/hwcontext_vulkan.c:1455:57: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
1455 | use_ded_mem ? &ded_alloc : (void *)ded_alloc.pNext,
| ^
libavutil/hwcontext_vulkan.c: In function ‘vulkan_pool_alloc’:
libavutil/hwcontext_vulkan.c:1696:57: warning: unused parameter ‘size’ [-Wunused-parameter]
1696 | static AVBufferRef *vulkan_pool_alloc(void *opaque, int size)
| ~~~~^~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_get_formats’:
libavutil/hwcontext_vulkan.c:1830:72: warning: unused parameter ‘dir’ [-Wunused-parameter]
1830 | enum AVHWFrameTransferDirection dir,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
libavutil/hwcontext_vulkan.c: In function ‘drm_to_vulkan_fmt’:
libavutil/hwcontext_vulkan.c:2005:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
2005 | for (int i = 0; i < FF_ARRAY_ELEMS(vulkan_drm_format_map); i++)
| ^
In file included from libavutil/hwcontext_vulkan.c:40:
libavutil/hwcontext_vulkan.c: In function ‘vulkan_export_to_cuda’:
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2401:19: note: in expansion of macro ‘CHECK_CU’
2401 | ret = CHECK_CU(cu->cuImportExternalMemory(&dst_int->ext_mem[i], &ext_desc));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2401:19: note: in expansion of macro ‘CHECK_CU’
2401 | ret = CHECK_CU(cu->cuImportExternalMemory(&dst_int->ext_mem[i], &ext_desc));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2407:19: note: in expansion of macro ‘CHECK_CU’
2407 | ret = CHECK_CU(cu->cuExternalMemoryGetMappedMipmappedArray(&dst_int->cu_mma[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2407:19: note: in expansion of macro ‘CHECK_CU’
2407 | ret = CHECK_CU(cu->cuExternalMemoryGetMappedMipmappedArray(&dst_int->cu_mma[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2415:19: note: in expansion of macro ‘CHECK_CU’
2415 | ret = CHECK_CU(cu->cuMipmappedArrayGetLevel(&dst_int->cu_array[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2415:19: note: in expansion of macro ‘CHECK_CU’
2415 | ret = CHECK_CU(cu->cuMipmappedArrayGetLevel(&dst_int->cu_array[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2431:19: note: in expansion of macro ‘CHECK_CU’
2431 | ret = CHECK_CU(cu->cuImportExternalSemaphore(&dst_int->cu_sem[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2431:19: note: in expansion of macro ‘CHECK_CU’
2431 | ret = CHECK_CU(cu->cuImportExternalSemaphore(&dst_int->cu_sem[i],
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_from_cuda’:
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2465:11: note: in expansion of macro ‘CHECK_CU’
2465 | ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2465:11: note: in expansion of macro ‘CHECK_CU’
2465 | ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2473:9: note: in expansion of macro ‘CHECK_CU’
2473 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2473:9: note: in expansion of macro ‘CHECK_CU’
2473 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2479:11: note: in expansion of macro ‘CHECK_CU’
2479 | ret = CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2479:11: note: in expansion of macro ‘CHECK_CU’
2479 | ret = CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2503:15: note: in expansion of macro ‘CHECK_CU’
2503 | ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2503:15: note: in expansion of macro ‘CHECK_CU’
2503 | ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2510:11: note: in expansion of macro ‘CHECK_CU’
2510 | ret = CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2510:11: note: in expansion of macro ‘CHECK_CU’
2510 | ret = CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2517:5: note: in expansion of macro ‘CHECK_CU’
2517 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2517:5: note: in expansion of macro ‘CHECK_CU’
2517 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2524:5: note: in expansion of macro ‘CHECK_CU’
2524 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:2524:5: note: in expansion of macro ‘CHECK_CU’
2524 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_unmap_to_drm’:
libavutil/hwcontext_vulkan.c:2559:52: warning: unused parameter ‘hwfc’ [-Wunused-parameter]
2559 | static void vulkan_unmap_to_drm(AVHWFramesContext *hwfc, HWMapDescriptor *hwmap)
| ~~~~~~~~~~~~~~~~~~~^~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_fmt_to_drm’:
libavutil/hwcontext_vulkan.c:2571:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
2571 | for (int i = 0; i < FF_ARRAY_ELEMS(vulkan_drm_format_map); i++)
| ^
libavutil/hwcontext_vulkan.c: In function ‘vulkan_map_to_drm’:
libavutil/hwcontext_vulkan.c:2578:54: warning: unused parameter ‘flags’ [-Wunused-parameter]
2578 | const AVFrame *src, int flags)
| ~~~~^~~~~
libavutil/hwcontext_vulkan.c: In function ‘create_buf’:
libavutil/hwcontext_vulkan.c:2818:48: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
2818 | use_ded_mem ? &ded_alloc : (void *)ded_alloc.pNext,
| ^
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data’:
libavutil/hwcontext_vulkan.c:3102:29: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
3102 | err = av_frame_copy((AVFrame *)(from ? swf : map), from ? map : swf);
| ^
In file included from libavutil/hwcontext_vulkan.c:40:
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_to_cuda’:
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3258:11: note: in expansion of macro ‘CHECK_CU’
3258 | ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3258:11: note: in expansion of macro ‘CHECK_CU’
3258 | ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3266:9: note: in expansion of macro ‘CHECK_CU’
3266 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3266:9: note: in expansion of macro ‘CHECK_CU’
3266 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3272:11: note: in expansion of macro ‘CHECK_CU’
3272 | ret = CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3272:11: note: in expansion of macro ‘CHECK_CU’
3272 | ret = CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3296:15: note: in expansion of macro ‘CHECK_CU’
3296 | ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3296:15: note: in expansion of macro ‘CHECK_CU’
3296 | ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3303:11: note: in expansion of macro ‘CHECK_CU’
3303 | ret = CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3303:11: note: in expansion of macro ‘CHECK_CU’
3303 | ret = CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3310:5: note: in expansion of macro ‘CHECK_CU’
3310 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3310:5: note: in expansion of macro ‘CHECK_CU’
3310 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument 2 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3317:5: note: in expansion of macro ‘CHECK_CU’
3317 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument 3 of ‘ff_cuda_check’ between function pointer and ‘void *’ [-Wpedantic]
64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro ‘FF_CUDA_CHECK_DL’
41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
| ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3317:5: note: in expansion of macro ‘CHECK_CU’
3317 | CHECK_CU(cu->cuCtxPopCurrent(&dummy));
| ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is of type ‘CUresult (*)(CUresult, const char **)’ {aka ‘enum cudaError_enum (*)(enum cudaError_enum, const char **)’}
32 | void *cuGetErrorName_fn, void *cuGetErrorString_fn,
| ~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_frames_derive_to’:
libavutil/hwcontext_vulkan.c:3346:55: warning: unused parameter ‘src_fc’ [-Wunused-parameter]
3346 | AVHWFramesContext *src_fc, int flags)
| ~~~~~~~~~~~~~~~~~~~^~~~~~
libavutil/hwcontext_vulkan.c:3346:67: warning: unused parameter ‘flags’ [-Wunused-parameter]
3346 | AVHWFramesContext *src_fc, int flags)
| ~~~~^~~~~
libavutil/hwcontext_vulkan.c: At top level:
libavutil/hwcontext_vulkan.c:3386:1: warning: missing initializer for field ‘frames_derive_from’ of ‘HWContextType’ [-Wmissing-field-initializers]
3386 | };
| ^
In file included from libavutil/hwcontext_vulkan.c:24:
libavutil/hwcontext_internal.h:99:24: note: ‘frames_derive_from’ declared here
99 | int (*frames_derive_from)(AVHWFramesContext *dst_ctx,
| ^~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_map_from’:
libavutil/hwcontext_vulkan.c:2713:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
2713 | if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
| ^
libavutil/hwcontext_vulkan.c:2716:5: note: here
2716 | case AV_PIX_FMT_VAAPI:
| ^~~~
libavutil/hwcontext_vulkan.c:2717:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
2717 | if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
| ^
libavutil/hwcontext_vulkan.c:2721:5: note: here
2721 | default:
| ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_map_to’:
libavutil/hwcontext_vulkan.c:2541:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
2541 | if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
| ^
libavutil/hwcontext_vulkan.c:2544:5: note: here
2544 | case AV_PIX_FMT_DRM_PRIME:
| ^~~~
libavutil/hwcontext_vulkan.c:2545:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
2545 | if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
| ^
libavutil/hwcontext_vulkan.c:2548:5: note: here
2548 | default:
| ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_from’:
libavutil/hwcontext_vulkan.c:3333:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
3333 | if ((p->extensions & EXT_EXTERNAL_FD_MEMORY) &&
| ^
libavutil/hwcontext_vulkan.c:3337:5: note: here
3337 | default:
| ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_to’:
libavutil/hwcontext_vulkan.c:3226:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
3226 | if ((p->extensions & EXT_EXTERNAL_FD_MEMORY) &&
| ^
libavutil/hwcontext_vulkan.c:3230:5: note: here
3230 | default:
| ^~~~~~~
make: *** [ffbuild/common.mak:67: libavutil/hwcontext_vulkan.o] Error 1
But if I remove the `--enable-extra-warnings' configuration option, the problem will be fixed. Any hints for this problem will be highly appreciated.
Regards,
HY
Change History (3)
comment:1 by , 3 years ago
| Component: | ffmpeg → undetermined |
|---|---|
| Priority: | normal → minor |
comment:2 by , 3 years ago
| Component: | undetermined → avutil |
|---|---|
| Reproduced by developer: | set |
| Status: | new → open |
| Summary: | Using the `--enable-extra-warnings' option will cause the compilation to fail. → Using the `--enable-extra-warnings' option breaks vulkan compilation with gcc |
Change of behaviour in a gcc-4 release.
comment:3 by , 3 years ago
| Keywords: | vulkan added |
|---|
Note:
See TracTickets
for help on using tickets.



Just curious: Why are you using the option?