Compare commits

...

No commits in common. 'el9' and 'i8cr' have entirely different histories.
el9 ... i8cr

2
.gitignore vendored

@ -1 +1 @@
x265*.tar.gz
SOURCES/x265-3.1.2.tar.gz

@ -0,0 +1 @@
3557778827b3839468c40d6563754cee6f33bc75 SOURCES/x265-3.1.2.tar.gz

@ -0,0 +1,35 @@
From: Adam Sampson <unknown@bitbucket>
Date: Sun, 14 Oct 2018 14:04:18 +0200
Subject: detect512 is needed on all architectures
---
source/common/cpu.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp
index 0681ff5..fa687da 100644
--- a/source/common/cpu.cpp
+++ b/source/common/cpu.cpp
@@ -110,6 +110,11 @@ const cpu_name_t cpu_names[] =
{ "", 0 },
};
+bool detect512()
+{
+ return(enable512);
+}
+
#if X265_ARCH_X86
extern "C" {
@@ -123,10 +128,6 @@ uint64_t PFX(cpu_xgetbv)(int xcr);
#pragma warning(disable: 4309) // truncation of constant value
#endif
-bool detect512()
-{
- return(enable512);
-}
uint32_t cpu_detect(bool benableavx512 )
{

@ -0,0 +1,347 @@
--- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600
+++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600
@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim
p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon);
// addAvg
- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon);
- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon);
- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon);
- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon);
- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon);
- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon);
- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon);
- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon);
- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon);
- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon);
- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon);
- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon);
- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon);
- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon);
- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon);
- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon);
- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon);
- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon);
- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon);
- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon);
- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon);
- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon);
- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon);
- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon);
- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon);
+ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon);
+ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon);
+ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon);
+ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon);
+ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon);
+ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon);
+ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon);
+ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon);
+ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon);
+ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon);
+ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon);
+ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon);
+ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon);
+ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon);
+ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon);
+ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon);
+ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon);
+ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon);
+ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon);
+ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon);
+ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon);
+ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon);
+ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon);
+ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon);
+ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon);
// chroma addAvg
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon);
- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon);
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon);
- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon);
+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon);
+
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon);
+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon);
// quant
p.quant = PFX(quant_neon);
@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim
p.scale2D_64to32 = PFX(scale2D_64to32_neon);
// scale1D_128to64
- p.scale1D_128to64 = PFX(scale1D_128to64_neon);
+ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon);
// copy_count
p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon);
@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim
p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon);
// filterPixelToShort
- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon);
- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon);
- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon);
- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon);
- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon);
- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon);
- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon);
- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon);
- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon);
- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon);
- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon);
- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon);
- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon);
- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon);
- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon);
- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon);
- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon);
- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon);
- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon);
- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon);
- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon);
- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon);
- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon);
- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon);
- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon);
+ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon);
+ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon);
+ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon);
+ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon);
+ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon);
+ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon);
+ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon);
+ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon);
+ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon);
+ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon);
+ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon);
+ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon);
+ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon);
+ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon);
+ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon);
+ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon);
+ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon);
+ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon);
+ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon);
+ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon);
+ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon);
+ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon);
+ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon);
+ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon);
+ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon);
// Block_fill
- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon);
- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon);
- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon);
- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon);
+ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon);
+ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon);
+ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon);
+ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon);
// Blockcopy_ss
p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon);
@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim
p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon);
// pixel_add_ps
- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon);
- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon);
- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon);
- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon);
- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon);
+ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon);
+ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon);
+ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon);
+ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon);
+ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon);
// chroma add_ps
- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon);
- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon);
- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon);
- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon);
- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon);
- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon);
- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon);
- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon);
+ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon);
+ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon);
+ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon);
+ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon);
+ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon);
+ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon);
+ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon);
+ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon);
// cpy2Dto1D_shr
p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon);
@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim
p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon);
// ssd_s
- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon);
- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon);
- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon);
- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon);
+ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon);
+ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon);
+ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon);
+ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon);
// sse_ss
p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon);
@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim
p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon);
// calc_Residual
- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon);
- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon);
- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon);
- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon);
+ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon);
+ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon);
+ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon);
+ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon);
// sse_pp
p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon);
@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim
p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon);
// pixel_avg_pp
- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon);
- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon);
- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon);
- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon);
- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon);
- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon);
- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon);
- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon);
- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon);
- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon);
- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon);
- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon);
- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon);
- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon);
- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon);
- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon);
- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon);
- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon);
- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon);
- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon);
- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon);
- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon);
- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon);
- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon);
- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon);
+ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon);
+ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon);
+ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon);
+ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon);
+ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon);
+ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon);
+ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon);
+ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon);
+ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon);
+ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon);
+ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon);
+ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon);
+ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon);
+ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon);
+ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon);
+ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon);
+ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon);
+ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon);
+ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon);
+ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon);
+ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon);
+ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon);
+ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon);
+ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon);
+ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon);
// planecopy
p.planecopy_cp = PFX(pixel_planecopy_cp_neon);

