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

Aasaipriya Chandran aasaipriya at multicorewareinc.com
Sat Sep 24 13:49:30 CEST 2016


Min,

Yes to confirm with the output-mismatch, I just checked with very basic
commandline *BasketballDrive_1920x1080_50.y4m --preset ultrafast .*
 The outputs are getting mismatched in all three builds(8/10/12 builds) in
vc12-x86_64. I builded each build separately and compared.
As praveen said only binary file sizes remained same, but outputs
mismatched.

I checked on changeset-d20b78d6d138 , and applying your patch on top of
this changeset ..

Can we know at which tip you tested ? and anyother way you compared ?


Thanks,
Aasaipriya

On Fri, Sep 23, 2016 at 4:04 PM, Praveen Tiwari <
praveen at multicorewareinc.com> wrote:

> Hi Min,
>          Can you please verify for VC12 ? I double checked on this I am
> getting different output for this patch. 8-bit encoded file size is same
> but different binary (compared using beyond compare), 10 and 12 bit size
> and binary both are different. I applied you patch build once (like 8 bit
> build)  and collected all depth outputs (8, 10 and 12), compared with three
> builds of x265 i.e 8 bit, 10 bit and 12 bit.
>
> Regards,
> Praveen
>
>
> On Fri, Sep 23, 2016 at 2:47 AM, chen <chenm003 at 163.com> wrote:
>
>> Hi Praveen,
>>
>> I test your cmdlind on my VS2008 build.
>> I build three bit-depth version and compare with one bit-depth version,
>> but the output are still matched in both 10 and 12 bit.
>>
>> Regards,
>> Min
>>
>> At 2016-09-22 14:39:50,"Praveen Tiwari" <praveen at multicorewareinc.com>
>> wrote:
>>
>> 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
>>>
>>>
>>
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>>
>>
>
> _______________________________________________
> 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/20160924/489a6b60/attachment.html>


More information about the x265-devel mailing list