This occurs on both packages ffmpeg-amd-full and ffmpeg-amd-full-git:
In file included from libavcodec/vulkan_decode.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
CC libavcodec/vvc/vvc_filter.o
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
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];
| ^
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_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_h264.c:22:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
libavcodec/vulkan_av1.c:58:29: error: unknown type name 'VkVideoDecodeAV1DpbSlotInfoMESA'; did you mean 'VkVideoDecodeAV1DpbSlotInfoKHR'?
58 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref, / Goes in ^ /
| ^
| VkVideoDecodeAV1DpbSlotInfoKHR
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_hevc.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_h264.o] Error 1
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')
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'; didyou mean 'VkVideoDecodeAV1SessionParametersCreateInfoKHR'?
115 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
| ^
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
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: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: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: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_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:171:24: error: 'VkVideoDecodeAV1SessionParametersAddInfoMESA' undeclared (first use inthis 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 usein 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: In function 'vk_av1_start_frame':
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_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_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 structureor 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);
| ^
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1
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
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_decode.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
Pinned Comments
saburouta commented on 2023-04-26 18:45 (UTC)
I adopted this package to keep it from falling off, but I haven't had the chance to update it yet.
I think only patches 40 and 60 still work. I'm not sure the other even need to be updated. I've been building with just 40 and 60.