On 4 Oct 2024, at 11:31, Lynne via ffmpeg-devel wrote: > This is the same as with libavfilter. > > We will need SPIR-V compilation for at least three different things, > like the VC-2 encoder and decoder, AV1 film grain synthesis for > hardware with no support for it, and possibly other codecs. > --- > libavcodec/Makefile | 4 ++++ > libavcodec/vulkan_glslang.c | 19 +++++++++++++++++++ > libavcodec/vulkan_shaderc.c | 19 +++++++++++++++++++ > 3 files changed, 42 insertions(+) > create mode 100644 libavcodec/vulkan_glslang.c > create mode 100644 libavcodec/vulkan_shaderc.c > > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index a253a9b160..7147ed0360 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -1257,6 +1257,10 @@ OBJS-$(HAVE_THREADS) += pthread.o > pthread_slice.o pthread_fram > > OBJS-$(CONFIG_FRAME_THREAD_ENCODER) += frame_thread_encoder.o > > +# vulkan libs > +OBJS-$(CONFIG_LIBGLSLANG) += vulkan_glslang.o > +OBJS-$(CONFIG_LIBSHADERC) += vulkan_shaderc.o > + > # Windows resource file > SHLIBOBJS-$(HAVE_GNU_WINDRES) += avcodecres.o > > diff --git a/libavcodec/vulkan_glslang.c b/libavcodec/vulkan_glslang.c > new file mode 100644 > index 0000000000..9aa41567a3 > --- /dev/null > +++ b/libavcodec/vulkan_glslang.c > @@ -0,0 +1,19 @@ > +/* > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with FFmpeg; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > + */ > + > +#include "libavutil/vulkan_glslang.c" > diff --git a/libavcodec/vulkan_shaderc.c b/libavcodec/vulkan_shaderc.c > new file mode 100644 > index 0000000000..9f60bf4dfd > --- /dev/null > +++ b/libavcodec/vulkan_shaderc.c > @@ -0,0 +1,19 @@ > +/* > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with FFmpeg; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > + */ > + > +#include "libavutil/vulkan_shaderc.c"
Wouldn’t this cause duplicate symbol issues with for example ff_vk_shaderc_init being in both libavfilter and libavcodec? > -- > 2.45.2.753.g447d99e1c3b > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".