History

add option for enable/disable AVX2

Guangwei Wang committed 10 years ago

Commit 7d00e8b1 parent 898073114 files · +56 −1Browse files

Showing the changes to codec/processing/src/downsample (3 of 14 files). Show all

Unified · Split

3 files
  1. codec/processing/src/downsample/downsample.cpp +2 −0
  2. codec/processing/src/downsample/downsample.h +4 −0
  3. codec/processing/src/downsample/downsamplefuncs.cpp +2 −0
codec/processing/src/downsample/downsample.cpp+2−0
@@ -107,10 +107,12 @@ void CDownsampling::InitDownsampleFuncs (SDownsampleFuncs& sDownsampleFunc, int · 106 unmodified lines
107107 sDownsampleFunc.pfQuarterDownsampler = DyadicBilinearQuarterDownsampler_sse4;
108108 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_sse41;
109109 }
110+#ifdef HAVE_AVX2
110111 if (iCpuFlag & WELS_CPU_AVX2) {
111112 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_avx2;
112113 sDownsampleFunc.pfGeneralRatioLuma = GeneralBilinearFastDownsamplerWrap_avx2;
113114 }
115+#endif
114116 #endif//X86_ASM
115117
116118 #if defined(HAVE_NEON)
codec/processing/src/downsample/downsample.h+4−0
@@ -99,8 +99,10 @@ GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_sse2; · 98 unmodified lines
9999 GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse2;
100100 GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_ssse3;
101101 GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse41;
102+#ifdef HAVE_AVX2
102103 GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_avx2;
103104 GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_avx2;
105+#endif
104106
105107 SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_ssse3;
106108 SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_sse4;
@@ -120,12 +122,14 @@ void GeneralBilinearFastDownsampler_ssse3 (uint8_t* pDst, int32_t iDstStride, in · 13 unmodified lines
120122 void GeneralBilinearAccurateDownsampler_sse41 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
121123 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
122124 uint32_t uiScaleY);
125+#ifdef HAVE_AVX2
123126 void GeneralBilinearFastDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
124127 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
125128 uint32_t uiScaleY);
126129 void GeneralBilinearAccurateDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
127130 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
128131 uint32_t uiScaleY);
132+#endif
129133
130134 WELSVP_EXTERN_C_END
131135 #endif
codec/processing/src/downsample/downsamplefuncs.cpp+2−0
@@ -284,8 +284,10 @@ DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (sse2) · 283 unmodified lines
284284 DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse2)
285285 DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (ssse3)
286286 DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse41)
287+#ifdef HAVE_AVX2
287288 DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (avx2)
288289 DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (avx2)
290+#endif
289291 #endif //X86_ASM
290292
291293 #ifdef HAVE_NEON

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t