@Fifis @mortmann Just stumbled upon this same issue. The solution is to apply this patch
(Credits to the maintainer of ffmpeg-obs.)
Git Clone URL: | https://aur.archlinux.org/ffmpeg-full.git (read-only, click to copy) |
---|---|
Package Base: | ffmpeg-full |
Description: | Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac) |
Upstream URL: | https://www.ffmpeg.org/ |
Keywords: | audio codec convert cuda cuvid decklink encoder fdk-aac fdkaac hwaccel libnpp media nvenc svt video |
Licenses: | LicenseRef-nonfree-and-unredistributable |
Conflicts: | ffmpeg |
Provides: | ffmpeg, libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, libswresample.so, libswscale.so |
Submitter: | rpolzer |
Maintainer: | dbermond |
Last Packager: | dbermond |
Votes: | 136 |
Popularity: | 0.115498 |
First Submitted: | 2013-01-24 11:17 (UTC) |
Last Updated: | 2025-03-10 13:33 (UTC) |
« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 56 Next › Last »
@Fifis @mortmann Just stumbled upon this same issue. The solution is to apply this patch
(Credits to the maintainer of ffmpeg-obs.)
Fifis: for the moment you could workaround by downgrading vulkan-headers, like:
sudo pacman -U /var/cache/pacman/pkg/vulkan-headers-1:1.3.276-1-any.pkg.tar.zst
There are many compilation errors regarding vulkan
. I have the latest vulkan-headers
and vulkan-icd-loader
(1.3.279-1), and this is what the compiler has to say:
CC libavcodec/wavarc.o
CC libavcodec/wavpack.o
In file included from libavcodec/vulkan_decode.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name ‘VkVideoDecodeAV1ProfileInfoMESA’
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from libavcodec/vulkan_av1.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name ‘VkVideoDecodeAV1ProfileInfoMESA’
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:38:5: error: unknown type name ‘StdVideoAV1MESATile’
38 | StdVideoAV1MESATile tiles[MAX_TILES];
| ^~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:39:5: error: unknown type name ‘StdVideoAV1MESATileList’
39 | StdVideoAV1MESATileList tile_list;
| ^~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:43:5: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’
43 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:44:5: error: unknown type name ‘StdVideoAV1MESAFrameHeader’
44 | StdVideoAV1MESAFrameHeader av1_frame_header;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:45:5: error: unknown type name ‘VkVideoDecodeAV1PictureInfoMESA’
45 | VkVideoDecodeAV1PictureInfoMESA av1_pic_info;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:49:5: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’
49 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_refs[AV1_NUM_REF_FRAMES];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:58:29: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’; did you mean ‘VkVideoDecodeAV1DpbSlotInfoKHR’?
58 | VkVideoDecodeAV1DpbSlotInfoMESA *vkav1_ref, /* Goes in ^ */
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1DpbSlotInfoKHR
CC libavcodec/wavpackdata.o
CC libavcodec/wavpackenc.o
CC libavcodec/wbmpdec.o
libavcodec/vulkan_av1.c: In function ‘vk_av1_create_params’:
libavcodec/vulkan_av1.c:113:5: error: unknown type name ‘StdVideoAV1MESASequenceHeader’; did you mean ‘StdVideoAV1SequenceHeader’?
113 | StdVideoAV1MESASequenceHeader av1_sequence_header;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| StdVideoAV1SequenceHeader
In file included from libavcodec/vulkan_h264.c:22:
libavcodec/vulkan_decode.h:31:5: error: unknown type name ‘VkVideoDecodeAV1ProfileInfoMESA’
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_h264.o] Error 1
make: *** Waiting for unfinished jobs....
libavcodec/vulkan_av1.c:114:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersAddInfoMESA’; did you mean ‘VkVideoDecodeH265SessionParametersAddInfoKHR’?
114 | VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_decode.c: In function ‘get_video_profile’:
libavcodec/vulkan_decode.c:53:40: error: ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA’ undeclared (first use in this function); did you mean ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR’?
53 | codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA :
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR
libavcodec/vulkan_decode.c:53:40: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/vulkan_av1.c:115:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’; did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
115 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_decode.c: At top level:
libavcodec/vulkan_decode.c:666:38: error: unknown type name ‘VkVideoDecodeAV1CapabilitiesMESA’; did you mean ‘VkVideoDecodeAV1CapabilitiesKHR’?
666 | VkVideoDecodeAV1CapabilitiesMESA *av1_caps,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1CapabilitiesKHR
In file included from libavcodec/vulkan_hevc.c:23:
libavcodec/vulkan_decode.h:31:5: error: unknown type name ‘VkVideoDecodeAV1ProfileInfoMESA’
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:120:28: error: ‘StdVideoAV1MESASequenceHeader’ undeclared (first use in this function); did you mean ‘StdVideoAV1SequenceHeader’?
120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:120:28: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/vulkan_av1.c:120:58: error: expected ‘;’ before ‘{’ token
120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
| ^~
| ;
libavcodec/vulkan_decode.c: In function ‘vulkan_decode_get_profile’:
libavcodec/vulkan_decode.c:761:5: error: unknown type name ‘VkVideoDecodeAV1CapabilitiesMESA’; did you mean ‘VkVideoDecodeAV1CapabilitiesKHR’?
761 | VkVideoDecodeAV1CapabilitiesMESA av1_caps = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1CapabilitiesKHR
libavcodec/vulkan_decode.c:762:9: error: field name not in record or union initializer
762 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA,
| ^
libavcodec/vulkan_decode.c:762:9: note: (near initialization for ‘av1_caps’)
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_hevc.o] Error 1
libavcodec/vulkan_av1.c:171:24: error: ‘VkVideoDecodeAV1SessionParametersAddInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeH265SessionParametersAddInfoKHR’?
171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:171:69: error: expected ‘;’ before ‘{’ token
171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
| ^~
| ;
libavcodec/vulkan_decode.c:762:18: error: ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA’ undeclared (first use in this function); did you mean ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR’?
762 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR
libavcodec/vulkan_av1.c:175:19: error: ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_av1.c:175:67: error: expected ‘;’ before ‘{’ token
175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
| ^~
| ;
libavcodec/vulkan_av1.c:114:50: warning: variable ‘av1_params_info’ set but not used [-Wunused-but-set-variable]
114 | VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
| ^~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:113:35: warning: variable ‘av1_sequence_header’ set but not used [-Wunused-but-set-variable]
113 | StdVideoAV1MESASequenceHeader av1_sequence_header;
| ^~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:111:33: warning: unused variable ‘seq’ [-Wunused-variable]
111 | const AV1RawSequenceHeader *seq = s->raw_seq;
| ^~~
libavcodec/vulkan_av1.c: In function ‘vk_av1_start_frame’:
libavcodec/vulkan_av1.c:237:15: error: implicit declaration of function ‘vk_av1_fill_pict’ [-Werror=implicit-function-declaration]
237 | err = vk_av1_fill_pict(avctx, &ap->ref_src[i], &vp->ref_slots[i],
| ^~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:252:18: error: request for member ‘nb_tiles’ in something not a structure or union
252 | ap->tile_list.nb_tiles = 0;and `vulkan-to`
| ^
libavcodec/vulkan_av1.c:253:18: error: request for member ‘tile_list’ in something not a structure or union
253 | ap->tile_list.tile_list = ap->tiles;
| ^
libavcodec/vulkan_decode.c:785:58: error: ‘STD_VIDEO_AV1_MESA_PROFILE_MAIN’ undeclared (first use in this function); did you mean ‘STD_VIDEO_AV1_PROFILE_MAIN’?
785 | avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_MESA_PROFILE_MAIN :
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| STD_VIDEO_AV1_PROFILE_MAIN
libavcodec/vulkan_decode.c:788:11: error: implicit declaration of function ‘vulkan_setup_profile’; did you mean ‘vulkan_decode_get_profile’? [-Werror=implicit-function-declaration]
788 | ret = vulkan_setup_profile(avctx, prof, hwctx, vk, vk_codec,
| ^~~~~~~~~~~~~~~~~~~~
| vulkan_decode_get_profile
libavcodec/vulkan_decode.c:833:63: error: request for member ‘maxLevelIdc’ in something not a structure or union
833 | avctx->codec_id == AV_CODEC_ID_AV1 ? av1_caps.maxLevelIdc :
| ^
libavcodec/vulkan_av1.c:255:25: error: ‘VkVideoDecodeAV1PictureInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeAV1PictureInfoKHR’?
255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1PictureInfoKHR
libavcodec/vulkan_av1.c:255:57: error: expected ‘;’ before ‘{’ token
255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
| ^~
| ;
libavcodec/vulkan_decode.c:914:32: error: request for member ‘flags’ in something not a structure or union
914 | dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA;
| ^
libavcodec/vulkan_av1.c:278:29: error: ‘StdVideoAV1MESAFrameHeader’ undeclared (first use in this function); did you mean ‘StdVideoAV1SequenceHeader’?
278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:278:56: error: expected ‘;’ before ‘{’ token
278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
| ^~
| ;
libavcodec/vulkan_av1.c:402:29: error: request for member ‘tiling’ in something not a structure or union
402 | ap->av1_frame_header.tiling.width_in_sbs_minus_1[i] = frame_header->width_in_sbs_minus_1[i];
| ^
libavcodec/vulkan_av1.c:403:29: error: request for member ‘tiling’ in something not a structure or union
403 | ap->av1_frame_header.tiling.height_in_sbs_minus_1[i] = frame_header->height_in_sbs_minus_1[i];
| ^
libavcodec/vulkan_av1.c:404:29: error: request for member ‘tiling’ in something not a structure or union
404 | ap->av1_frame_header.tiling.tile_start_col_sb[i] = frame_header->tile_start_col_sb[i];
| ^
libavcodec/vulkan_av1.c:405:29: error: request for member ‘tiling’ in something not a structure or union
405 | ap->av1_frame_header.tiling.tile_start_row_sb[i] = frame_header->tile_start_row_sb[i];
| ^
libavcodec/vulkan_av1.c:409:29: error: request for member ‘segmentation’ in something not a structure or union
409 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] = 0;
| ^
libavcodec/vulkan_av1.c:411:33: error: request for member ‘segmentation’ in something not a structure or union
411 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] |= (frame_header->feature_enabled[i][j] << j);
| ^
libavcodec/vulkan_av1.c:412:33: error: request for member ‘segmentation’ in something not a structure or union
412 | ap->av1_frame_header.segmentation.feature_data[i][j] = frame_header->feature_value[i][j];
| ^
libavcodec/vulkan_av1.c:415:29: error: request for member ‘loop_filter’ in something not a structure or union
415 | ap->av1_frame_header.loop_filter.ref_deltas[i] = frame_header->loop_filter_ref_deltas[i];
| ^
libavcodec/vulkan_av1.c:417:29: error: request for member ‘cdef’ in something not a structure or union
417 | ap->av1_frame_header.cdef.y_pri_strength[i] = frame_header->cdef_y_pri_strength[i];
| ^
libavcodec/vulkan_av1.c:418:29: error: request for member ‘cdef’ in something not a structure or union
418 | ap->av1_frame_header.cdef.y_sec_strength[i] = frame_header->cdef_y_sec_strength[i];
| ^
libavcodec/vulkan_av1.c:419:29: error: request for member ‘cdef’ in something not a structure or union
419 | ap->av1_frame_header.cdef.uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i];
| ^
libavcodec/vulkan_av1.c:420:29: error: request for member ‘cdef’ in something not a structure or union
420 | ap->av1_frame_header.cdef.uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i];
| ^
libavcodec/vulkan_av1.c:422:29: error: request for member ‘ref_order_hint’ in something not a structure or union
422 | ap->av1_frame_header.ref_order_hint[i] = frame_header->ref_order_hint[i];
| ^
libavcodec/vulkan_av1.c:423:29: error: request for member ‘global_motion’ in something not a structure or union
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^
libavcodec/vulkan_av1.c:423:50: error: ‘StdVideoAV1MESAGlobalMotion’ undeclared (first use in this function); did you mean ‘StdVideoAV1GlobalMotion’?
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| StdVideoAV1GlobalMotion
libavcodec/vulkan_av1.c:423:78: error: expected ‘;’ before ‘{’ token
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^~
| ;
libavcodec/vulkan_av1.c:437:29: error: request for member ‘ref_frame_idx’ in something not a structure or union
437 | ap->av1_frame_header.ref_frame_idx[i] = frame_header->ref_frame_idx[i];
| ^
libavcodec/vulkan_av1.c:438:29: error: request for member ‘delta_frame_id_minus1’ in something not a structure or union
438 | ap->av1_frame_header.delta_frame_id_minus1[i] = frame_header->delta_frame_id_minus1[i];
| ^
libavcodec/vulkan_av1.c:441:21: error: request for member ‘skip_mode_frame_idx’ in something not a structure or union
441 | ap->av1_pic_info.skip_mode_frame_idx[0] = s->cur_frame.skip_mode_frame_idx[0];
| ^
libavcodec/vulkan_av1.c:442:21: error: request for member ‘skip_mode_frame_idx’ in something not a structure or union
442 | ap->av1_pic_info.skip_mode_frame_idx[1] = s->cur_frame.skip_mode_frame_idx[1];
| ^
libavcodec/vulkan_av1.c:446:33: error: request for member ‘film_grain’ in something not a structure or union
446 | ap->av1_frame_header.film_grain.point_y_value[i] = film_grain->point_y_value[i];
| ^
libavcodec/vulkan_av1.c:447:33: error: request for member ‘film_grain’ in something not a structure or union
447 | ap->av1_frame_header.film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i];
| ^
libavcodec/vulkan_av1.c:451:33: error: request for member ‘film_grain’ in something not a structure or union
451 | ap->av1_frame_header.film_grain.point_cb_value[i] = film_grain->point_cb_value[i];
| ^
libavcodec/vulkan_av1.c:452:33: error: request for member ‘film_grain’ in something not a structure or union
452 | ap->av1_frame_header.film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i];
| ^
libavcodec/vulkan_av1.c:453:33: error: request for member ‘film_grain’ in something not a structure or union
453 | ap->av1_frame_header.film_grain.point_cr_value[i] = film_grain->point_cr_value[i];
| ^
libavcodec/vulkan_av1.c:454:33: error: request for member ‘film_grain’ in something not a structure or union
454 | ap->av1_frame_header.film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i];
| ^
libavcodec/vulkan_av1.c:458:33: error: request for member ‘film_grain’ in something not a structure or union
458 | ap->av1_frame_header.film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i];
| ^
libavcodec/vulkan_av1.c:459:33: error: request for member ‘film_grain’ in something not a structure or union
459 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i];
| ^
libavcodec/vulkan_av1.c:460:33: error: request for member ‘film_grain’ in something not a structure or union
460 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i];
| ^
libavcodec/vulkan_av1.c:463:29: error: request for member ‘film_grain’ in something not a structure or union
463 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24];
| ^
libavcodec/vulkan_av1.c:464:29: error: request for member ‘film_grain’ in something not a structure or union
464 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24];
| ^
libavcodec/vulkan_av1.c: In function ‘vk_av1_decode_slice’:
libavcodec/vulkan_av1.c:483:32: error: request for member ‘nb_tiles’ in something not a structure or union
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^
libavcodec/vulkan_av1.c:483:46: error: ‘StdVideoAV1MESATile’ undeclared (first use in this function); did you mean ‘StdVideoAV1Profile’?
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^~~~~~~~~~~~~~~~~~~
| StdVideoAV1Profile
libavcodec/vulkan_av1.c:483:66: error: expected ‘;’ before ‘{’ token
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^~
| ;
libavcodec/vulkan_av1.c:495:52: error: request for member ‘nb_tiles’ in something not a structure or union
495 | &ap->tile_list.nb_tiles,
| ^
libavcodec/vulkan_av1.c:500:32: error: request for member ‘nb_tiles’ in something not a structure or union
500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
| ^
libavcodec/vulkan_av1.c:500:86: error: request for member ‘nb_tiles’ in something not a structure or union
500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
| ^
libavcodec/vulkan_av1.c: In function ‘vk_av1_end_frame’:
libavcodec/vulkan_av1.c:516:23: error: request for member ‘nb_tiles’ in something not a structure or union
516 | if (!ap->tile_list.nb_tiles)
| ^
libavcodec/vulkan_av1.c:534:42: error: request for member ‘nb_tiles’ in something not a structure or union
534 | vp->slices_size, ap->tile_list.nb_tiles);
| ^
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1
libavcodec/vulkan_decode.c:914:41: error: ‘VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA’ undeclared (first use in this function)
914 | dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_decode.c: In function ‘ff_vk_decode_init’:
libavcodec/vulkan_decode.c:1121:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’; did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
1121 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_decode.c:1122:9: error: field name not in record or union initializer
1122 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
| ^
libavcodec/vulkan_decode.c:1122:9: note: (near initialization for ‘av1_params’)
libavcodec/vulkan_decode.c:1122:18: error: ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA’ undeclared (first use in this function); did you mean ‘VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR’?
1122 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_decode.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'ffmpeg-full-6.1.1-2':
Is there a remedy for this?
@frankenstein20 @boesi @andyl98 Package updated. Added patch for glslang 14.
@andyl98 do you think that it will come to this AUR pkg as well?
@frankenstein20 @boesi The following patch fixes the issue when building with glslang 14 and has already been merged upstream in the main ffmpeg git repo:
https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/e43615fc2ab27d562ed7e087803f4a364a7d1175
@frankenstein20 I installed these libraries in an older version
But now I have an unsupported Arch installation :-(
The problem is, that glslang 14 removed the HLSL and OGLCompiler, but ffmpeg depends on them. Maybe you could use the glslang-git and shaderc-git packages, which are the still the old versions.
does anyone know how to solve "ERROR: spirv_compiler not found"?
@dbermond I did rebuild, but apparently I pressed N when asked to clean the tree... Oh well... I rebuilt with a clean tree, and problem solved, thanks.
Pinned Comments
dbermond commented on 2024-06-24 15:59 (UTC)
@LordSIGSEGV avoid creating files not tracked by pacman in the system reserved directories, specially symlinks to shared libraries, as this have the potential to completely break your system. I have already notified the quirc maintainer in the aur web page of the package in April-2024. While this issue is not solved in quirc, I recommend to use quirc-git, which currently has a better packaging and does not suffer from this problem.