o
    Z#ûa  ã                   @   sn   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 )é   )Ú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 )Né    )ÚfpÚbitsÚ	bitbuffer)Úselfr   © r   ú5/usr/lib/python3/dist-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   s@   t | jƒ}| d¡dkrtdƒ‚d| _| d¡| d¡f| _d S )Né    i³  znot an MPEG fileÚRGBé   )r   r   r   ÚSyntaxErrorÚmodeÚ_size)r
   Úsr   r   r   Ú_openA   s
   
zMpegImageFile._openN)r   r   r   ÚformatÚformat_descriptionr!   r   r   r   r   r   <   s    r   z.mpgz.mpegz
video/mpegN)Ú r   r   Ú_binaryr   r   r   Úregister_openr"   Úregister_extensionsÚregister_mimer   r   r   r   Ú<module>   s   $