mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-07 01:06:46 +08:00
Avoid AVX instructions in ScaleRowUp2_Linear_SSSE3
The "vpackuswb %%xmm2,%%xmm0,%%xmm0" and "vmovdqu %%xmm0,(%1)" instructions in ScaleRowUp2_Linear_SSSE3() are AVX instructions. They cause an illegal instruction exception on CPUs that do not support AVX. Bug: libyuv:927 Bug: chromium:1312551 Change-Id: I87b2aaf041e7d185e7e8fb07172d4f37482e9d08 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3585881 Reviewed-by: Mirko Bonadei <mbonadei@chromium.org> Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Wan-Teh Chang <wtc@google.com>
This commit is contained in:
parent
15e6d46448
commit
18f9110516
@ -1,6 +1,6 @@
|
||||
Name: libyuv
|
||||
URL: http://code.google.com/p/libyuv/
|
||||
Version: 1818
|
||||
Version: 1819
|
||||
License: BSD
|
||||
License File: LICENSE
|
||||
|
||||
|
||||
@ -11,6 +11,6 @@
|
||||
#ifndef INCLUDE_LIBYUV_VERSION_H_
|
||||
#define INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
#define LIBYUV_VERSION 1818
|
||||
#define LIBYUV_VERSION 1819
|
||||
|
||||
#endif // INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
@ -1283,8 +1283,8 @@ void ScaleRowUp2_Linear_SSSE3(const uint8_t* src_ptr,
|
||||
"paddw %%xmm4,%%xmm2 \n" // 3*near+far+2 (hi)
|
||||
"psrlw $2,%%xmm0 \n" // 3/4*near+1/4*far (lo)
|
||||
"psrlw $2,%%xmm2 \n" // 3/4*near+1/4*far (hi)
|
||||
"vpackuswb %%xmm2,%%xmm0,%%xmm0 \n"
|
||||
"vmovdqu %%xmm0,(%1) \n"
|
||||
"packuswb %%xmm2,%%xmm0 \n"
|
||||
"movdqu %%xmm0,(%1) \n"
|
||||
|
||||
"lea 0x8(%0),%0 \n"
|
||||
"lea 0x10(%1),%1 \n" // 8 sample to 16 sample
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user