FFMpeg fails to compile

I’m trying to compile a project that needs a specific version of ffmpeg to work.

I isolated ffmpeg build and tried to compile it on its own as done in the parent project.
It seems to be version 6.1.1, the build system downloads ffmpeg from this url https://github.com/FFmpeg/FFmpeg/archive/e38092ef9395d7049f871ef4d5411eb410e283e0.zip before building it.
I’m using an up-to-date debian Trixie/sid distribution.

When trying to build it on my own, I got this error message:

$ ./configure --enable-shared --disable-static --disable-programs --disable-doc
$ make
CC  libavcodec/vulkan_av1.o
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
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
libavcodec/vulkan_av1.c:114:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersAddInfoMESA’; did you mean ‘VkVideoDecodeH265SessionParametersAddInfoKHR’?
  114 |     VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:115:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’; did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
  115 |     VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     VkVideoDecodeAV1SessionParametersCreateInfoKHR
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_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_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;
      |                  ^
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_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_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

The command launch above are the one taken from the parent app build system.
I’m not familiar with ffmpeg or graphics system in general.

I don’t understand why the first message says that VkVideoDecodeAV1ProfileInfoMESA could not be found.
I thought I might be missing some package dependencies but it appears that a VkVideoDecodeAV1ProfileInfoMESA typedef can be found in ffmpeg sources (libavcodec/vulkan_video_codec_av1std.h:373 in this version).
So I assume something may be wrong with my compile configuration ?

I’m a little bit lost on this issue and don’t know what to look for to solve it.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật