Package Details: ffmpeg-full 7.1-1

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: 1.41
First Submitted: 2013-01-24 11:17 (UTC)
Last Updated: 2024-11-07 22:45 (UTC)

Required by (1915)

Sources (10)

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.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 .. 55 Next › Last »

puddings233 commented on 2024-04-18 10:23 (UTC) (edited on 2024-06-22 14:57 (UTC) by puddings233)

Due to the cuda package not placing the nvcc binary in /usr/bin and not all shell can read /etc/profile, may encounter the following error during build:

ERROR: failed checking for nvcc.

You can resolve this issue by adding the following variable to the build(), which can be found in /etc/profile.d/cuda.sh:

export PATH="/opt/cuda/bin:$PATH"
export NVCC_CCBIN='/usr/bin/g++-13'

Hopeing this helps others facing the same issue.

dbermond commented on 2024-03-09 11:06 (UTC)

@Fifis Package updated. Added patch for vulkan-headers 1.3.279.

yu17 commented on 2024-03-08 17:53 (UTC) (edited on 2024-03-08 17:54 (UTC) by yu17)

@Fifis @mortmann Just stumbled upon this same issue. The solution is to apply this patch

(Credits to the maintainer of ffmpeg-obs.)

mortmann commented on 2024-03-08 17:52 (UTC)

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

Fifis commented on 2024-03-07 18:38 (UTC)

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?

dbermond commented on 2024-02-26 16:09 (UTC)

@frankenstein20 @boesi @andyl98 Package updated. Added patch for glslang 14.

frankenstein20 commented on 2024-02-25 14:59 (UTC)

@andyl98 do you think that it will come to this AUR pkg as well?

andyl98 commented on 2024-02-25 10:17 (UTC)

@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

boesi commented on 2024-02-24 15:40 (UTC) (edited on 2024-02-24 15:42 (UTC) by boesi)

@frankenstein20 I installed these libraries in an older version

  • glslang 13.1.1-3
  • libplacebo 6.338.1-1
  • shaderc 2023.7-2

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.