[x265] [PATCH] [multi-lib] Support 8+10+12 bits in single DLL (Workaround)
chen
chenm003 at 163.com
Wed Sep 14 22:25:46 CEST 2016
From ea50e494473623ed0dbff2907194aaf268dc449a Mon Sep 17 00:00:00 2001
From: Min Chen <min.chen at multicorewareinc.com>
Date: Wed, 14 Sep 2016 15:23:38 -0500
Subject: [PATCH] [multi-lib] Support 8+10+12 bits in single DLL (Workaround)
---
source/CMakeLists.txt | 40 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index dd19d28..c2c2f7f 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -36,6 +36,7 @@ configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
"${PROJECT_BINARY_DIR}/x265_config.h")
+
SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
# System architecture detection
@@ -396,6 +397,39 @@ if(WIN32)
endif(WINXP_SUPPORT)
endif()
+
+if(ENABLE_SHARED AND LINKED_10BIT AND LINKED_12BIT)
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?setParamAspectRatio at x265@@YAXPEAUx265_param@@HH at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?getParamAspectRatio at x265@@YAXPEAUx265_param@@AEAH1 at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?general_log_file at x265@@YAXPEBUx265_param@@PEBDH1ZZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?general_log at x265@@YAXPEBUx265_param@@PEBDH1ZZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_api_get_94 at x265_10bit@@YAPEBUx265_api@@H at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_api_get_94 at x265_12bit@@YAPEBUx265_api@@H at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_api_query at x265_10bit@@YAPEBUx265_api@@HHPEAH at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_api_query at x265_12bit@@YAPEBUx265_api@@HHPEAH at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_mdate at x265@@YA_JXZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_picturePlaneSize at x265@@YAIHHHH at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_ssim2dB at x265@@YANN at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_ssim2dB at x265@@YANN at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_report_simd at x265@@YAXPEAUx265_param@@@Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_fopen at x265@@YAPEAU_iobuf@@PEBD0 at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_malloc at x265@@YAPEAX_K at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_free at x265@@YAXPEAX at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?x265_atoi at x265@@YAHPEBDAEA_N at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?start at Thread@x265@@QEAA_NXZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?stop at Thread@x265@@QEAAXXZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "??0Thread at x265@@QEAA at XZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "??1Thread at x265@@UEAA at XZ\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?g_maxCUDepth at x265@@3IA\n")
+ if(WINXP_SUPPORT)
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?cond_init at x265@@YAHPEAUConditionVariable at 1@@Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?cond_wait at x265@@YAHPEAUConditionVariable at 1@PEAU_RTL_CRITICAL_SECTION@@K at Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?cond_destroy at x265@@YAXPEAUConditionVariable at 1@@Z\n")
+ file(APPEND ${PROJECT_BINARY_DIR}/x265.def "?cond_broadcast at x265@@YAXPEAUConditionVariable at 1@@Z\n")
+ endif()
+endif()
+
include(version) # determine X265_VERSION and X265_LATEST_TAG
include_directories(. common encoder "${PROJECT_BINARY_DIR}")
@@ -608,7 +642,11 @@ if(ENABLE_CLI)
if(WIN32 OR NOT ENABLE_SHARED OR INTEL_CXX)
# The CLI cannot link to the shared library on Windows, it
# requires internal APIs not exported from the DLL
- target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+ if(ENABLE_SHARED AND LINKED_10BIT AND LINKED_12BIT)
+ target_link_libraries(cli x265-shared ${PLATFORM_LIBS})
+ else()
+ target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+ endif()
else()
target_link_libraries(cli x265-shared ${PLATFORM_LIBS})
endif()
--
1.7.9.msysgit.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20160915/d2a86eb2/attachment.html>
More information about the x265-devel
mailing list