Commit b0abc62c authored by fbarchard@google.com's avatar fbarchard@google.com

Fix for UYVYToI422 AVX2 version

BUG=269
TESTED=untested
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/32329004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1197 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent a9734a44
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 1196 Version: 1197
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -203,7 +203,7 @@ extern "C" { ...@@ -203,7 +203,7 @@ extern "C" {
#define HAS_SPLITUVROW_AVX2 #define HAS_SPLITUVROW_AVX2
#define HAS_UYVYTOUV422ROW_AVX2 #define HAS_UYVYTOUV422ROW_AVX2
#define HAS_UYVYTOUVROW_AVX2 #define HAS_UYVYTOUVROW_AVX2
//#define HAS_UYVYTOYROW_AVX2 #define HAS_UYVYTOYROW_AVX2
#define HAS_YUY2TOUV422ROW_AVX2 #define HAS_YUY2TOUV422ROW_AVX2
#define HAS_YUY2TOUVROW_AVX2 #define HAS_YUY2TOUVROW_AVX2
#define HAS_YUY2TOYROW_AVX2 #define HAS_YUY2TOYROW_AVX2
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1196 #define LIBYUV_VERSION 1197
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -3418,7 +3418,7 @@ void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int pix) { ...@@ -3418,7 +3418,7 @@ void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int pix) {
"vpermq $0xd8,%%ymm0,%%ymm0 \n" "vpermq $0xd8,%%ymm0,%%ymm0 \n"
"vmovdqu %%ymm0," MEMACCESS(1) " \n" "vmovdqu %%ymm0," MEMACCESS(1) " \n"
"lea " MEMLEA(0x20,1) ",%1 \n" "lea " MEMLEA(0x20,1) ",%1 \n"
"sub $0x20,%2 \n" "sub $0x20,%2 \n"
"jg 1b \n" "jg 1b \n"
"vzeroupper \n" "vzeroupper \n"
: "+r"(src_uyvy), // %0 : "+r"(src_uyvy), // %0
...@@ -3479,8 +3479,8 @@ void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy, ...@@ -3479,8 +3479,8 @@ void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy,
void UYVYToUV422Row_AVX2(const uint8* src_uyvy, void UYVYToUV422Row_AVX2(const uint8* src_uyvy,
uint8* dst_u, uint8* dst_v, int pix) { uint8* dst_u, uint8* dst_v, int pix) {
asm volatile ( asm volatile (
"pcmpeqb %%xmm5,%%xmm5 \n" "vpcmpeqb %%ymm5,%%ymm5,%%ymm5 \n"
"psrlw $0x8,%%xmm5 \n" "vpsrlw $0x8,%%ymm5,%%ymm5 \n"
"sub %1,%2 \n" "sub %1,%2 \n"
LABELALIGN LABELALIGN
"1: \n" "1: \n"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment