Message ID | 20240215191757.336042-1-jeebjp@gmail.com |
---|---|
State | Accepted |
Commit | e06ce6d2b45edac4a2df04f304e18d4727417d24 |
Headers | show |
Series | [FFmpeg-devel,v2] {avcodec, tests}: rename the bundled Mesa AV1 vulkan video headers | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Feb 15, 2024, 20:18 by jeebjp@gmail.com: > This together with adjusting the inclusion define allows for the > build to not fail with latest Vulkan-Headers that contain the > stabilized Vulkan AV1 decoding definitions. > > Compilation fails currently as the AV1 header is getting included > via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which > finally includes vk_video/vulkan_video_codec_av1std.h and the decode > header, leading to the bundled header to never defining anything > due to the inclusion define being the same. > > This fix is imperfect, as it leads to additional re-definition > warnings for things such as > VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is > not clear how to otherwise have the bundled version trump the > actually standardized one for a short-term compilation fix. > --- > libavcodec/Makefile | 4 ++-- > libavcodec/vulkan_video.h | 4 ++-- > ...v1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} | 4 ++-- > ..._video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} | 4 ++-- > tests/ref/fate/source | 4 ++-- > 5 files changed, 10 insertions(+), 10 deletions(-) > rename libavcodec/{vulkan_video_codec_av1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} (89%) > rename libavcodec/{vulkan_video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} (99%) > > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index 470d7cb9b1..09ae5270b3 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -1262,7 +1262,7 @@ SKIPHEADERS += %_tablegen.h \ > aacenc_quantization.h \ > aacenc_quantization_misc.h \ > bitstream_template.h \ > - vulkan_video_codec_av1std.h \ > + vulkan_video_codec_av1std_mesa.h \ > $(ARCH)/vpx_arith.h \ > > SKIPHEADERS-$(CONFIG_AMF) += amfenc.h > @@ -1285,7 +1285,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h > SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h > SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h > SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h > -SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h > +SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h > SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h > SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h > > diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h > index b28e3fe0bd..51f44dd543 100644 > --- a/libavcodec/vulkan_video.h > +++ b/libavcodec/vulkan_video.h > @@ -23,8 +23,8 @@ > #include "vulkan.h" > > #include <vk_video/vulkan_video_codecs_common.h> > -#include "vulkan_video_codec_av1std.h" > -#include "vulkan_video_codec_av1std_decode.h" > +#include "vulkan_video_codec_av1std_mesa.h" > +#include "vulkan_video_codec_av1std_decode_mesa.h" > > #define CODEC_VER_MAJ(ver) (ver >> 22) > #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1)) > diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h > similarity index 89% > rename from libavcodec/vulkan_video_codec_av1std_decode.h > rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h > index a697c00593..e2f37b4e6e 100644 > --- a/libavcodec/vulkan_video_codec_av1std_decode.h > +++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h > @@ -14,8 +14,8 @@ > * limitations under the License. > */ > > -#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ > -#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 > +#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ > +#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1 > > /* > ** This header is NOT YET generated from the Khronos Vulkan XML API Registry. > diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h > similarity index 99% > rename from libavcodec/vulkan_video_codec_av1std.h > rename to libavcodec/vulkan_video_codec_av1std_mesa.h > index c46236c457..c91589eee2 100644 > --- a/libavcodec/vulkan_video_codec_av1std.h > +++ b/libavcodec/vulkan_video_codec_av1std_mesa.h > @@ -14,8 +14,8 @@ > * limitations under the License. > */ > > -#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ > -#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 > +#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ > +#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1 > > /* > ** This header is NOT YET generated from the Khronos Vulkan XML API Registry. > diff --git a/tests/ref/fate/source b/tests/ref/fate/source > index c575789dd5..8bb58b61f1 100644 > --- a/tests/ref/fate/source > +++ b/tests/ref/fate/source > @@ -23,8 +23,8 @@ compat/djgpp/math.h > compat/float/float.h > compat/float/limits.h > libavcodec/bitstream_template.h > -libavcodec/vulkan_video_codec_av1std.h > -libavcodec/vulkan_video_codec_av1std_decode.h > +libavcodec/vulkan_video_codec_av1std_decode_mesa.h > +libavcodec/vulkan_video_codec_av1std_mesa.h > tools/decode_simple.h > Use of av_clip() where av_clip_uintp2() could be used: > Use of av_clip() where av_clip_intp2() could be used: > LGTM
On Thu, Feb 15, 2024 at 9:21 PM Lynne <dev@lynne.ee> wrote: > > Feb 15, 2024, 20:18 by jeebjp@gmail.com: > > > This together with adjusting the inclusion define allows for the > > build to not fail with latest Vulkan-Headers that contain the > > stabilized Vulkan AV1 decoding definitions. > > > > Compilation fails currently as the AV1 header is getting included > > via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which > > finally includes vk_video/vulkan_video_codec_av1std.h and the decode > > header, leading to the bundled header to never defining anything > > due to the inclusion define being the same. > > > > This fix is imperfect, as it leads to additional re-definition > > warnings for things such as > > VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is > > not clear how to otherwise have the bundled version trump the > > actually standardized one for a short-term compilation fix. > > --- > > > > LGTM Thanks, applied to master as e06ce6d2b45edac4a2df04f304e18d4727417d24 , as this takes care of the current build failure with latest vulkan headers. If there are no objections or issues to this way of handling the issue, I will later cherry-pick this to release/6.1 , which also contains these files. Jan
On Sun, Feb 18, 2024 at 2:16 PM Jan Ekström <jeebjp@gmail.com> wrote: > > On Thu, Feb 15, 2024 at 9:21 PM Lynne <dev@lynne.ee> wrote: > > > > Feb 15, 2024, 20:18 by jeebjp@gmail.com: > > > > > This together with adjusting the inclusion define allows for the > > > build to not fail with latest Vulkan-Headers that contain the > > > stabilized Vulkan AV1 decoding definitions. > > > > > > Compilation fails currently as the AV1 header is getting included > > > via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which > > > finally includes vk_video/vulkan_video_codec_av1std.h and the decode > > > header, leading to the bundled header to never defining anything > > > due to the inclusion define being the same. > > > > > > This fix is imperfect, as it leads to additional re-definition > > > warnings for things such as > > > VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is > > > not clear how to otherwise have the bundled version trump the > > > actually standardized one for a short-term compilation fix. > > > --- > > > > > > > LGTM > > Thanks, applied to master as e06ce6d2b45edac4a2df04f304e18d4727417d24 > , as this takes care of the current build failure with latest vulkan > headers. > > If there are no objections or issues to this way of handling the > issue, I will later cherry-pick this to release/6.1 , which also > contains these files. As there were no objections, back-ported this fixup to release/6.1 as fef22c87ada4517441701e6e61e062c9f4399c8e. Jan
diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 470d7cb9b1..09ae5270b3 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -1262,7 +1262,7 @@ SKIPHEADERS += %_tablegen.h \ aacenc_quantization.h \ aacenc_quantization_misc.h \ bitstream_template.h \ - vulkan_video_codec_av1std.h \ + vulkan_video_codec_av1std_mesa.h \ $(ARCH)/vpx_arith.h \ SKIPHEADERS-$(CONFIG_AMF) += amfenc.h @@ -1285,7 +1285,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h -SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h +SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h index b28e3fe0bd..51f44dd543 100644 --- a/libavcodec/vulkan_video.h +++ b/libavcodec/vulkan_video.h @@ -23,8 +23,8 @@ #include "vulkan.h" #include <vk_video/vulkan_video_codecs_common.h> -#include "vulkan_video_codec_av1std.h" -#include "vulkan_video_codec_av1std_decode.h" +#include "vulkan_video_codec_av1std_mesa.h" +#include "vulkan_video_codec_av1std_decode_mesa.h" #define CODEC_VER_MAJ(ver) (ver >> 22) #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1)) diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h similarity index 89% rename from libavcodec/vulkan_video_codec_av1std_decode.h rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h index a697c00593..e2f37b4e6e 100644 --- a/libavcodec/vulkan_video_codec_av1std_decode.h +++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ -#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 +#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ +#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1 /* ** This header is NOT YET generated from the Khronos Vulkan XML API Registry. diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h similarity index 99% rename from libavcodec/vulkan_video_codec_av1std.h rename to libavcodec/vulkan_video_codec_av1std_mesa.h index c46236c457..c91589eee2 100644 --- a/libavcodec/vulkan_video_codec_av1std.h +++ b/libavcodec/vulkan_video_codec_av1std_mesa.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ -#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 +#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ +#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1 /* ** This header is NOT YET generated from the Khronos Vulkan XML API Registry. diff --git a/tests/ref/fate/source b/tests/ref/fate/source index c575789dd5..8bb58b61f1 100644 --- a/tests/ref/fate/source +++ b/tests/ref/fate/source @@ -23,8 +23,8 @@ compat/djgpp/math.h compat/float/float.h compat/float/limits.h libavcodec/bitstream_template.h -libavcodec/vulkan_video_codec_av1std.h -libavcodec/vulkan_video_codec_av1std_decode.h +libavcodec/vulkan_video_codec_av1std_decode_mesa.h +libavcodec/vulkan_video_codec_av1std_mesa.h tools/decode_simple.h Use of av_clip() where av_clip_uintp2() could be used: Use of av_clip() where av_clip_intp2() could be used: