Alexander Karpinsky
Alexander Karpinsky
No. Why you need it? Currently trilinear interpolation is used with following performance on one core of Intel Core i5-8279U:
See [installation](https://github.com/uploadcare/pillow-simd#installation) section. By default SSE4 is used. > I did not notice speedup... Could you show the code?
You can ensure that SIMD version is installed: ``` shell $ python -c "from PIL import Image; print(Image.PILLOW_VERSION)" 3.2.0.post3 ``` If `PILLOW_VERSION` has postfix, it is SIMD.
> python-pillow#3493 which I hope you will sync into your branch soon This will happen after the release 5.4 of Pillow. No additional action is required. > I propose a...
> Sorry, I am new to SIMD, you say Pillow-SIMD has to be built from source, but libjpeg-turbo doesn't? Please kindly explain. libjpeg-turbo detects CPU features and choose different branches...
## Compile-time decision In general, SIMD code will looks like this: ``` c #if defined(__SSE4__) #include #include #include #if defined(__AVX2__) #include #endif #endif void ImagingResampleSomething(UINT32 *lineOut, UINT32 *lineIn, int xmax)...
## Different .so modules Suggested by @socketpair. There are three .so files compiled with different flags: - General version with no additional flags - General + SSE4 with `-msse4` -...
## Different functions in different .o files Suggested by @ToSHiC [here (rus)](https://habrahabr.ru/post/301576/#comment_9623422). We pass compiler flags to each .c file, not whole module. So we can compile several .c files...
Could you describe the case more precisely? I'm trying the following: ``` $ pip uninstall pillow Cannot uninstall requirement pillow, not installed $ pip uninstall pillow-simd Cannot uninstall requirement pillow-simd,...
@AWSjswinney This SIMD code is heavily optimized for SSE and AVX instructions. Of course you can translate SSE instructions to NEON and you will get "NEON" version. But will it...