diff options
author | Tony Theodore <tonyt@logyst.com> | 2017-07-02 02:22:25 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-02 02:22:25 (GMT) |
commit | 570227442f1c28f110f0285f9d07207fe3cec3f9 (patch) | |
tree | 3a013a83c4124a311c7458da9858b1787a91c354 | |
parent | 15c41279669fc0ba5b96d894373cb193803037be (diff) | |
parent | b6899abd7f5cc2c0762717dd5b363c42ed3c3242 (diff) | |
download | mxe-570227442f1c28f110f0285f9d07207fe3cec3f9.zip mxe-570227442f1c28f110f0285f9d07207fe3cec3f9.tar.gz mxe-570227442f1c28f110f0285f9d07207fe3cec3f9.tar.bz2 |
Merge pull request #984 from darealshinji/x265
new package: x265
-rw-r--r-- | src/x265-1-fixes.patch | 36 | ||||
-rw-r--r-- | src/x265-test.c | 21 | ||||
-rw-r--r-- | src/x265.mk | 74 |
3 files changed, 131 insertions, 0 deletions
diff --git a/src/x265-1-fixes.patch b/src/x265-1-fixes.patch new file mode 100644 index 0000000..9ffa25f --- /dev/null +++ b/src/x265-1-fixes.patch @@ -0,0 +1,36 @@ +This file is part of MXE. See LICENSE.md for licensing information. + +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: darealshinji <djcj@gmx.de> +Date: Sat, 1 Jul 2017 17:09:40 +0200 +Subject: [PATCH] Use C++14 so we can build with dynamicHDR + + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 1111111..2222222 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -187,7 +187,7 @@ endif() + if(GCC) + add_definitions(-Wall -Wextra -Wshadow) + add_definitions(-D__STDC_LIMIT_MACROS=1) +- add_definitions(-std=gnu++98) ++ add_definitions(-std=gnu++14) + if(ENABLE_PIC) + add_definitions(-fPIC) + endif(ENABLE_PIC) +diff --git a/source/encoder/encoder.h b/source/encoder/encoder.h +index 1111111..2222222 100644 +--- a/source/encoder/encoder.h ++++ b/source/encoder/encoder.h +@@ -33,7 +33,7 @@ + #include "framedata.h" + + #ifdef ENABLE_DYNAMIC_HDR10 +- #include "dynamicHDR10\hdr10plus.h" ++ #include "dynamicHDR10/hdr10plus.h" + #endif + + struct x265_encoder {}; diff --git a/src/x265-test.c b/src/x265-test.c new file mode 100644 index 0000000..a12c136 --- /dev/null +++ b/src/x265-test.c @@ -0,0 +1,21 @@ +// This file is part of MXE. See LICENSE.md for licensing information. + +#include <x265.h> + +int main(void) +{ + int rv = 0; + + x265_param *param = x265_param_alloc(); + x265_param_default(param); + x265_encoder *encoder = x265_encoder_open(param); + + if (x265_param_apply_profile(param, "main444-12-intra") != 0) + rv = 1; + + x265_encoder_close(encoder); + x265_param_free(param); + x265_cleanup(); + + return rv; +} diff --git a/src/x265.mk b/src/x265.mk new file mode 100644 index 0000000..5373c60 --- /dev/null +++ b/src/x265.mk @@ -0,0 +1,74 @@ +# This file is part of MXE. See LICENSE.md for licensing information. + +PKG := x265 +$(PKG)_WEBSITE := http://x265.org +$(PKG)_IGNORE := +$(PKG)_VERSION := 2.4 +$(PKG)_CHECKSUM := 9c2aa718d78f6fecdd783f08ab83b98d3169e5f670404da4c16439306907d729 +$(PKG)_SUBDIR := x265_$($(PKG)_VERSION) +$(PKG)_FILE := x265_$($(PKG)_VERSION).tar.gz +$(PKG)_URL := https://ftp.videolan.org/pub/videolan/$(PKG)/$($(PKG)_FILE) +$(PKG)_DEPS := gcc yasm + +define $(PKG)_UPDATE + $(WGET) -q -O- https://ftp.videolan.org/pub/videolan/x265/ | \ + $(SED) -n 's,.*">x265_\([0-9][^<]*\)\.t.*,\1,p' | \ + tail -1 +endef + +# note: assembly for i686 targets is not officially supported +define $(PKG)_BUILD + cd '$(BUILD_DIR)' && mkdir -p 10bit 12bit + + # 12 bit + cd '$(BUILD_DIR)/12bit' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \ + -DHIGH_BIT_DEPTH=ON \ + -DEXPORT_C_API=OFF \ + -DENABLE_SHARED=OFF \ + -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \ + -DENABLE_CLI=OFF \ + -DWINXP_SUPPORT=ON \ + -DENABLE_DYNAMIC_HDR10=ON \ + -DMAIN12=ON + $(MAKE) -C '$(BUILD_DIR)/12bit' -j '$(JOBS)' + cp '$(BUILD_DIR)/12bit/libx265.a' '$(BUILD_DIR)/libx265_main12.a' + + # 10 bit + cd '$(BUILD_DIR)/10bit' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \ + -DHIGH_BIT_DEPTH=ON \ + -DEXPORT_C_API=OFF \ + -DENABLE_SHARED=OFF \ + -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \ + -DENABLE_CLI=OFF \ + -DWINXP_SUPPORT=ON \ + -DENABLE_DYNAMIC_HDR10=ON + $(MAKE) -C '$(BUILD_DIR)/10bit' -j '$(JOBS)' + cp '$(BUILD_DIR)/10bit/libx265.a' '$(BUILD_DIR)/libx265_main10.a' + + # 8bit + cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)/source' \ + -DHIGH_BIT_DEPTH=OFF \ + -DEXPORT_C_API=ON \ + -DENABLE_SHARED=$(CMAKE_SHARED_BOOL) \ + -DENABLE_ASSEMBLY=$(if $(findstring x86_64,$(TARGET)),ON,OFF) \ + -DENABLE_CLI=OFF \ + -DWINXP_SUPPORT=ON \ + -DENABLE_DYNAMIC_HDR10=ON \ + -DEXTRA_LIB='x265_main10.a;x265_main12.a' \ + -DEXTRA_LINK_FLAGS=-L'$(BUILD_DIR)' \ + -DLINKED_10BIT=ON \ + -DLINKED_12BIT=ON + + $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install + $(if $(BUILD_SHARED),rm -f '$(PREFIX)/$(TARGET)/lib/libx265.a',\ + $(INSTALL) '$(BUILD_DIR)/libx265_main12.a' '$(PREFIX)/$(TARGET)/lib/libx265_main12.a' && \ + $(INSTALL) '$(BUILD_DIR)/libx265_main10.a' '$(PREFIX)/$(TARGET)/lib/libx265_main10.a' && \ + $(SED) -i 's|-lx265|-lx265 -lx265_main10 -lx265_main12|' '$(PREFIX)/$(TARGET)/lib/pkgconfig/x265.pc') + + '$(TARGET)-gcc' \ + -W -Wall -Werror \ + '$(TOP_DIR)/src/$(PKG)-test.c' \ + -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ + `$(TARGET)-pkg-config --cflags --libs $(PKG)` +endef + |