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
107 sDownsampleFunc.pfQuarterDownsampler = DyadicBilinearQuarterDownsampler_sse4;107 sDownsampleFunc.pfQuarterDownsampler = DyadicBilinearQuarterDownsampler_sse4;
108 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_sse41;108 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_sse41;
109 }109 }
110#ifdef HAVE_AVX2
110 if (iCpuFlag & WELS_CPU_AVX2) {111 if (iCpuFlag & WELS_CPU_AVX2) {
111 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_avx2;112 sDownsampleFunc.pfGeneralRatioChroma = GeneralBilinearAccurateDownsamplerWrap_avx2;
112 sDownsampleFunc.pfGeneralRatioLuma = GeneralBilinearFastDownsamplerWrap_avx2;113 sDownsampleFunc.pfGeneralRatioLuma = GeneralBilinearFastDownsamplerWrap_avx2;
113 }114 }
115#endif
114#endif//X86_ASM116#endif//X86_ASM
115 117
116#if defined(HAVE_NEON)118#if defined(HAVE_NEON)
codec/processing/src/downsample/downsample.h+4−0
@@ -99,8 +99,10 @@ GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_sse2; · 98 unmodified lines
99GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse2;99GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse2;
100GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_ssse3;100GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_ssse3;
101GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse41;101GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_sse41;
102#ifdef HAVE_AVX2
102GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_avx2;103GeneralDownsampleFunc GeneralBilinearFastDownsamplerWrap_avx2;
103GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_avx2;104GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_avx2;
105#endif
104 106
105SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_ssse3;107SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_ssse3;
106SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_sse4;108SpecificDownsampleFunc DyadicBilinearOneThirdDownsampler_sse4;
@@ -120,12 +122,14 @@ void GeneralBilinearFastDownsampler_ssse3 (uint8_t* pDst, int32_t iDstStride, in · 13 unmodified lines
120void GeneralBilinearAccurateDownsampler_sse41 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,122void GeneralBilinearAccurateDownsampler_sse41 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
121 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,123 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
122 uint32_t uiScaleY);124 uint32_t uiScaleY);
125#ifdef HAVE_AVX2
123void GeneralBilinearFastDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,126void GeneralBilinearFastDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
124 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,127 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
125 uint32_t uiScaleY);128 uint32_t uiScaleY);
126void GeneralBilinearAccurateDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,129void GeneralBilinearAccurateDownsampler_avx2 (uint8_t* pDst, int32_t iDstStride, int32_t iDstWidth,
127 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,130 int32_t iDstHeight, uint8_t* pSrc, int32_t iSrcStride, uint32_t uiScaleX,
128 uint32_t uiScaleY);131 uint32_t uiScaleY);
132#endif
129 133
130WELSVP_EXTERN_C_END134WELSVP_EXTERN_C_END
131#endif135#endif
codec/processing/src/downsample/downsamplefuncs.cpp+2−0
@@ -284,8 +284,10 @@ DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (sse2) · 283 unmodified lines
284DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse2)284DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse2)
285DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (ssse3)285DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (ssse3)
286DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse41)286DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (sse41)
287#ifdef HAVE_AVX2
287DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (avx2)288DEFINE_GENERAL_BILINEAR_FAST_DOWNSAMPLER_WRAP (avx2)
288DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (avx2)289DEFINE_GENERAL_BILINEAR_ACCURATE_DOWNSAMPLER_WRAP (avx2)
290#endif
289#endif //X86_ASM291#endif //X86_ASM
290 292
291#ifdef HAVE_NEON293#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