Opened 4 years ago
Last modified 4 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 , 4 years ago
Component: | ffmpeg → undetermined |
---|---|
Priority: | normal → minor |
comment:2 by , 4 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 , 4 years ago
Keywords: | vulkan added |
---|
Note:
See TracTickets
for help on using tickets.
Just curious: Why are you using the option?