mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-02-12 21:29:51 +08:00
Fix for ARGBToY on AVX
BUG=269 TESTED=local build on osx R=tpsiaki@google.com Review URL: https://webrtc-codereview.appspot.com/29229005 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1198 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
b0abc62c21
commit
ada2a3eb12
@ -1,6 +1,6 @@
|
|||||||
Name: libyuv
|
Name: libyuv
|
||||||
URL: http://code.google.com/p/libyuv/
|
URL: http://code.google.com/p/libyuv/
|
||||||
Version: 1197
|
Version: 1198
|
||||||
License: BSD
|
License: BSD
|
||||||
License File: LICENSE
|
License File: LICENSE
|
||||||
|
|
||||||
|
|||||||
@ -190,8 +190,8 @@ extern "C" {
|
|||||||
#define HAS_ARGBPOLYNOMIALROW_AVX2
|
#define HAS_ARGBPOLYNOMIALROW_AVX2
|
||||||
#define HAS_ARGBSHUFFLEROW_AVX2
|
#define HAS_ARGBSHUFFLEROW_AVX2
|
||||||
//#define HAS_ARGBTOUVROW_AVX2
|
//#define HAS_ARGBTOUVROW_AVX2
|
||||||
//#define HAS_ARGBTOYJROW_AVX2
|
#define HAS_ARGBTOYJROW_AVX2
|
||||||
//#define HAS_ARGBTOYROW_AVX2
|
#define HAS_ARGBTOYROW_AVX2
|
||||||
#define HAS_COPYROW_AVX
|
#define HAS_COPYROW_AVX
|
||||||
#define HAS_I422TOABGRROW_AVX2
|
#define HAS_I422TOABGRROW_AVX2
|
||||||
//#define HAS_I422TOARGBROW_AVX2
|
//#define HAS_I422TOARGBROW_AVX2
|
||||||
|
|||||||
@ -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 1197
|
#define LIBYUV_VERSION 1198
|
||||||
|
|
||||||
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
||||||
|
|||||||
@ -242,6 +242,8 @@ BAYERANY(ARGBToBayerGGRow_Any_NEON, ARGBToBayerGGRow_NEON, ARGBToBayerGGRow_C,
|
|||||||
}
|
}
|
||||||
#ifdef HAS_ARGBTOYROW_AVX2
|
#ifdef HAS_ARGBTOYROW_AVX2
|
||||||
YANY(ARGBToYRow_Any_AVX2, ARGBToYRow_AVX2, ARGBToYRow_C, 4, 1, 31)
|
YANY(ARGBToYRow_Any_AVX2, ARGBToYRow_AVX2, ARGBToYRow_C, 4, 1, 31)
|
||||||
|
#endif
|
||||||
|
#ifdef HAS_ARGBTOYJROW_AVX2
|
||||||
YANY(ARGBToYJRow_Any_AVX2, ARGBToYJRow_AVX2, ARGBToYJRow_C, 4, 1, 31)
|
YANY(ARGBToYJRow_Any_AVX2, ARGBToYJRow_AVX2, ARGBToYJRow_C, 4, 1, 31)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAS_UYVYTOYROW_AVX2
|
#ifdef HAS_UYVYTOYROW_AVX2
|
||||||
|
|||||||
@ -801,9 +801,9 @@ void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int pix) {
|
|||||||
LABELALIGN
|
LABELALIGN
|
||||||
"1: \n"
|
"1: \n"
|
||||||
"vmovdqu " MEMACCESS(0) ",%%ymm0 \n"
|
"vmovdqu " MEMACCESS(0) ",%%ymm0 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x10,0) ",%%ymm1 \n"
|
"vmovdqu " MEMACCESS2(0x20,0) ",%%ymm1 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x20,0) ",%%ymm2 \n"
|
"vmovdqu " MEMACCESS2(0x40,0) ",%%ymm2 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x30,0) ",%%ymm3 \n"
|
"vmovdqu " MEMACCESS2(0x60,0) ",%%ymm3 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm0,%%ymm0 \n"
|
"vpmaddubsw %%ymm4,%%ymm0,%%ymm0 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm1,%%ymm1 \n"
|
"vpmaddubsw %%ymm4,%%ymm1,%%ymm1 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm2,%%ymm2 \n"
|
"vpmaddubsw %%ymm4,%%ymm2,%%ymm2 \n"
|
||||||
@ -845,9 +845,9 @@ void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int pix) {
|
|||||||
LABELALIGN
|
LABELALIGN
|
||||||
"1: \n"
|
"1: \n"
|
||||||
"vmovdqu " MEMACCESS(0) ",%%ymm0 \n"
|
"vmovdqu " MEMACCESS(0) ",%%ymm0 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x10,0) ",%%ymm1 \n"
|
"vmovdqu " MEMACCESS2(0x20,0) ",%%ymm1 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x20,0) ",%%ymm2 \n"
|
"vmovdqu " MEMACCESS2(0x40,0) ",%%ymm2 \n"
|
||||||
"vmovdqu " MEMACCESS2(0x30,0) ",%%ymm3 \n"
|
"vmovdqu " MEMACCESS2(0x60,0) ",%%ymm3 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm0,%%ymm0 \n"
|
"vpmaddubsw %%ymm4,%%ymm0,%%ymm0 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm1,%%ymm1 \n"
|
"vpmaddubsw %%ymm4,%%ymm1,%%ymm1 \n"
|
||||||
"vpmaddubsw %%ymm4,%%ymm2,%%ymm2 \n"
|
"vpmaddubsw %%ymm4,%%ymm2,%%ymm2 \n"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user