o
    ä›eB  ã                   @  sz   d dl mZ ddlmZmZ ddlmZ G dd„ dƒZG dd„ dejƒZe 	ej
e¡ e ej
d	d
g¡ e ej
d¡ dS )é    )Úannotationsé   )ÚImageÚ	ImageFile)Úi8c                   @  s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú	BitStreamc                 C  s   || _ d| _d| _d S )Nr   )ÚfpÚbitsÚ	bitbuffer)Úselfr   © r   úF/var/www/html/venv/lib/python3.10/site-packages/PIL/MpegImagePlugin.pyÚ__init__   s   
zBitStream.__init__c                 C  s   t | j d¡ƒS )Nr   )r   r   Úread)r   r   r   r   Únext   s   zBitStream.nextc                 C  sf   | j |k r%|  ¡ }|dk rd| _ q | jd> | | _|  j d7  _ | j |k s| j| j | ? d|> d @ S )Nr   é   r   )r	   r   r
   )r   r	   Úcr   r   r   Úpeek!   s   

úzBitStream.peekc                 C  sN   | j |k r| jd> t| j d¡ƒ | _|  j d7  _ | j |k s| 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   1   s   
zBitStream.readN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s    
r   c                   @  s   e Zd ZdZdZdd„ ZdS )ÚMpegImageFileÚMPEGc                 C  sD   t | jƒ}| d¡dkrd}t|ƒ‚d| _| d¡| d¡f| _d S )Né    i³  znot an MPEG fileÚRGBé   )r   r   r   ÚSyntaxErrorÚ_modeÚ_size)r   ÚsÚmsgr   r   r   Ú_open@   s   
zMpegImageFile._openN)r   r   r   ÚformatÚformat_descriptionr#   r   r   r   r   r   <   s    r   z.mpgz.mpegz
video/mpegN)Ú
__future__r   Ú r   r   Ú_binaryr   r   r   Úregister_openr$   Úregister_extensionsÚregister_mimer   r   r   r   Ú<module>   s   $