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

SimdYuva444pToBgraV2 #219

Closed mikeversteeg closed 1 year ago

mikeversteeg commented 2 years ago

I'm interested in SimdYuva444pToBgraV2. I currently create a reduced size of an YUV420P by first converting to YUV444P, resize it and then use SimdYuv444pToBgraV2to display. However if the original is YUVA420P, I currently don't see an efficient way to end up with reduced size BGRA.

Thanks.

mikeversteeg commented 2 years ago

Alternatively a new SimdYuva420pToBgraV2would work for me as well, I would then skip the 444 intermediate step. Either makes me happy :).

ermig1979 commented 2 years ago

I added Base implementation of function SimdYuva444pToBgraV2. Optimizations will be soon.

mikeversteeg commented 2 years ago

Super, thanks!

mikeversteeg commented 2 years ago

I'm trying to compile but get

Error   LNK2019 unresolved external symbol "void __cdecl Simd::Sse41::AbsDifference(unsigned char const *,unsigned __int64,unsigned char const *,unsigned __int64,unsigned char *,unsigned __int64,unsigned __int64,unsigned __int64)" (?AbsDifference@Sse41@Simd@@YAXPEBE_K01PEAE111@Z) referenced in function SimdAbsDifference   Simd    
Error   LNK2019 unresolved external symbol "void __cdecl Simd::Sse41::SvmSumLinear(float const *,float const *,float const *,unsigned __int64,unsigned __int64,float *)" (?SvmSumLinear@Sse41@Simd@@YAXPEBM00_K1PEAM@Z) referenced in function SimdSvmSumLinear Simd    
Error   LNK2019 unresolved external symbol "void __cdecl Simd::Sse41::AbsDifference(unsigned char const *,unsigned __int64,unsigned char const *,unsigned __int64,unsigned char *,unsigned __int64,unsigned __int64,unsigned __int64)" (?AbsDifference@Sse41@Simd@@YAXPEBE_K01PEAE111@Z) referenced in function "bool __cdecl Test::AbsDifferenceAutoTest(void)" (?AbsDifferenceAutoTest@Test@@YA_NXZ)  Test    
Error   LNK2019 unresolved external symbol "void __cdecl Simd::Sse41::SvmSumLinear(float const *,float const *,float const *,unsigned __int64,unsigned __int64,float *)" (?SvmSumLinear@Sse41@Simd@@YAXPEBM00_K1PEAM@Z) referenced in function "bool __cdecl Test::SvmSumLinearAutoTest(void)" (?SvmSumLinearAutoTest@Test@@YA_NXZ) Test        
ermig1979 commented 2 years ago

Thank you for bug report. I fixed this bug.

mikeversteeg commented 2 years ago

Compiles fine now. Will let you know how it performs.