ermig1979 / Simd

C++ image processing and machine learning library with using of SIMD: SSE, AVX, AVX-512, AMX for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM.
http://ermig1979.github.io/Simd
MIT License
2.03k stars 406 forks source link

Legacy removing #218

Closed ermig1979 closed 6 months ago

ermig1979 commented 2 years ago

Simd is being developing about 12 years. And some of its components are not actual now. I think that I can remove some of functionality that are not updated for many years. This list is not full and may be updated:

  1. Support of PPC architecture.
  2. Data tests (they were developed for PPC porting).
  3. AVX-512F optimizations (merge them to AVX-512BW optimizations).
  4. SSE2 optimizations (merge them to SSE4.1 optimizations).
  5. AVX optimizations (merge them to AVX2 optimizations).
  6. EdgeBackground functions.
  7. SvmSumLinear function.
  8. Interference functions.
  9. SimdTensorFormatType - remove all types besides NHWC and NCHW.
  10. SimdSynetReorderImage and SimdSynetReorderFilter functions.
  11. SimdSynetSpecifyTensorFormat and SimdSynetTensorAlignment functions.
  12. SynetAddBias - remove support of all formats besides NHWC and NCHW.
  13. SynetScaleLayerForward - remove support of all formats besides NHWC and NCHW.
  14. SynetPreluLayerForward - remove support of all formats besides NHWC and NCHW.
  15. SynetFusedLayerForward(0-9) - remove support of all formats besides NHWC and NCHW.
  16. SimdYuv444pToBgr, SimdYuv422pToBgr, SimdYuv420pToBgr.
  17. SimdYuv444pToBgra, SimdYuv422pToBgra, SimdYuv420pToBgra
mikeversteeg commented 2 years ago

I have no problems with this. Another way of cleaning up is to remove YUV420P functions if there is a similar YUV422P version.

ermig1979 commented 2 years ago

I want to note that YUV420P is not the same as YUV422P.

mikeversteeg commented 2 years ago

Can't you convert 422 to 420 by doubling the U & V stride?

mikeversteeg commented 2 years ago

Oh no, that's to make a 420 from a 422. What we need here is to tell stride to increment at half speed. The rest of the code can remain the same. I'd definitely want 422 supported.