mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
ARGBToUV 64 bit use ymm8 for shuffler
Bug: 381138208 Change-Id: I5e69bc1610bd6269bf9a4113e729cf307dd36f60 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6536833 Reviewed-by: richard winterton <rrwinterton@gmail.com>
This commit is contained in:
parent
61bdaee13a
commit
0853c9353f
@ -1,6 +1,6 @@
|
||||
Name: libyuv
|
||||
URL: https://chromium.googlesource.com/libyuv/libyuv/
|
||||
Version: 1909
|
||||
Version: 1910
|
||||
License: BSD-3-Clause
|
||||
License File: LICENSE
|
||||
Shipped: yes
|
||||
|
||||
@ -11,6 +11,6 @@
|
||||
#ifndef INCLUDE_LIBYUV_VERSION_H_
|
||||
#define INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
#define LIBYUV_VERSION 1909
|
||||
#define LIBYUV_VERSION 1910
|
||||
|
||||
#endif // INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
@ -116,7 +116,8 @@ uint32_t HashDjb2_NEON(const uint8_t* src, int count, uint32_t seed) {
|
||||
uint32_t hash = seed;
|
||||
const uint32_t c16 = 0x92d9e201; // 33^16
|
||||
uint32_t tmp, tmp2;
|
||||
asm("ld1 {v16.4s, v17.4s, v18.4s, v19.4s}, [%[kIdx]] \n"
|
||||
asm(
|
||||
"ld1 {v16.4s, v17.4s, v18.4s, v19.4s}, [%[kIdx]] \n"
|
||||
"ld1 {v4.4s, v5.4s, v6.4s, v7.4s}, [%[kMuls]] \n"
|
||||
|
||||
// count is always a multiple of 16.
|
||||
|
||||
@ -1833,6 +1833,9 @@ void OMITFP ARGBToUVMatrixRow_AVX2(
|
||||
:);
|
||||
|
||||
asm volatile(
|
||||
#if !defined(__i386__)
|
||||
"vmovdqa 0(%5),%%ymm8 \n"
|
||||
#endif
|
||||
"vmovdqa 32(%5),%%ymm5 \n"
|
||||
"sub %1,%2 \n"
|
||||
|
||||
@ -1866,8 +1869,11 @@ void OMITFP ARGBToUVMatrixRow_AVX2(
|
||||
"vpsrlw $0x8,%%ymm0,%%ymm0 \n"
|
||||
"vpackuswb %%ymm0,%%ymm1,%%ymm0 \n"
|
||||
"vpermq $0xd8,%%ymm0,%%ymm0 \n"
|
||||
#if defined(__i386__)
|
||||
"vpshufb (%5),%%ymm0,%%ymm0 \n"
|
||||
|
||||
#else
|
||||
"vpshufb %%ymm8,%%ymm0,%%ymm0 \n"
|
||||
#endif
|
||||
"vextractf128 $0x0,%%ymm0,(%1) \n"
|
||||
"vextractf128 $0x1,%%ymm0,0x0(%1,%2,1) \n"
|
||||
"lea 0x10(%1),%1 \n"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user