Legacy removing
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.
I have no problems with this. Another way of cleaning up is to remove YUV420P functions if there is a similar YUV422P version.
I want to note that YUV420P is not the same as YUV422P.
Can't you convert 422 to 420 by doubling the U & V stride?
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.