openh264: update 2.3.1 -> 2.5.0

- switch to meson buildsystem

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk 2025-01-07 20:05:25 +01:00 committed by Khem Raj
parent 85fe143fae
commit 985d470272
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 20 additions and 190 deletions

View File

@ -1,32 +0,0 @@
From 1c3bda45c55d2334af384caf9e7f240b7aaf2eb5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 3 Mar 2020 22:28:25 -0800
Subject: [PATCH] Makefile: Use cp options to preserve file mode
This fixes packaging issues e.g.
openh264: /usr/lib/libopenh264.so is owned by uid 1000, which is the same as the user running bitbake
Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3245]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 74ff029d..ac643412 100644
--- a/Makefile
+++ b/Makefile
@@ -306,8 +306,8 @@ install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers $
mkdir -p $(DESTDIR)$(SHAREDLIB_DIR)
install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXFULLVER) $(DESTDIR)$(SHAREDLIB_DIR)
if [ "$(SHAREDLIBSUFFIXFULLVER)" != "$(SHAREDLIBSUFFIX)" ]; then \
- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
+ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
+ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
fi
mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
install -m 644 $(PROJECT_NAME).pc $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
--
2.25.1

View File

@ -1,103 +0,0 @@
From bc3a3baeaccfe9c1286848b348baf92dfbd05346 Mon Sep 17 00:00:00 2001
From: Benjamin Bara <benjamin.bara@skidata.com>
Date: Thu, 31 Aug 2023 09:27:31 +0200
Subject: [PATCH 2/2] Makefile: add possibility to disable NEON extension
README states that the NEON extension is optional. However, currently it
cannot be turned off, therefore add an option to disable it.
Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3679]
Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
---
Makefile | 1 +
build/arch.mk | 4 ++++
build/msvc-common.mk | 10 ++++++++--
build/platform-mingw_nt.mk | 5 ++++-
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index baed53a7..cc22c4aa 100644
--- a/Makefile
+++ b/Makefile
@@ -35,6 +35,7 @@ CCASFLAGS=$(CFLAGS)
STATIC_LDFLAGS=-lstdc++
STRIP ?= strip
USE_STACK_PROTECTOR = Yes
+USE_NEON=Yes
SHAREDLIB_MAJORVERSION=7
FULL_VERSION := 2.3.1
diff --git a/build/arch.mk b/build/arch.mk
index 4e1538c4..fd6a81e4 100644
--- a/build/arch.mk
+++ b/build/arch.mk
@@ -17,18 +17,22 @@ ifneq ($(filter-out arm64 arm64e, $(filter arm%, $(ARCH))),)
ifeq ($(USE_ASM), Yes)
ASM_ARCH = arm
ASMFLAGS += -I$(SRC_PATH)codec/common/arm/
+ifeq ($(USE_NEON), Yes)
CFLAGS += -DHAVE_NEON
endif
endif
+endif
#for arm64
ifneq ($(filter arm64 aarch64 arm64e, $(ARCH)),)
ifeq ($(USE_ASM), Yes)
ASM_ARCH = arm64
ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/
+ifeq ($(USE_NEON), Yes)
CFLAGS += -DHAVE_NEON_AARCH64
endif
endif
+endif
#for mips
ifneq ($(filter mips mips64, $(ARCH)),)
diff --git a/build/msvc-common.mk b/build/msvc-common.mk
index 5891ea4e..5a1e2582 100644
--- a/build/msvc-common.mk
+++ b/build/msvc-common.mk
@@ -10,7 +10,10 @@ else
endif
ifeq ($(ASM_ARCH), arm)
CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
-CCASFLAGS = -nologo -DHAVE_NEON -ignore 4509
+CCASFLAGS = -nologo -ignore 4509
+ifeq ($(USE_NEON), Yes)
+CCASFLAGS += -DHAVE_NEON
+endif
endif
CC=cl
@@ -20,7 +23,10 @@ CXX_O=-Fo$@
ifeq ($(ASM_ARCH), arm64)
CCAS = clang-cl
-CCASFLAGS = -nologo -DHAVE_NEON_AARCH64 --target=arm64-windows
+CCASFLAGS = -nologo --target=arm64-windows
+ifeq ($(USE_NEON), Yes)
+CCASFLAGS += -DHAVE_NEON_AARCH64
+endif
endif
diff --git a/build/platform-mingw_nt.mk b/build/platform-mingw_nt.mk
index b7a5495d..d73e362a 100644
--- a/build/platform-mingw_nt.mk
+++ b/build/platform-mingw_nt.mk
@@ -17,7 +17,10 @@ endif
endif
ifeq ($(ASM_ARCH), arm)
CCAS = gas-preprocessor.pl -as-type clang -force-thumb -- $(CC)
-CCASFLAGS = -DHAVE_NEON -mimplicit-it=always
+CCASFLAGS = -mimplicit-it=always
+ifeq ($(USE_NEON), Yes)
+CCASFLAGS += -DHAVE_NEON
+endif
endif
EXEEXT = .exe
--
2.34.1

