
    Wh                    2   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      Z	ddZ
 G d	 d
ej                        Z ej                  ej                  ee
        ej                  ej                  ddg        ej                  ej                  d       y)    )annotations   )Image	ImageFile)i8)SupportsReadc                  4    e Zd ZddZddZd	dZd
dZd	dZy)	BitStreamc                .    || _         d| _        d| _        y )Nr   )fpbits	bitbuffer)selfr   s     M/var/www/html/jupyter_env/lib/python3.12/site-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  rJ| j                  dz  | j                         z   | _        | xj                   dz  c_         | j                   |k  rJ| j                  | j                   |z
  z	  d|z  dz
  z  S N   r   )r   r   r   r   r   s     r   peekzBitStream.peek"   sk    ii$"nn1TYY[@DN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 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.read.   s$    IIdOII$	r   N)r   zSupportsRead[bytes]returnNone)r   int)r   r!   r   r!   )r   r!   r   r    )__name__
__module____qualname__r   r   r   r   r    r   r   r
   r
      s    
#F%r   r
   c                $    | j                  d      S )Ns     )
startswith)prefixs    r   _acceptr)   4   s    011r   c                      e Zd ZdZdZddZy)MpegImageFileMPEGc                    | j                   J 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._openA   sc    ww"""dgg66":$Cc""
VVBZ+
r   N)r   r    )r"   r#   r$   formatformat_descriptionr6   r%   r   r   r+   r+   =   s    F	,r   r+   z.mpgz.mpegz
video/mpegN)r(   bytesr   bool)
__future__r    r   r   _binaryr   _typingr   r
   r)   r+   register_openr7   register_extensionsregister_mimer%   r   r   <module>rB      s    #   ! 62,I'' ,&   M((- A   -..0A B   M((, 7r   