@ -1,35 +1,26 @@
--- x265_3.4/source/CMakeLists.txt.cflags
+++ x265_3.4/source/CMakeLists.txt
@@ -238,28 +238,6 @@
diff -up x265_2.7/source/CMakeLists.txt.cflags x265_2.7/source/CMakeLists.txt
--- x265_2.7/source/CMakeLists.txt.cflags 2018-02-27 20:19:33.328932385 +0100
+++ x265_2.7/source/CMakeLists.txt 2018-02-27 20:29:14.808956583 +0100
@@ -233,18 +233,6 @@ if(GCC)
endif()
endif()
endif()
- if(ARM AND CROSS_COMPILE_ARM)
- if(ARM64)
- set(ARM_ARGS -fPIC)
- else()
- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC)
- endif()
- message(STATUS "cross compile arm")
- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC)
- elseif(ARM)
- if(ARM64)
- set(ARM_ARGS -fPIC)
- find_package(Neon)
- if(CPU_HAS_NEON)
- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC)
- add_definitions(-DHAVE_NEON)
- else()
- find_package(Neon)
- if(CPU_HAS_NEON)
- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC)
- add_definitions(-DHAVE_NEON)
- else()
- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
- endif()
- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
- endif()
- endif()
- add_definitions(${ARM_ARGS})
if(FPROFILE_GENERATE)
if(INTEL_CXX)
add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}")
@@ -546,7 +524,7 @@
@@ -517,7 +505,7 @@ if((MSVC_IDE OR XCODE OR GCC) AND ENABLE
add_custom_command(
OUTPUT ${ASM}.${SUFFIX}
COMMAND ${CMAKE_CXX_COMPILER}
@ -38,10 +29,10 @@
DEPENDS ${ASM_SRC})
endforeach()
elseif(X86)
--- x265_3.4/source/dynamicHDR10/CMakeLists.txt.cflags
+++ x265_3.4/source/dynamicHDR10/CMakeLists.txt
@@ -42,18 +42,6 @@
diff -up x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags x265_2.7/source/dynamicHDR10/CMakeLists.txt
--- x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags 2018-02-21 09:55:56.000000000 +0100
+++ x265_2.7/source/dynamicHDR10/CMakeLists.txt 2018-02-27 20:29:45.377062994 +0100
@@ -42,18 +42,6 @@ if(GCC)
endif()
endif()
endif()
@ -60,4 +51,10 @@
if(FPROFILE_GENERATE)
if(INTEL_CXX)
add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}")
@@ -150,4 +138,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "In
option(ENABLE_SHARED "Build shared library" OFF)
install(FILES hdr10plus.h DESTINATION include)
-endif()
\ Pas de fin de ligne à la fin du fichier
+endif()

