Python Imaging Library (Fork)
Go to file
Konstantin Kopachev add2746ac6
Certain corrupted jpegs can result in no data read
On truncated jpeg, decoder can suspend waiting for additional bytes in
buffer. For some input files, decoder suspends on jpeg_start_decompress
stage. If at this point file reader reaches EOF, py code never gets back
to jpeg decoder and we end up with no bytes to result image. This leaves
us with some amount of potentially useful bytes undecoded and thrown
away.
Libjpeg docs suggest that in such situation, more appropriate would be
to add EOI marker to the end of buffer, which will allows decoder
to finish. https://github.com/libjpeg-turbo/libjpeg-turbo/blob/0dd9a2c1fd6c/libjpeg.txt#L1803-L1809
Docs also mention that adding EOI markers is what non-suspending code
does anyway.
2018-02-28 22:15:58 -08:00
.github Changed documentation references to 2.x to 2.7 [ci skip] 2018-01-02 12:51:54 +11:00
.travis Need to run install or develop for coverage 2017-12-28 14:51:55 +00:00
depends Merge pull request #3017 from radarhere/raqm 2018-02-27 11:50:31 +02:00
docs Merge pull request #2985 from Metallicow/trim-trailing-space 2018-02-27 12:00:15 +02:00
src Certain corrupted jpegs can result in no data read 2018-02-28 22:15:58 -08:00
Tests Merge pull request #2985 from Metallicow/trim-trailing-space 2018-02-27 12:00:15 +02:00
winbuild Updated pypy version 2018-02-27 20:01:22 +11:00
.codecov.yml Avoid "Missing base report" due to committing CHANGES.rst with "[CI skip]" 2018-01-10 16:33:15 +02:00
.coveragerc Don't exclude Windows code 2014-07-05 21:32:09 +03:00
.editorconfig Remove duplicate line [CI skip] 2016-09-03 12:37:47 +03:00
.gitattributes Set ContainerIO test file as binary 2017-03-26 23:30:05 -07:00
.gitignore Test with coverage on Windows, update 'setup.py test' 2017-12-28 14:48:19 +00:00
.landscape.yaml Set landscape max-line-length 2015-07-21 18:23:55 +10:00
.travis.yml Enable pip cache in Travis CI 2018-01-04 12:22:50 -08:00
appveyor.yml enable pip cache in appveyor build 2018-02-20 04:13:29 +01:00
build_children.sh Fix repo name in curl 2015-01-04 21:30:50 +02:00
CHANGES.rst Update CHANGES.rst 2018-02-27 12:25:19 +02:00
LICENSE Updated copyright year 2017-12-31 12:05:03 +11:00
Makefile Updated paths for src directory 2017-12-31 07:11:26 +11:00
MANIFEST.in Removed Tk directory 2018-01-29 19:53:26 +11:00
mp_compile.py pytest no longer supports EOL Python 3.3 2017-12-28 14:48:19 +00:00
README.rst Add Twitter badge 2018-01-04 12:09:01 +02:00
RELEASING.md Updated RELEASING.md [ci skip] 2017-10-21 10:00:01 +11:00
requirements.txt Sort requirements.txt alphabetically 2018-01-04 05:24:03 -08:00
selftest.py remove --installed tweaking in selftest.py 2017-12-28 14:51:55 +00:00
setup.cfg No need to run coverage on dev machines 2017-12-28 14:49:47 +00:00
setup.py Merge pull request #2968 from nehaljwani/libdirs-ppc64le-armv7l 2018-01-24 10:52:27 +00:00
tox.ini Removed py33 from tox envlist 2017-12-31 11:53:38 +11:00

Pillow
======

Python Imaging Library (Fork)
-----------------------------

Pillow is the friendly PIL fork by `Alex Clark and Contributors <https://github.com/python-pillow/Pillow/graphs/contributors>`_. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.

.. start-badges

.. list-table::
    :stub-columns: 1

    * - docs
      - |docs|
    * - tests
      - | |linux| |macos| |windows| |coverage|
    * - package
      - |zenodo| |version|
    * - social
      - |gitter| |twitter|

.. |docs| image:: https://readthedocs.org/projects/pillow/badge/?version=latest
   :target: https://pillow.readthedocs.io/?badge=latest
   :alt: Documentation Status

.. |linux| image:: https://img.shields.io/travis/python-pillow/Pillow/master.svg?label=Linux%20build
   :target: https://travis-ci.org/python-pillow/Pillow
   :alt: Travis CI build status (Linux)

.. |macos| image:: https://img.shields.io/travis/python-pillow/pillow-wheels/latest.svg?label=macOS%20build
   :target: https://travis-ci.org/python-pillow/pillow-wheels
   :alt: Travis CI build status (macOS)

.. |windows| image:: https://img.shields.io/appveyor/ci/python-pillow/Pillow/master.svg?label=Windows%20build
   :target: https://ci.appveyor.com/project/python-pillow/Pillow
   :alt: AppVeyor CI build status (Windows)

.. |coverage| image:: https://coveralls.io/repos/python-pillow/Pillow/badge.svg?branch=master&service=github
   :target: https://coveralls.io/github/python-pillow/Pillow?branch=master
   :alt: Code coverage

.. |zenodo| image:: https://zenodo.org/badge/17549/python-pillow/Pillow.svg
   :target: https://zenodo.org/badge/latestdoi/17549/python-pillow/Pillow

.. |version| image:: https://img.shields.io/pypi/v/pillow.svg
   :target: https://pypi.python.org/pypi/Pillow/
   :alt: Latest PyPI version

.. |gitter| image:: https://badges.gitter.im/python-pillow/Pillow.svg
   :target: https://gitter.im/python-pillow/Pillow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
   :alt: Join the chat at https://gitter.im/python-pillow/Pillow

.. |twitter| image:: https://img.shields.io/badge/tweet-on%20Twitter-00aced.svg
   :target: https://twitter.com/PythonPillow
   :alt: Follow on https://twitter.com/PythonPillow

.. end-badges



More Information
----------------

- `Documentation <https://pillow.readthedocs.io/>`_

  - `Installation <https://pillow.readthedocs.io/en/latest/installation.html>`_
  - `Handbook <https://pillow.readthedocs.io/en/latest/handbook/index.html>`_

- `Contribute <https://github.com/python-pillow/Pillow/blob/master/.github/CONTRIBUTING.md>`_

  - `Issues <https://github.com/python-pillow/Pillow/issues>`_
  - `Pull requests <https://github.com/python-pillow/Pillow/pulls>`_

- `Changelog <https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst>`_

  - `Pre-fork <https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#pre-fork>`_