U
    ?h4                     @  s   d dl mZ ddlmZmZ ddlmZ ddlmZ G dd dZ	dd	d
ddZ
G dd dejZeejee
 eejddg eejd dS )    )annotations   )Image	ImageFile)i8)SupportsReadc                   @  sZ   e Zd ZdddddZdddd	Zddd
ddZddd
ddZddd
ddZdS )	BitStreamzSupportsRead[bytes]None)fpreturnc                 C  s   || _ d| _d| _d S )Nr   )r
   bits	bitbuffer)selfr
    r   E/var/www/html/venv/lib/python3.8/site-packages/PIL/MpegImagePlugin.py__init__   s    zBitStream.__init__intr   c                 C  s   t | jdS )Nr   )r   r
   read)r   r   r   r   next   s    zBitStream.next)r   r   c                 C  s^   | j |k rB|  }|dk r"d| _ q | jd> | | _|  j d7  _ q | j| j | ? d|> d @ S )Nr      r   )r   r   r   )r   r   cr   r   r   peek"   s    
zBitStream.peekc                 C  sF   | j |k r6| jd> t| jd | _|  j d7  _ q | j | | _ d S )Nr   r   )r   r   r   r
   r   )r   r   r   r   r   skip,   s    
zBitStream.skipc                 C  s   |  |}| j| | _|S )N)r   r   )r   r   vr   r   r   r   2   s    
zBitStream.readN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r      s
   
r   bytesbool)prefixr   c                 C  s   | d d dkS )N   s     r   )r    r   r   r   _accept8   s    r"   c                   @  s"   e Zd ZdZdZddddZdS )MpegImageFileZMPEGr	   r   c                 C  sR   | j d k	stt| j }|ddkr2d}t|d| _|d|df| _d S )N    i  znot an MPEG fileRGB   )r
   AssertionErrorr   r   SyntaxError_mode_size)r   smsgr   r   r   _openE   s    
zMpegImageFile._openN)r   r   r   formatformat_descriptionr-   r   r   r   r   r#   A   s   r#   z.mpgz.mpegz
video/mpegN)
__future__r    r   r   _binaryr   Z_typingr   r   r"   r#   Zregister_openr.   Zregister_extensionsZregister_mimer   r   r   r   <module>   s   	