@ -0,0 +1,59 @@
diff -up x265_2.2/source/CMakeLists.txt.orig x265_2.2/source/CMakeLists.txt
--- x265_2.2/source/CMakeLists.txt.orig 2016-12-23 06:57:39.000000000 +0100
+++ x265_2.2/source/CMakeLists.txt 2017-01-03 11:18:34.773738470 +0100
@@ -41,9 +41,11 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_
# System architecture detection
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC)
set(X86_ALIASES x86 i386 i686 x86_64 amd64)
-set(ARM_ALIASES armv6l armv7l)
+set(ARMv6_ALIASES armv6l)
+set(ARMv7_ALIASES armv7l)
list(FIND X86_ALIASES "${SYSPROC}" X86MATCH)
-list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH)
+list(FIND ARMv6_ALIASES "${SYSPROC}" ARMv6MATCH)
+list(FIND ARMv7_ALIASES "${SYSPROC}" ARMv7MATCH)
set(POWER_ALIASES ppc64 ppc64le)
list(FIND POWER_ALIASES "${SYSPROC}" POWERMATCH)
if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1")
@@ -65,15 +67,24 @@ elseif(POWERMATCH GREATER "-1")
add_definitions(-DPPC64=1)
message(STATUS "Detected POWER PPC64 target processor")
endif()
-elseif(ARMMATCH GREATER "-1")
+elseif(ARMv6MATCH GREATER "-1")
if(CROSS_COMPILE_ARM)
message(STATUS "Cross compiling for ARM arch")
else()
set(CROSS_COMPILE_ARM 0)
endif()
- message(STATUS "Detected ARM target processor")
+ message(STATUS "Detected ARMv6 target processor")
set(ARM 1)
add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)
+elseif(ARMv7MATCH GREATER "-1")
+ if(CROSS_COMPILE_ARM)
+ message(STATUS "Cross compiling for ARM arch")
+ else()
+ set(CROSS_COMPILE_ARM 0)
+ endif()
+ message(STATUS "Detected ARMv7 target processor")
+ set(ARM 1)
+ add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV7=1)
else()
message(STATUS "CMAKE_SYSTEM_PROCESSOR value `${CMAKE_SYSTEM_PROCESSOR}` is unknown")
message(STATUS "Please add this value near ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}")
--- x265_v2.6/source/test/testharness.h.orig 2017-12-30 22:27:49.827620181 +0000
+++ x265_v2.6/source/test/testharness.h 2017-12-30 22:30:53.239500941 +0000
@@ -70,9 +70,10 @@ protected:
#include <intrin.h>
#elif (!defined(__APPLE__) && (defined (__GNUC__) && (defined(__x86_64__) || defined(__i386__))))
#include <x86intrin.h>
-#elif ( !defined(__APPLE__) && defined (__GNUC__) && defined(__ARM_NEON__))
-#include <arm_neon.h>
#elif defined(__GNUC__) && (!defined(__clang__) || __clang_major__ < 4)
+#if ( !defined(__APPLE__) && defined(__ARM_NEON__))
+#include <arm_neon.h>
+#endif
/* fallback for older GCC/MinGW */
static inline uint32_t __rdtsc(void)
{

@ -1,18 +1,17 @@
# Use old cmake macro
%global __cmake_in_source_build 1
%global _so_version 199
%global _so_version 176
Summary: H.265/HEVC encoder
Name: x265
Version: 3.5
Release: 5%{?dist}
Version: 3.1.2
Release: 1%{?dist}
URL: http://x265.org/
# source/Lib/TLibCommon - BSD
# source/Lib/TLibEncoder - BSD
# everything else - GPLv2+
License: GPLv2+ and BSD
Source0: https://bitbucket.org/multicoreware/%{name}_git/downloads/%{name}_%{version}.tar.gz
# Official upstream is http://hg.videolan.org/ - using github mirror
Source0: https://github.com/videolan/x265/archive/%{version}/%{name}-%{version}.tar.gz
# fix building as PIC
Patch0: x265-pic.patch
@ -20,9 +19,9 @@ Patch1: x265-high-bit-depth-soname.patch
Patch2: x265-detect_cpu_armhfp.patch
Patch3: x265-arm-cflags.patch
Patch4: x265-pkgconfig_path_fix.patch
Patch5: x265-2.8-asm-primitives.patch
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: cmake3
%{?el7:BuildRequires: epel-rpm-macros}
BuildRequires: nasm
@ -61,7 +60,7 @@ performance on a wide variety of hardware platforms.
This package contains the shared library development files.
%prep
%autosetup -p1 -n %{name}_%{version}
%autosetup -p1
%build
# High depth libraries (from source/h265.h):
@ -76,31 +75,21 @@ build() {
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
-DCMAKE_SKIP_RPATH:BOOL=YES \
-DENABLE_PIC:BOOL=ON \
-DENABLE_SHARED=ON \
-DENABLE_TESTS:BOOL=ON \
-DENABLE_HDR10_PLUS=YES \
-DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy \
$* \
../source
%cmake3_build
%ninja_build
}
# High depth 10/12 bit libraries are supported only on 64 bit. They require
# disabled AltiVec instructions for building on ppc64/ppc64le.
%ifarch x86_64 aarch64 ppc64 ppc64le
mkdir 10bit; pushd 10bit
build \
-DENABLE_CLI=OFF \
-DENABLE_ALTIVEC=OFF \
-DHIGH_BIT_DEPTH=ON
build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON
popd
mkdir 12bit; pushd 12bit
build \
-DENABLE_CLI=OFF \
-DENABLE_ALTIVEC=OFF \
-DHIGH_BIT_DEPTH=ON \
-DMAIN12=ON
build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON -DMAIN12=ON
popd
%endif
@ -113,7 +102,7 @@ popd
for i in 8 10 12; do
if [ -d ${i}bit ]; then
pushd ${i}bit
%cmake3_install
%ninja_install
# Remove unversioned library, should not be linked to
rm -f %{buildroot}%{_libdir}/libx265_main${i}.so
popd
@ -138,7 +127,6 @@ done
%files libs
%license COPYING
%{_libdir}/libhdr10plus.so
%{_libdir}/libx265.so.%{_so_version}
%ifarch x86_64 aarch64 ppc64 ppc64le
%{_libdir}/libx265_main10.so.%{_so_version}
@ -147,59 +135,14 @@ done
%files devel
%doc doc/*
%{_includedir}/hdr10plus.h
%{_includedir}/x265.h
%{_includedir}/x265_config.h
%{_libdir}/libx265.so
%{_libdir}/pkgconfig/x265.pc
%changelog
* Thu Dec 29 2022 Nicolas Chauvet <kwizart@gmail.com> - 3.5-5
- Enable ENABLE_HDR10_PLUS everywhere rfbz#6454
* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Apr 13 2021 Leigh Scott <leigh123linux@gmail.com> - 3.5-1
- Update to 3.5
* Tue Mar 16 2021 Leigh Scott <leigh123linux@gmail.com> - 3.4-5
- Enable HDR10+.
* Thu Feb 04 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Aug 19 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 23 2020 Leigh Scott <leigh123linux@gmail.com> - 3.4-2
- Use old cmake macro
* Sun May 31 2020 Leigh Scott <leigh123linux@gmail.com> - 3.4-1
- Update to 3.4
* Wed Mar 11 2020 Nicolas Chauvet <kwizart@gmail.com> - 3.3-2
- Rebuilt for i686
* Sun Feb 23 2020 Leigh Scott <leigh123linux@googlemail.com> - 3.3-1
- Update to 3.3
* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Nov 28 2019 Leigh Scott <leigh123linux@googlemail.com> - 3.2.1-1
- Update to 3.2.1
- Switch upstream source url
* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Feb 26 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 3.1.2-1
- Rebuilt for MSVSphere 8.9
* Sun Aug 04 2019 Leigh Scott <leigh123linux@googlemail.com> - 3.1.2-1
- Update to 3.1.2

@ -1 +0,0 @@
SHA512 (x265_3.5.tar.gz) = 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997

@ -1,15 +0,0 @@
--- x265_v2.6/source/test/testharness.h.orig 2017-12-30 22:27:49.827620181 +0000
+++ x265_v2.6/source/test/testharness.h 2017-12-30 22:30:53.239500941 +0000
@@ -70,9 +70,10 @@ protected:
#include <intrin.h>
#elif (!defined(__APPLE__) && (defined (__GNUC__) && (defined(__x86_64__) || defined(__i386__))))
#include <x86intrin.h>
-#elif ( !defined(__APPLE__) && defined (__GNUC__) && defined(__ARM_NEON__))
-#include <arm_neon.h>
#elif defined(__GNUC__) && (!defined(__clang__) || __clang_major__ < 4)
+#if ( !defined(__APPLE__) && defined(__ARM_NEON__))
+#include <arm_neon.h>
+#endif
/* fallback for older GCC/MinGW */
static inline uint32_t __rdtsc(void)
{
Loading…
Cancel
Save