[x265] [PATCH] [multi-lib] Support 8+10+12 bits in single DLL (Workaround)

Praveen Tiwari praveen at multicorewareinc.com
Thu Sep 22 08:39:50 CEST 2016


Hi Min,

 After this patch outputs are changing, tested for following command line
for 10-bit and 12-bit outputs.

--input=NebutaFestival_2560x1600_60_10bit_crop.yuv --input-res=2560x1600
--fps=60  --numa-pools="NULL" --output-depth=12 --hash=1 -o  NFOut12.hevc




Regards,
Praveen

On Thu, Sep 15, 2016 at 1:55 AM, chen <chenm003 at 163.com> wrote:

> 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
>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20160922/0f41e75c/attachment.html>


More information about the x265-devel mailing list