[x265] [PATCH] Fix cpu capability issue
Karam Singh
karam.singh at multicorewareinc.com
Fri Oct 4 08:27:30 UTC 2024
This patch has been pushed to the master branch.
*__________________________*
*Karam Singh*
*Ph.D. IIT Guwahati*
Senior Software (Video Coding) Engineer
Mobile: +91 8011279030
Block 9A, 6th floor, DLF Cyber City
Manapakkam, Chennai 600 089
On Fri, Oct 4, 2024 at 1:52 PM Ponsanthini Arunachalam <
ponsanthini.arunachalam at multicorewareinc.com> wrote:
> Please find the updated patch below :
> From 555108b18ded7b92d57b6060cd5e82593e0e3c5b Mon Sep 17 00:00:00 2001
> From: Ponsanthini <ponsanthini.arunachalam at muticorewareinc.com>
> Date: Fri, 4 Oct 2024 08:13:35 +0000
> Subject: [PATCH] Fix cpu capability issue
>
> ---
> source/CMakeLists.txt | 4 ++++
> source/common/cpu.cpp | 6 ++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
> index d1fe38559..cd19050c3 100755
> --- a/source/CMakeLists.txt
> +++ b/source/CMakeLists.txt
> @@ -479,6 +479,10 @@ else()
> option(ENABLE_ASSEMBLY "Enable use of assembly coded primitives" OFF)
> endif()
>
> +if(ENABLE_ASSEMBLY)
> + add_definitions(-DENABLE_ASSEMBLY)
> +endif()
> +
> option(CHECKED_BUILD "Enable run-time sanity checks (debugging)" OFF)
> if(CHECKED_BUILD)
> add_definitions(-DCHECKED_BUILD=1)
> diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp
> index aab360c17..c1fa928e4 100644
> --- a/source/common/cpu.cpp
> +++ b/source/common/cpu.cpp
> @@ -396,6 +396,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
> {
> int flags = 0;
>
> +#ifdef ENABLE_ASSEMBLY
> #if HAVE_NEON
> flags |= X265_CPU_NEON;
> #endif
> @@ -411,6 +412,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
> #if HAVE_SVE2
> flags |= X265_CPU_SVE2;
> #endif
> +#endif
>
> return flags;
> }
> @@ -442,6 +444,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
>
> int flags = 0;
>
> +#ifdef ENABLE_ASSEMBLY
> #if HAVE_NEON
> flags |= X265_CPU_NEON; // All of ARM64 has NEON
> #endif
> @@ -457,6 +460,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
> #if HAVE_SVE2 && defined(PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE)
> flags |=
> IsProcessorFeaturePresent(PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE) ?
> X265_CPU_SVE2 : 0;
> #endif
> +#endif
>
> return flags;
> } // end of Windows+Aarch64
> @@ -473,6 +477,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
>
> int flags = 0;
>
> +#ifdef ENABLE_ASSEMBLY
> #if HAVE_NEON
> flags |= X265_CPU_NEON; // All of ARM64 has NEON
> #endif
> @@ -488,6 +493,7 @@ uint32_t cpu_detect(bool /*benableavx512*/)
> #if HAVE_SVE2
> flags |= (hwcaps2 & HWCAP2_SVE2 ? X265_CPU_SVE2 : 0);
> #endif
> +#endif
>
> return flags;
> }
> --
> 2.34.1
>
>
> On Mon, Sep 30, 2024 at 1:13 PM Ponsanthini Arunachalam <
> ponsanthini.arunachalam at multicorewareinc.com> wrote:
>
>> From d76788127f6a142ff41a8df19a0f9e74290689a8 Mon Sep 17 00:00:00 2001
>> From: Ponsanthini <ponsanthini.arunachalam at muticorewareinc.com>
>> Date: Mon, 30 Sep 2024 07:29:25 +0000
>> Subject: [PATCH] Fix cpu capability issue
>>
>> ---
>> source/CMakeLists.txt | 4 ++++
>> source/common/cpu.cpp | 30 ++++++++++++++++--------------
>> 2 files changed, 20 insertions(+), 14 deletions(-)
>>
>> diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
>> index d1fe38559..3ec82c810 100755
>> --- a/source/CMakeLists.txt
>> +++ b/source/CMakeLists.txt
>> @@ -479,6 +479,10 @@ else()
>> option(ENABLE_ASSEMBLY "Enable use of assembly coded primitives" OFF)
>> endif()
>>
>> +if(ENABLE_ASSEMBLY)
>> + add_definitions(-DENABLE_ASSEMBLY)
>> +endif()
>> +
>> option(CHECKED_BUILD "Enable run-time sanity checks (debugging)" OFF)
>> if(CHECKED_BUILD)
>> add_definitions(-DCHECKED_BUILD=1)
>> diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp
>> index 4f4376184..e31647293 100644
>> --- a/source/common/cpu.cpp
>> +++ b/source/common/cpu.cpp
>> @@ -455,20 +455,22 @@ uint32_t cpu_detect(bool benableavx512)
>>
>> int flags = 0;
>>
>> - #if HAVE_NEON
>> - flags |= X265_CPU_NEON; // All of ARM64 has NEON
>> - #endif
>> - #if HAVE_NEON_DOTPROD
>> - flags |= (hwcaps & HWCAP_ASIMDDP ? X265_CPU_NEON_DOTPROD : 0);
>> - #endif
>> - #if HAVE_NEON_I8MM
>> - flags |= (hwcaps2 & HWCAP2_I8MM ? X265_CPU_NEON_I8MM : 0);
>> - #endif
>> - #if HAVE_SVE
>> - flags |= (hwcaps & HWCAP_SVE ? X265_CPU_SVE : 0);
>> - #endif
>> - #if HAVE_SVE2
>> - flags |= (hwcaps2 & HWCAP2_SVE2 ? X265_CPU_SVE2 : 0);
>> + #ifdef ENABLE_ASSEMBLY
>> + #if HAVE_NEON
>> + flags |= X265_CPU_NEON;
>> + #endif
>> + #if HAVE_NEON_DOTPROD
>> + flags |= X265_CPU_NEON_DOTPROD;
>> + #endif
>> + #if HAVE_NEON_I8MM
>> + flags |= X265_CPU_NEON_I8MM;
>> + #endif
>> + #if HAVE_SVE
>> + flags |= X265_CPU_SVE;
>> + #endif
>> + #if HAVE_SVE2
>> + flags |= X265_CPU_SVE2;
>> + #endif
>> #endif
>>
>> return flags;
>> --
>> 2.34.1
>>
>> _______________________________________________
> 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/20241004/e3f0b818/attachment.htm>
More information about the x265-devel
mailing list