View File

@ -1,55 +0,0 @@
SUMMARY = "Open Source H.264 Codec"
DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
decoding. It is suitable for use in real time applications such as WebRTC."
HOMEPAGE = "http://www.openh264.org/"
SECTION = "libs/multimedia"
DEPENDS:append:x86 = " nasm-native"
DEPENDS:append:x86-64 = " nasm-native"
LICENSE = "BSD-2-Clause"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
S = "${WORKDIR}/git"
SRCREV = "0a48f4d2e9be2abb4fb01b4c3be83cf44ce91a6e"
BRANCH = "openh264v${PV}"
SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
file://0002-Makefile-add-possibility-to-disable-NEON-extension.patch \
"
COMPATIBLE_MACHINE:armv7a = "(.*)"
COMPATIBLE_MACHINE:aarch64 = "(.*)"
COMPATIBLE_MACHINE:x86 = "(.*)"
COMPATIBLE_MACHINE:x86-64 = "(.*)"
COMPATIBLE_MACHINE:mips = "(.*)"
COMPATIBLE_MACHINE:mips64 = "(.*)"
COMPATIBLE_MACHINE:powerpc64le = "null"
EXTRA_OEMAKE:armv7a = "ARCH=arm"
EXTRA_OEMAKE:armv7ve = "ARCH=arm"
EXTRA_OEMAKE:aarch64 = "ARCH=arm64"
EXTRA_OEMAKE:x86 = "ARCH=i386"
EXTRA_OEMAKE:x86-64 = "ARCH=x86_64"
EXTRA_OEMAKE:mips = "ARCH=mips"
EXTRA_OEMAKE:mips64 = "ARCH=mips64"
EXTRA_OEMAKE:riscv64 = "ARCH=riscv64"
EXTRA_OEMAKE:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
EXTRA_OEMAKE:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
EXTRA_OEMAKE:append = " ENABLEPIC=Yes"
do_configure() {
:
}
do_compile() {
oe_runmake
}
do_install() {
oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIBDIR_NAME=${baselib} SHAREDLIB_DIR=${libdir}
}
CLEANBROKEN = "1"

View File

@ -0,0 +1,20 @@
SUMMARY = "Open Source H.264 Codec"
DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
decoding. It is suitable for use in real time applications such as WebRTC."
HOMEPAGE = "http://www.openh264.org/"
SECTION = "libs/multimedia"
LICENSE = "BSD-2-Clause"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
DEPENDS = " nasm-native"
inherit meson pkgconfig
S = "${WORKDIR}/git"
SRCREV = "8c7008aeb6335e7d36ab0d9a023a63f82a8eaac0"
BRANCH = "openh264v${PV}"
SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH}"
COMPATIBLE_MACHINE:powerpc64le = "null"