
    eB                       d dl mZ ddlmZmZ ddlmZ  G d d      Z G d dej                        Z ej                  ej                  e        ej                  ej                  d	d
g        ej                  ej                  d       y)    )annotations   )Image	ImageFile)i8c                  *    e Zd Zd Zd Zd Zd Zd Zy)	BitStreamc                .    || _         d| _        d| _        y )Nr   )fpbits	bitbuffer)selfr   s     5/usr/lib/python3/dist-packages/PIL/MpegImagePlugin.py__init__zBitStream.__init__   s    	    c                J    t        | j                  j                  d            S )Nr   )r   r   read)r   s    r   nextzBitStream.next   s    $'',,q/""r   c                   | j                   |k  rY| j                         }|dk  rd| _         ,| j                  dz  |z   | _        | xj                   dz  c_         | j                   |k  rY| j                  | j                   |z
  z	  d|z  dz
  z  S )Nr      r   )r   r   r   )r   r   cs      r   peekzBitStream.peek!   s    ii$		A1u	"nn1Q6DNIINI ii$ ~~$))d"23qDyAoEEr   c                   | j                   |k  r^| j                  dz  t        | j                  j	                  d            z   | _        | xj                   dz  c_         | j                   |k  r^| j                   |z
  | _         y )Nr   r   )r   r   r   r   r   )r   r   s     r   skipzBitStream.skip+   sa    ii$"nn1RQ5HHDNIINI ii$ II$	r   c                P    | j                  |      }| j                  |z
  | _        |S )N)r   r   )r   r   vs      r   r   zBitStream.read1   s$    IIdOII$	r   N)__name__
__module____qualname__r   r   r   r   r    r   r   r	   r	      s    
#F%r   r	   c                      e Zd ZdZdZd Zy)MpegImageFileMPEGc                    t        | j                        }|j                  d      dk7  rd}t        |      d| _        |j                  d      |j                  d      f| _        y )N    i  znot an MPEG fileRGB   )r	   r   r   SyntaxError_mode_size)r   smsgs      r   _openzMpegImageFile._open@   sS    dgg66":$Cc""
VVBZ+
r   N)r   r   r   formatformat_descriptionr-   r    r   r   r"   r"   <   s    F,r   r"   z.mpgz.mpegz
video/mpegN)
__future__r    r   r   _binaryr   r	   r"   register_openr.   register_extensionsregister_mimer    r   r   <module>r6      s|    #   H,I'' ,$   M((- 8   -..0A B   M((, 7r   