a
    Ö¶îa;0  ã                   @   sÂ   d Z dg d¢g d¢gdœdg d¢g d¢gdœdg d¢g d	¢gdœdg d
¢g d¢gdœdg d¢g d¢gdœdg d¢g d¢gdœdg d¢g d¢gdœdg d¢g d¢gdœdg d
¢g d¢gdœdœ	ZdS )u   
JPEG quality settings equivalent to the Photoshop settings.
Can be used when saving JPEG files.

The following presets are available by default:
``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``,
``low``, ``medium``, ``high``, ``maximum``.
More presets can be added to the :py:data:`presets` dict if needed.

To apply the preset, specify::

  quality="preset_name"

To apply only the quantization table::

  qtables="preset_name"

To apply only the subsampling setting::

  subsampling="preset_name"

Example::

  im.save("image_name.jpg", quality="web_high")

Subsampling
-----------

Subsampling is the practice of encoding images by implementing less resolution
for chroma information than for luma information.
(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling)

Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and
4:2:0.

You can get the subsampling of a JPEG with the
:func:`.JpegImagePlugin.get_sampling` function.

In JPEG compressed data a JPEG marker is used instead of an EXIFÂ tag.
(ref.: https://www.exiv2.org/tags.html)


Quantization tables
-------------------

They are values use by the DCT (Discrete cosine transform) to remove
*unnecessary* information from the image (the lossy part of the compression).
(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices,
https://en.wikipedia.org/wiki/JPEG#Quantization)

You can get the quantization tables of a JPEG with::

  im.quantization

This will return a dict with a number of lists. You can pass this dict
directly as the qtables argument when saving a JPEG.

The quantization table format in presets is a list with sublists. These formats
are interchangeable.

Libjpeg ref.:
https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

é   )@é   é   é   é'   é2   é.   é>   éD   r   é   é   é&   r   é5   éA   r	   r   r   é   r   r   r   r	   r	   r   r   r   r   r   r	   r	   r	   r   r   r   r   r	   r	   r	   r	   r   r   r   r	   r	   r	   r	   r	   r   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   )@é   r   é    r   é6   r	   r	   r	   r   é   é   r   r   r	   r	   r	   r   r   r   é+   éB   r	   r	   r	   r   r   r   r   r	   r	   r	   r	   r   r   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   )ZsubsamplingZquantization)@r   é   r   r   r   é   r   é   r   é   r   é   r   r   r   r   r   r   é   r   r   é   é#   é/   r   r   r   r   r   é%   r   é@   r   r   r   r   r   é3   r!   r!   r   r   r   r    r"   r!   r!   r!   r   r   r   r   r!   r!   r!   r!   r   r   r   r!   r!   r!   r!   r!   )@é   r   r#   r   r   r   r   é0   r   é   r
   r#   r   r   r   r   r#   r
   r   é   r   r   r   r   r   r#   r&   r   r   r   r   r!   r   r   r   r   r   r$   r!   r!   r   r   r   r   r$   é?   r!   r!   r   r   r   r   r!   r!   r!   r!   r$   r   r   r!   r!   r!   r!   r!   é    )@é   é   r*   r)   é	   r   r   r   r*   é   r,   r)   é   é
   r   r   r*   r,   r,   r)   r.   r   é   r%   r)   r)   r)   r   r   r   r%   r   r+   r-   r.   r   r   r   r   r   r   r.   r   r   r   r   r   r   r   r   r/   r%   r   r   r   r   r   r   r%   r   r   r   r   r   )@é   r0   r   r   r   r   r   r   r0   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )@r   r   r   r   é   r*   r,   r)   r   r   r   r   r1   r*   r,   r)   r   r   r   r   r*   r,   r0   r+   r   r   r   r*   r,   r0   r+   r   r1   r1   r*   r,   r-   r.   r   r   r*   r*   r,   r0   r.   r   r   r   r,   r,   r0   r+   r   r   r   r   r)   r)   r+   r   r   r   r   r   )@r1   r1   r,   r+   r   r   r   r   r1   r*   r)   r   r/   r   r   r   r,   r)   r+   r/   r   r   r   r   r+   r   r/   r   r   r   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )@é   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r2   r   r2   r2   r2   r2   r2   r2   r   r   r2   r2   r2   r2   r2   r   r   r1   r2   r2   r2   r2   r   r   r1   r1   r2   r2   r2   r   r   r1   r1   r1   r2   r2   r   r   r1   r1   r1   r1   )@r2   r2   r2   r   r   r1   r1   r1   r2   r2   r2   r   r1   r1   r1   r1   r2   r2   r2   r1   r1   r1   r1   r1   r   r   r1   r1   r1   r1   r1   r1   r   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   r1   )@r
   r/   r/   r   r   r   é"   r#   r/   r   r   r%   r   r   r   r   r/   r   r#   r   r   r   r   r   r   r%   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   )@r   r%   r&   r   r   r   r#   r#   r%   r   r   r/   r/   r   r   r   r&   r   r/   r/   r   r   r   r   r   r/   r/   r   r   r   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   )@r   r-   r-   r   r#   r   r   r#   r-   r+   r+   r   r   r%   r   r   r-   r+   r.   r   r%   r   r   r   r   r   r   r   r   r   r   r   r#   r   r%   r   r   r   r   r   r   r%   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   )@r   r   r   r   r   r   r#   r#   r   r/   r/   r/   r/   r   r   r   r   r/   r/   r/   r   r   r   r   r   r/   r/   r   r   r   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   )@r)   r*   r*   r)   r+   r   r   r   r*   r,   r,   r)   r-   r.   r   r   r*   r,   r,   r)   r.   r   r   r   r)   r)   r)   r   r   r   r   r   r+   r-   r.   r   r   r   r   r   r   r.   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )@r0   r0   r   r   r   r   r#   r#   r0   r   r   r/   r/   r   r   r   r   r   r/   r/   r   r   r   r   r   r/   r/   r   r   r   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   r   )@r1   r1   r,   r+   r   r   r   r   r1   r*   r)   r.   r/   r   r   r   r,   r)   r+   r/   r   r   r   r   r+   r.   r/   r   r   r   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )	Zweb_lowZ
web_mediumZweb_highZweb_very_highZweb_maximumÚlowZmediumÚhighÚmaximumN)Ú__doc__Zpresets© r8   r8   ú_/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/PIL/JpegPresets.pyÚ<module>   s^   C÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ€ ç