summaryrefslogtreecommitdiff
path: root/media-libs/libaom
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-07-14 11:04:34 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-07-14 11:04:34 +0100
commitdd762ff83c330186ee2ede002e08b2f780cddd51 (patch)
tree63198edcc3ad5df8e2566c28ff9bd8af50cc2174 /media-libs/libaom
parent51af5f0eb4cddbe6aa7953717873691d77aae9ff (diff)
gentoo resync : 14.07.2019
Diffstat (limited to 'media-libs/libaom')
-rw-r--r--media-libs/libaom/Manifest3
-rw-r--r--media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch126
-rw-r--r--media-libs/libaom/libaom-1.0.0-r2.ebuild1
3 files changed, 129 insertions, 1 deletions
diff --git a/media-libs/libaom/Manifest b/media-libs/libaom/Manifest
index e2547fa44cb3..7c3c71642488 100644
--- a/media-libs/libaom/Manifest
+++ b/media-libs/libaom/Manifest
@@ -1,9 +1,10 @@
AUX libaom-1.0.0-armv7l.patch 677 BLAKE2B 600f7ea90c611e0a7b7a54e70c208061f6aefb0d2f4d096b19f5d77288fd0c8760cb5a1b044c5c9bbefe2d3c9ecfe6049a7d14a55586bae44c770fc3c953511b SHA512 0ab5a011d458238f4cae1e5d618e928ba3ba780c494c4e56ff2dc28b782de62265fade7a0a08b001a1c5ff6128d7d625516f61f7f1ce0452116ca873fd1544ec
+AUX libaom-1.0.0-update-vsx-ppc.patch 6367 BLAKE2B 4afed9f37d8fa8a9267b21700dbebd4fdc622b734d7fcd431c357ae328dacb372c75b4b47493b2c88889becc92e5a49723b19e47793a75cf0b47d42a67f65256 SHA512 3c5d1907e754c303ee3a44fc91c17afd99341dcf79be5eb8bf2122824391db8f0523d919a0375cd31a2033fe43b2d7e30509d2c2e283996b8992877635951c96
AUX libaom-1.0.0-version.patch 403 BLAKE2B 8ab115aecb2251750f964bafea7e74ea8e4ede648bffa42724e0b71a47bd1ffe841c36059a8e634cc581488a645dc4cc42d8884516067ec79a3f71adae1e8b06 SHA512 ca715566cb821de9b32cdc77b1a1f2b11627e7ced3c134f75fa9a1d1dc59494c4097bb6d9efa0adfa5c841f73666fe10cd86f2ca9db01e07ab97e1966d8dd159
AUX libdirpc2.patch 2481 BLAKE2B 6236c31784ebd76884e716857e665824f9b325a97c2cb8e01a38c97b0398141202d7cab0a8d9b69b037ad8ba0b7d5e293bda3e2c491906ac6dd9555f7d4631ec SHA512 ec47d5b026c4b687649a2ce46500376103ae3fef21cba2cb564771c3738dba4e61e51858875516f884ab4604b0c160e6ee07b98e6740643e18f596c624df1ccb
AUX pthread_lib2.patch 535 BLAKE2B 17eabab9e5d7b9d22b4f25ec8006e7e48bc3683b88f560bcb092234a1448ff47ae20d6ba04efb1af5742d7fc253acf9c944322acc8e8ed1acfad0b08df358eda SHA512 be19983342bae014409dd22c2e94ce11a5003a8ded3547a287ff71f53ef63ce1a1cfd6cdfbbfbf36deece2d3c1d9fb3e8e679598698a045229f79ba704976001
DIST libaom-1.0.0.tar.gz 2775454 BLAKE2B 09b891d365804f0c086785a00760af3191b40fc66fc752294e915b54454171fb47d3d1b037fb6d276727772ceec3177d78c14f90a2b01e28250d2de735bf02ec SHA512 131512ef286cb138047bb56dea54196f9a8d2b0d9f3d7689299f185338e5c03ee658b0cfe017a099f1a6be351a3a7157204dea70d2645a1d0a9249fd582c3fa4
EBUILD libaom-1.0.0-r1.ebuild 2464 BLAKE2B f73d81d653a1913287af544186bad78e33124c6b2c30ff96a4bc4c92a5b5f2decc60411523d129bc50b8a0569dc29d497eb70224fdcc44e75fa7e4382c57deda SHA512 2b4e8e4413cab4534fbaed0781d97c5fa6b36b4969a5aea29bde54b304b74ad9bcb8da1b398a6f82f97bc16b4a1d893821bb9bb1ad237c8f290c627ef46db48d
-EBUILD libaom-1.0.0-r2.ebuild 2561 BLAKE2B 2b012558f99331025ff8b0f7e98a95f4ef4d04c34b6f1c90c7330c08de3feacfbce8476de6736cbc50eae5ea71dfa5363d1843213da1672207a6aaa86e197a35 SHA512 10bca7469b24b9a67c8f440a79d871c7b290afd66dba1bc2237c6ec148c30b100bf8e050ac18912ae230fd28fa41c6e82a580e2ee703280417b5714e131bd82c
+EBUILD libaom-1.0.0-r2.ebuild 2602 BLAKE2B 765a726c23c4e13ad9a7c6ec5440891cd0faba75fc8b586761ec895b25ac084fbe4a5e72303b876554f8b27c91fef251c2a8585f7310ece43f08a90277fa4443 SHA512 6e67331228e61a9cd98247c0a64de41a1b28e247a521a8a1567b43279fb0b595496b510a706222394b2e8bc1cc275b45e4566d59b11f0ac1372d10eb57dbaae7
EBUILD libaom-9999.ebuild 2110 BLAKE2B fc0aabd237735452c5218edccfdfd723808d67877025d20e344fc13e567f8705bd48a97316d641b056578a4d70fca8ece459a3fad684febca2198f27f8644d9b SHA512 401a82d1cc0ec2ca9086edb0203d3e9c39dc995241bccbc546b322bb0ad6da8af2a01101d7ceed32b381b3ad175bc7bc616f3fbec17c28eb1cda99d2fb7cde2e
MISC metadata.xml 223 BLAKE2B 1a772bb5add75cb4343b09bb2456adcd5e46896daaab4091ab64b667c5fa1a4adab0940015a3e755df3d6540b456694dc67ef9581d02d40c63b89290f8f83e43 SHA512 27b688917e0b1c4a75ea34c97d2d67d309573941492ab04124de11034f3b2796480f02408d86e2eba77ca2000722ea6606fe12a49622c04f9e2c1fa27b6fc8db
diff --git a/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch b/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch
new file mode 100644
index 000000000000..7293c1a75e3a
--- /dev/null
+++ b/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch
@@ -0,0 +1,126 @@
+From 2f8587a8b30cb2e4b45df36c6c8461a440a77336 Mon Sep 17 00:00:00 2001
+From: Luca Barbato <lu_zero@gentoo.org>
+Date: Sat, 23 Jun 2018 02:47:16 -0500
+Subject: [PATCH] Update the VSX support
+
+The CFL function signature takes a source and destination pointer.
+Also make the typedef compatible with clang.
+
+Change-Id: Ia633d10141ac0fd10af0a40b9878d18293463fb8
+---
+ av1/common/ppc/cfl_ppc.c | 85 ++++++++++++++++++++--------------------
+ 1 file changed, 42 insertions(+), 43 deletions(-)
+
+diff --git a/av1/common/ppc/cfl_ppc.c b/av1/common/ppc/cfl_ppc.c
+index 58933a7b3..026a07809 100644
+--- a/av1/common/ppc/cfl_ppc.c
++++ b/av1/common/ppc/cfl_ppc.c
+@@ -24,19 +24,21 @@
+ #define CFL_LINE_2 128
+ #define CFL_LINE_3 192
+
+-typedef vector int8_t int8x16_t;
+-typedef vector uint8_t uint8x16_t;
+-typedef vector int16_t int16x8_t;
+-typedef vector uint16_t uint16x8_t;
+-typedef vector int32_t int32x4_t;
+-typedef vector uint32_t uint32x4_t;
+-typedef vector uint64_t uint64x2_t;
++typedef vector signed char int8x16_t; // NOLINT(runtime/int)
++typedef vector unsigned char uint8x16_t; // NOLINT(runtime/int)
++typedef vector signed short int16x8_t; // NOLINT(runtime/int)
++typedef vector unsigned short uint16x8_t; // NOLINT(runtime/int)
++typedef vector signed int int32x4_t; // NOLINT(runtime/int)
++typedef vector unsigned int uint32x4_t; // NOLINT(runtime/int)
++typedef vector unsigned long long uint64x2_t; // NOLINT(runtime/int)
+
+-static INLINE void subtract_average_vsx(int16_t *pred_buf, int width,
+- int height, int round_offset,
++static INLINE void subtract_average_vsx(const uint16_t *src_ptr, int16_t *dst,
++ int width, int height, int round_offset,
+ int num_pel_log2) {
+- const int16_t *end = pred_buf + height * CFL_BUF_LINE;
+- const int16_t *sum_buf = pred_buf;
++ // int16_t *dst = dst_ptr;
++ const int16_t *dst_end = dst + height * CFL_BUF_LINE;
++ const int16_t *sum_buf = (const int16_t *)src_ptr;
++ const int16_t *end = sum_buf + height * CFL_BUF_LINE;
+ const uint32x4_t div_shift = vec_splats((uint32_t)num_pel_log2);
+ const uint8x16_t mask_64 = { 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
+@@ -71,43 +73,40 @@ static INLINE void subtract_average_vsx(int16_t *pred_buf, int width,
+ const int32x4_t avg = vec_sr(sum_32x4, div_shift);
+ const int16x8_t vec_avg = vec_pack(avg, avg);
+ do {
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0, pred_buf), vec_avg), OFF_0, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_1, pred_buf), vec_avg),
+- OFF_0 + CFL_BUF_LINE_BYTES, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_2, pred_buf), vec_avg),
+- OFF_0 + CFL_LINE_2, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_3, pred_buf), vec_avg),
+- OFF_0 + CFL_LINE_3, pred_buf);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0, dst), vec_avg), OFF_0, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_1, dst), vec_avg),
++ OFF_0 + CFL_BUF_LINE_BYTES, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_2, dst), vec_avg),
++ OFF_0 + CFL_LINE_2, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_3, dst), vec_avg),
++ OFF_0 + CFL_LINE_3, dst);
+ if (width >= 16) {
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1, pred_buf), vec_avg), OFF_1,
+- pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_1, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_1, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_2, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_2, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_3, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_3, pred_buf);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1, dst), vec_avg), OFF_1, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_1, dst), vec_avg),
++ OFF_1 + CFL_LINE_1, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_2, dst), vec_avg),
++ OFF_1 + CFL_LINE_2, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_3, dst), vec_avg),
++ OFF_1 + CFL_LINE_3, dst);
+ }
+ if (width == 32) {
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2, pred_buf), vec_avg), OFF_2,
+- pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_1, pred_buf), vec_avg),
+- OFF_2 + CFL_LINE_1, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_2, pred_buf), vec_avg),
+- OFF_2 + CFL_LINE_2, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_3, pred_buf), vec_avg),
+- OFF_2 + CFL_LINE_3, pred_buf);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2, dst), vec_avg), OFF_2, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_1, dst), vec_avg),
++ OFF_2 + CFL_LINE_1, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_2, dst), vec_avg),
++ OFF_2 + CFL_LINE_2, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_2 + CFL_LINE_3, dst), vec_avg),
++ OFF_2 + CFL_LINE_3, dst);
+
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3, pred_buf), vec_avg), OFF_3,
+- pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_1, pred_buf), vec_avg),
+- OFF_3 + CFL_LINE_1, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_2, pred_buf), vec_avg),
+- OFF_3 + CFL_LINE_2, pred_buf);
+- vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_3, pred_buf), vec_avg),
+- OFF_3 + CFL_LINE_3, pred_buf);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3, dst), vec_avg), OFF_3, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_1, dst), vec_avg),
++ OFF_3 + CFL_LINE_1, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_2, dst), vec_avg),
++ OFF_3 + CFL_LINE_2, dst);
++ vec_vsx_st(vec_sub(vec_vsx_ld(OFF_3 + CFL_LINE_3, dst), vec_avg),
++ OFF_3 + CFL_LINE_3, dst);
+ }
+- } while ((pred_buf += CFL_BUF_LINE * 4) < end);
++ } while ((dst += CFL_BUF_LINE * 4) < dst_end);
+ }
+
+ // Declare wrappers for VSX sizes
+--
+2.22.0
+
diff --git a/media-libs/libaom/libaom-1.0.0-r2.ebuild b/media-libs/libaom/libaom-1.0.0-r2.ebuild
index 2d3d0f2b2e8f..52296f61d4ae 100644
--- a/media-libs/libaom/libaom-1.0.0-r2.ebuild
+++ b/media-libs/libaom/libaom-1.0.0-r2.ebuild
@@ -47,6 +47,7 @@ PATCHES=(
"${FILESDIR}/pthread_lib2.patch"
"${FILESDIR}/${P}-version.patch"
"${FILESDIR}/${P}-armv7l.patch"
+ "${FILESDIR}/${P}-update-vsx-ppc.patch"
)
# the PATENTS file is required to be distributed with this package bug #682214