python-pillow/Pillow — pull request #970 by homm (2014-10-24 09:11:41+00:00)
Title: Fix bicubic stretch interpolation

This fixes incorrect result for Bicubic interpolation in `im.stretch`, discovered by me in comment: https://github.com/python-pillow/Pillow/issues/964#issuecomment-59974608

The error was in line: https://github.com/python-pillow/Pillow/blob/master/libImaging/Antialias.c#L76
Third item was `8*x` while should be `8*a*x` (see [there](http://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm)).

Scale down before and after PR:
![small down b](https://cloud.githubusercontent.com/assets/128982/4767357/e1af74ca-5b5c-11e4-9a05-0457807464d0.jpg)
![small down](https://cloud.githubusercontent.com/assets/128982/4767358/e1d73a00-5b5c-11e4-9d3c-250f0961cf71.jpg)

Scale up before and after PR:
![small up b](https://cloud.githubusercontent.com/assets/128982/4767431/8a42c2cc-5b5d-11e4-8a13-0baa1d44a2cc.jpg)
![small up](https://cloud.githubusercontent.com/assets/128982/4767432/8a6b7488-5b5d-11e4-8cff-7e6d5b81e8d5.jpg)

Source code
```python
# original image
image = Image.open('small.jpg').copy()
image._new(image.im.stretch((117, 77), Image.BICUBIC)).save('small.down.jpg', quality=100)
# make a small copy to enlarge it
image = image.resize((117, 77), Image.ANTIALIAS)
image._new(image.im.stretch((538, 387), Image.BICUBIC)).save('small.up.jpg', quality=100)
```