From f3cc9f061072207469304ab7586dc08202bc7bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Wed, 3 Aug 2022 15:00:45 +0200 Subject: [PATCH] gst-base: Enable GL video processing plugins. CW-Bug-Id: #20363 CW-Bug-Id: #20905 CW-Bug-Id: #20981 --- .gitmodules | 3 +++ Makefile.in | 16 ++++++++++++++-- graphene | 1 + make/rules-common.mk | 8 ++++---- 4 files changed, 22 insertions(+), 6 deletions(-) create mode 160000 graphene diff --git a/.gitmodules b/.gitmodules index 77edde39..275c9ff2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -55,3 +55,6 @@ [submodule "gst-plugins-rs"] path = gst-plugins-rs url = https://github.com/sdroege/gst-plugin-rs +[submodule "graphene"] + path = graphene + url = https://github.com/ebassi/graphene diff --git a/Makefile.in b/Makefile.in index 4b0b98cf..a960e128 100644 --- a/Makefile.in +++ b/Makefile.in @@ -455,6 +455,15 @@ $(eval $(call rules-meson,gstreamer,32)) $(eval $(call rules-meson,gstreamer,64)) +## +## graphene +## + +$(eval $(call rules-source,graphene,$(SRCDIR)/graphene)) +$(eval $(call rules-meson,graphene,32)) +$(eval $(call rules-meson,graphene,64)) + + ## ## gst-plugins-base ## @@ -474,9 +483,12 @@ GST_BASE_MESON_ARGS := \ -Dvideoconvert=enabled \ -Dvideoscale=enabled \ -Dvorbis=enabled \ - -Dorc=enabled + -Dorc=enabled \ + -Dgl=enabled \ + -Dgl-graphene=enabled \ + --wrap-mode nodownload \ -GST_BASE_DEPENDS = gst_orc gstreamer +GST_BASE_DEPENDS = gst_orc graphene gstreamer $(eval $(call rules-source,gst_base,$(SRCDIR)/gst-plugins-base)) $(eval $(call rules-meson,gst_base,32)) diff --git a/graphene b/graphene new file mode 160000 index 00000000..4e257845 --- /dev/null +++ b/graphene @@ -0,0 +1 @@ +Subproject commit 4e2578450809c2099400cf85caf18eafcd7100aa diff --git a/make/rules-common.mk b/make/rules-common.mk index 78f0f61f..ea03d77f 100644 --- a/make/rules-common.mk +++ b/make/rules-common.mk @@ -58,10 +58,10 @@ $$(OBJ)/.$(1)-dist$(3): mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/ cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a - cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' ')' \ + cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \ -printf '--only-keep-debug\0%p\0$$(DST_LIBDIR$(3))/%p.debug\0' | \ xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy --file-alignment=4096 - cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' ')' \ + cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \ -printf '--add-gnu-debuglink=$$(DST_LIBDIR$(3))/%p.debug\0--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \ xargs $(--verbose?) -0 -r -P$$(J) -n4 objcopy --file-alignment=4096 --set-section-flags .text=contents,alloc,load,readonly,code touch $$@ @@ -71,9 +71,9 @@ $$(OBJ)/.$(1)-dist$(3): mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/ cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a - cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' ')' \ + cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \ -printf '$$(DST_LIBDIR$(3))/%p.debug\0' | xargs $(--verbose?) -0 -r -P$$(J) rm -f - cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' ')' \ + cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' -or -iname '*.h' ')' \ -printf '--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \ xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy --file-alignment=4096 --set-section-flags .text=contents,alloc,load,readonly,code touch $$@