diff options
4 files changed, 20 insertions, 190 deletions
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch b/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch deleted file mode 100644 index 92f32948b2..0000000000 --- a/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | From 1c3bda45c55d2334af384caf9e7f240b7aaf2eb5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Tue, 3 Mar 2020 22:28:25 -0800 | ||
| 4 | Subject: [PATCH] Makefile: Use cp options to preserve file mode | ||
| 5 | |||
| 6 | This fixes packaging issues e.g. | ||
| 7 | openh264: /usr/lib/libopenh264.so is owned by uid 1000, which is the same as the user running bitbake | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3245] | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | Makefile | 4 ++-- | ||
| 13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/Makefile b/Makefile | ||
| 16 | index 74ff029d..ac643412 100644 | ||
| 17 | --- a/Makefile | ||
| 18 | +++ b/Makefile | ||
| 19 | @@ -306,8 +306,8 @@ install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers $ | ||
| 20 | mkdir -p $(DESTDIR)$(SHAREDLIB_DIR) | ||
| 21 | install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXFULLVER) $(DESTDIR)$(SHAREDLIB_DIR) | ||
| 22 | if [ "$(SHAREDLIBSUFFIXFULLVER)" != "$(SHAREDLIBSUFFIX)" ]; then \ | ||
| 23 | - cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \ | ||
| 24 | - cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \ | ||
| 25 | + cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \ | ||
| 26 | + cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \ | ||
| 27 | fi | ||
| 28 | mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig | ||
| 29 | install -m 644 $(PROJECT_NAME).pc $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig | ||
| 30 | -- | ||
| 31 | 2.25.1 | ||
| 32 | |||
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch b/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch deleted file mode 100644 index 298ac1c013..0000000000 --- a/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch +++ /dev/null | |||
| @@ -1,103 +0,0 @@ | |||
| 1 | From bc3a3baeaccfe9c1286848b348baf92dfbd05346 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Benjamin Bara <benjamin.bara@skidata.com> | ||
| 3 | Date: Thu, 31 Aug 2023 09:27:31 +0200 | ||
| 4 | Subject: [PATCH 2/2] Makefile: add possibility to disable NEON extension | ||
| 5 | |||
| 6 | README states that the NEON extension is optional. However, currently it | ||
| 7 | cannot be turned off, therefore add an option to disable it. | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3679] | ||
| 10 | Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com> | ||
| 11 | --- | ||
| 12 | Makefile | 1 + | ||
| 13 | build/arch.mk | 4 ++++ | ||
| 14 | build/msvc-common.mk | 10 ++++++++-- | ||
| 15 | build/platform-mingw_nt.mk | 5 ++++- | ||
| 16 | 4 files changed, 17 insertions(+), 3 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/Makefile b/Makefile | ||
| 19 | index baed53a7..cc22c4aa 100644 | ||
| 20 | --- a/Makefile | ||
| 21 | +++ b/Makefile | ||
| 22 | @@ -35,6 +35,7 @@ CCASFLAGS=$(CFLAGS) | ||
| 23 | STATIC_LDFLAGS=-lstdc++ | ||
| 24 | STRIP ?= strip | ||
| 25 | USE_STACK_PROTECTOR = Yes | ||
| 26 | +USE_NEON=Yes | ||
| 27 | |||
| 28 | SHAREDLIB_MAJORVERSION=7 | ||
| 29 | FULL_VERSION := 2.3.1 | ||
| 30 | diff --git a/build/arch.mk b/build/arch.mk | ||
| 31 | index 4e1538c4..fd6a81e4 100644 | ||
| 32 | --- a/build/arch.mk | ||
| 33 | +++ b/build/arch.mk | ||
| 34 | @@ -17,18 +17,22 @@ ifneq ($(filter-out arm64 arm64e, $(filter arm%, $(ARCH))),) | ||
| 35 | ifeq ($(USE_ASM), Yes) | ||
| 36 | ASM_ARCH = arm | ||
| 37 | ASMFLAGS += -I$(SRC_PATH)codec/common/arm/ | ||
| 38 | +ifeq ($(USE_NEON), Yes) | ||
| 39 | CFLAGS += -DHAVE_NEON | ||
| 40 | endif | ||
| 41 | endif | ||
| 42 | +endif | ||
| 43 | |||
| 44 | #for arm64 | ||
| 45 | ifneq ($(filter arm64 aarch64 arm64e, $(ARCH)),) | ||
| 46 | ifeq ($(USE_ASM), Yes) | ||
| 47 | ASM_ARCH = arm64 | ||
| 48 | ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/ | ||
| 49 | +ifeq ($(USE_NEON), Yes) | ||
| 50 | CFLAGS += -DHAVE_NEON_AARCH64 | ||
| 51 | endif | ||
| 52 | endif | ||
| 53 | +endif | ||
| 54 | |||
| 55 | #for mips | ||
| 56 | ifneq ($(filter mips mips64, $(ARCH)),) | ||
| 57 | diff --git a/build/msvc-common.mk b/build/msvc-common.mk | ||
| 58 | index 5891ea4e..5a1e2582 100644 | ||
| 59 | --- a/build/msvc-common.mk | ||
| 60 | +++ b/build/msvc-common.mk | ||
| 61 | @@ -10,7 +10,10 @@ else | ||
| 62 | endif | ||
| 63 | ifeq ($(ASM_ARCH), arm) | ||
| 64 | CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm | ||
| 65 | -CCASFLAGS = -nologo -DHAVE_NEON -ignore 4509 | ||
| 66 | +CCASFLAGS = -nologo -ignore 4509 | ||
| 67 | +ifeq ($(USE_NEON), Yes) | ||
| 68 | +CCASFLAGS += -DHAVE_NEON | ||
| 69 | +endif | ||
| 70 | endif | ||
| 71 | |||
| 72 | CC=cl | ||
| 73 | @@ -20,7 +23,10 @@ CXX_O=-Fo$@ | ||
| 74 | |||
| 75 | ifeq ($(ASM_ARCH), arm64) | ||
| 76 | CCAS = clang-cl | ||
| 77 | -CCASFLAGS = -nologo -DHAVE_NEON_AARCH64 --target=arm64-windows | ||
| 78 | +CCASFLAGS = -nologo --target=arm64-windows | ||
| 79 | +ifeq ($(USE_NEON), Yes) | ||
| 80 | +CCASFLAGS += -DHAVE_NEON_AARCH64 | ||
| 81 | +endif | ||
| 82 | endif | ||
| 83 | |||
| 84 | |||
| 85 | diff --git a/build/platform-mingw_nt.mk b/build/platform-mingw_nt.mk | ||
| 86 | index b7a5495d..d73e362a 100644 | ||
| 87 | --- a/build/platform-mingw_nt.mk | ||
| 88 | +++ b/build/platform-mingw_nt.mk | ||
| 89 | @@ -17,7 +17,10 @@ endif | ||
| 90 | endif | ||
| 91 | ifeq ($(ASM_ARCH), arm) | ||
| 92 | CCAS = gas-preprocessor.pl -as-type clang -force-thumb -- $(CC) | ||
| 93 | -CCASFLAGS = -DHAVE_NEON -mimplicit-it=always | ||
| 94 | +CCASFLAGS = -mimplicit-it=always | ||
| 95 | +ifeq ($(USE_NEON), Yes) | ||
| 96 | +CCASFLAGS += -DHAVE_NEON | ||
| 97 | +endif | ||
| 98 | endif | ||
| 99 | EXEEXT = .exe | ||
| 100 | |||
| 101 | -- | ||
| 102 | 2.34.1 | ||
| 103 | |||
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb deleted file mode 100644 index 6dfd759355..0000000000 --- a/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb +++ /dev/null | |||
| @@ -1,55 +0,0 @@ | |||
| 1 | SUMMARY = "Open Source H.264 Codec" | ||
| 2 | DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \ | ||
| 3 | decoding. It is suitable for use in real time applications such as WebRTC." | ||
| 4 | HOMEPAGE = "http://www.openh264.org/" | ||
| 5 | SECTION = "libs/multimedia" | ||
| 6 | |||
| 7 | DEPENDS:append:x86 = " nasm-native" | ||
| 8 | DEPENDS:append:x86-64 = " nasm-native" | ||
| 9 | |||
| 10 | LICENSE = "BSD-2-Clause" | ||
| 11 | LICENSE_FLAGS = "commercial" | ||
| 12 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf" | ||
| 13 | |||
| 14 | S = "${WORKDIR}/git" | ||
| 15 | SRCREV = "0a48f4d2e9be2abb4fb01b4c3be83cf44ce91a6e" | ||
| 16 | BRANCH = "openh264v${PV}" | ||
| 17 | SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \ | ||
| 18 | file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \ | ||
| 19 | file://0002-Makefile-add-possibility-to-disable-NEON-extension.patch \ | ||
| 20 | " | ||
| 21 | |||
| 22 | COMPATIBLE_MACHINE:armv7a = "(.*)" | ||
| 23 | COMPATIBLE_MACHINE:aarch64 = "(.*)" | ||
| 24 | COMPATIBLE_MACHINE:x86 = "(.*)" | ||
| 25 | COMPATIBLE_MACHINE:x86-64 = "(.*)" | ||
| 26 | COMPATIBLE_MACHINE:mips = "(.*)" | ||
| 27 | COMPATIBLE_MACHINE:mips64 = "(.*)" | ||
| 28 | COMPATIBLE_MACHINE:powerpc64le = "null" | ||
| 29 | |||
| 30 | EXTRA_OEMAKE:armv7a = "ARCH=arm" | ||
| 31 | EXTRA_OEMAKE:armv7ve = "ARCH=arm" | ||
| 32 | EXTRA_OEMAKE:aarch64 = "ARCH=arm64" | ||
| 33 | EXTRA_OEMAKE:x86 = "ARCH=i386" | ||
| 34 | EXTRA_OEMAKE:x86-64 = "ARCH=x86_64" | ||
| 35 | EXTRA_OEMAKE:mips = "ARCH=mips" | ||
| 36 | EXTRA_OEMAKE:mips64 = "ARCH=mips64" | ||
| 37 | EXTRA_OEMAKE:riscv64 = "ARCH=riscv64" | ||
| 38 | |||
| 39 | EXTRA_OEMAKE:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}" | ||
| 40 | EXTRA_OEMAKE:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}" | ||
| 41 | |||
| 42 | EXTRA_OEMAKE:append = " ENABLEPIC=Yes" | ||
| 43 | do_configure() { | ||
| 44 | : | ||
| 45 | } | ||
| 46 | |||
| 47 | do_compile() { | ||
| 48 | oe_runmake | ||
| 49 | } | ||
| 50 | |||
| 51 | do_install() { | ||
| 52 | oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIBDIR_NAME=${baselib} SHAREDLIB_DIR=${libdir} | ||
| 53 | } | ||
| 54 | |||
| 55 | CLEANBROKEN = "1" | ||
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.5.0.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.5.0.bb new file mode 100644 index 0000000000..04e93ce790 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/openh264/openh264_2.5.0.bb | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | SUMMARY = "Open Source H.264 Codec" | ||
| 2 | DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \ | ||
| 3 | decoding. It is suitable for use in real time applications such as WebRTC." | ||
| 4 | HOMEPAGE = "http://www.openh264.org/" | ||
| 5 | SECTION = "libs/multimedia" | ||
| 6 | LICENSE = "BSD-2-Clause" | ||
| 7 | LICENSE_FLAGS = "commercial" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf" | ||
| 9 | |||
| 10 | DEPENDS = " nasm-native" | ||
| 11 | |||
| 12 | inherit meson pkgconfig | ||
| 13 | |||
| 14 | S = "${WORKDIR}/git" | ||
| 15 | SRCREV = "8c7008aeb6335e7d36ab0d9a023a63f82a8eaac0" | ||
| 16 | BRANCH = "openh264v${PV}" | ||
| 17 | SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH}" | ||
| 18 | |||
| 19 | COMPATIBLE_MACHINE:powerpc64le = "null" | ||
| 20 | |||
