openh264: Upgrade to 2.0.0

- Fix host-user-contaminated QA issues
- make clean is broken so mark it so
- Enable PIC in asm which fixes textrels issue
- Fix build on mips

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2020-03-03 22:33:30 -08:00
parent 3515db0285
commit 366b427fef
4 changed files with 139 additions and 5 deletions
@@ -0,0 +1,25 @@
From af9bd9201c755e0b01251021f4e7642d3fec9c1c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 Mar 2020 08:38:46 -0800
Subject: [PATCH] Makefile: Do not poke at host gcc for target options
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
build/arch.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/build/arch.mk b/build/arch.mk
index 8ac3e70a..b80cee8c 100644
--- a/build/arch.mk
+++ b/build/arch.mk
@@ -35,7 +35,6 @@ ifneq ($(filter mips mips64, $(ARCH)),)
ifeq ($(USE_ASM), Yes)
ASM_ARCH = mips
ASMFLAGS += -I$(SRC_PATH)codec/common/mips/
-LOONGSON3A = $(shell g++ -dM -E - < /dev/null | grep '_MIPS_TUNE ' | cut -f 3 -d " ")
ifeq ($(LOONGSON3A), "loongson3a")
CFLAGS += -DHAVE_MMI
endif
--
2.25.1
@@ -0,0 +1,32 @@
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
@@ -0,0 +1,70 @@
From edb62d2518d87536290d00a11c78c311e3680914 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 Mar 2020 09:14:57 -0800
Subject: [PATCH] codec: Disable asm for mips
It needs loongson support which qemumips is not targettin
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
codec/common/targets.mk | 2 +-
codec/decoder/targets.mk | 2 +-
codec/encoder/targets.mk | 2 +-
codec/processing/targets.mk | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/codec/common/targets.mk b/codec/common/targets.mk
index 96843cd9..e76cb2cb 100644
--- a/codec/common/targets.mk
+++ b/codec/common/targets.mk
@@ -74,7 +74,7 @@ COMMON_ASM_MIPS_SRCS=\
$(COMMON_SRCDIR)/mips/satd_sad_mmi.c\
COMMON_OBJSMIPS += $(COMMON_ASM_MIPS_SRCS:.c=.$(OBJ))
-ifeq ($(ASM_ARCH), mips)
+ifeq ($(ASM_ARCH), mips64)
COMMON_OBJS += $(COMMON_OBJSMIPS)
endif
OBJS += $(COMMON_OBJSMIPS)
diff --git a/codec/decoder/targets.mk b/codec/decoder/targets.mk
index eaf5d3c0..615d9216 100644
--- a/codec/decoder/targets.mk
+++ b/codec/decoder/targets.mk
@@ -60,7 +60,7 @@ DECODER_ASM_MIPS_SRCS=\
$(DECODER_SRCDIR)/core/mips/dct_mmi.c\
DECODER_OBJSMIPS += $(DECODER_ASM_MIPS_SRCS:.c=.$(OBJ))
-ifeq ($(ASM_ARCH), mips)
+ifeq ($(ASM_ARCH), mips64)
DECODER_OBJS += $(DECODER_OBJSMIPS)
endif
OBJS += $(DECODER_OBJSMIPS)
diff --git a/codec/encoder/targets.mk b/codec/encoder/targets.mk
index 1f053280..fd49c1fd 100644
--- a/codec/encoder/targets.mk
+++ b/codec/encoder/targets.mk
@@ -88,7 +88,7 @@ ENCODER_ASM_MIPS_SRCS=\
$(ENCODER_SRCDIR)/core/mips/score_mmi.c\
ENCODER_OBJSMIPS += $(ENCODER_ASM_MIPS_SRCS:.c=.$(OBJ))
-ifeq ($(ASM_ARCH), mips)
+ifeq ($(ASM_ARCH), mips64)
ENCODER_OBJS += $(ENCODER_OBJSMIPS)
endif
OBJS += $(ENCODER_OBJSMIPS)
diff --git a/codec/processing/targets.mk b/codec/processing/targets.mk
index 300de2d8..8451d66e 100644
--- a/codec/processing/targets.mk
+++ b/codec/processing/targets.mk
@@ -62,7 +62,7 @@ PROCESSING_ASM_MIPS_SRCS=\
$(PROCESSING_SRCDIR)/src/mips/vaa_mmi.c\
PROCESSING_OBJSMIPS += $(PROCESSING_ASM_MIPS_SRCS:.c=.$(OBJ))
-ifeq ($(ASM_ARCH), mips)
+ifeq ($(ASM_ARCH), mips64)
PROCESSING_OBJS += $(PROCESSING_OBJSMIPS)
endif
OBJS += $(PROCESSING_OBJSMIPS)
--
2.25.1
@@ -3,17 +3,21 @@ decoding. It is suitable for use in real time applications such as WebRTC."
HOMEPAGE = "http://www.openh264.org/" HOMEPAGE = "http://www.openh264.org/"
SECTION = "libs/multimedia" SECTION = "libs/multimedia"
DEPENDS_x86 += "nasm-native" DEPENDS_append_x86 = " nasm-native"
DEPENDS_x86-64 += "nasm-native" DEPENDS_append_x86-64 = " nasm-native"
LICENSE = "BSD-2-Clause" LICENSE = "BSD-2-Clause"
LICENSE_FLAGS = "commercial" LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf" LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
SRCREV = "a180c9d4d6f1a4830ca9eed9d159d54996bd63cb" SRCREV = "71374015cdf13f7aab4bc2d820f77905b3becfb8"
BRANCH = "openh264v1.7" BRANCH = "openh264v2.0.0"
SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH};" SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
file://0001-Makefile-Do-not-poke-at-host-gcc-for-target-options.patch \
file://0001-codec-Disable-asm-for-mips.patch \
"
COMPATIBLE_MACHINE_armv7a = "(.*)" COMPATIBLE_MACHINE_armv7a = "(.*)"
COMPATIBLE_MACHINE_aarch64 = "(.*)" COMPATIBLE_MACHINE_aarch64 = "(.*)"
@@ -30,6 +34,7 @@ EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
EXTRA_OEMAKE_mips = "ARCH=mips" EXTRA_OEMAKE_mips = "ARCH=mips"
EXTRA_OEMAKE_mips64 = "ARCH=mips64" EXTRA_OEMAKE_mips64 = "ARCH=mips64"
EXTRA_OEMAKE_append = " ENABLEPIC=Yes"
do_configure() { do_configure() {
: :
} }
@@ -41,3 +46,5 @@ do_compile() {
do_install() { do_install() {
oe_runmake install DESTDIR=${D} PREFIX=${prefix} oe_runmake install DESTDIR=${D} PREFIX=${prefix}
} }
CLEANBROKEN = "1"