
    ǁi                     Z    d dl Z d Zd Zd Zd Zd Zd Zd Zd	 Zd
 Z	d Z
d Zd Zd Zy)    Nc                    | dd dk7  s| dd dk7  rt        d      | dd }t        j                  d|      d   }d}||z   }d}|}d}d}g }	||z   |z   |k  rm| |||z    }
||z  }| |||z    }t        j                  d|      d   }||z  }| |||z    }|	j                  |
||d	       |d
z  rdnd}|||z   z  }||z   |z   |k  rm|	S )Nr         RIFF         WEBPNot WebP<Lfourcclength_bytesdata      )
ValueErrorstructunpackappend)r   webp_length_byteswebp_lengthRIFF_HEADER_SIZE	file_sizestartpointerCHUNK_FOURCC_LENGTHLENGTH_BYTES_LENGTHchunksr   chunk_length_byteschunk_length
chunk_datapaddings                  V/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/piexif/_webp.pysplitr#      s:   AayGtAbzW4$$Qq	--&78;K ;.IEGF
'
'*=
=	
Igg(;;<&&!''4G*GH}}T+=>qA&&''L"89
7IR\]^#a'!Q<')) '
'*=
=	
I M    c           
          dj                  | D cg c](  }|d   |d   z   |d   z   t        |d         dz  dz  z   * c}      }|S c c}w )Nr$   r   r   r   r       )joinlen)r   chunkmergeds      r"   merge_chunksr+   #   sp    XX &,	- "	 X~./v' eFm,q0G;< - .F
 M-s   -Ac                     | d   dd dz   }t        j                  d|      d   }|dz   }| d   dd  dz   }t        j                  d|      d   }|dz   }||fS )Nr   ir&   r
   r   r   r   r   r)   width_minus_one_byteswidth_minus_onewidthheight_minus_one_bytesheight_minus_oneheights          r"   _get_size_from_vp8xr6   ,   sy    !&M"R07:mmD*?@COaE"6]23/'9}}T+AB1E!F6?r$   c                    d}| d   j                  |      }|dk(  rt        d       y t        |      }d}||z   }| d   |||z    }t        j                  d|      d   }| d   ||z   |d|z  z    }t        j                  d|      d   }	||	fS )Ns   *r   z	wrong VP8r   z<Hr   )findr   r(   r   r   )
r)   
BEGIN_CODEbegin_indexBEGIN_CODE_LENGTHr   length_startwidth_bytesr2   height_bytesr5   s
             r"   _get_size_from_vp8r@   5   s     J-$$Z0Kb;
O"%66FmL@S1STdK03V}\4G%GWX[nWnHnot\215vr$   c                 J    t        | dd       dz	  t        d      z  }d|z  }|S )Nr         r   ord)r    flagcontainss      r"   _vp8L_contains_alpharH   D   s.    z!A3&W5D4xHOr$   c                 2   | d   dd }| d   dd }| d   dd }| d   dd }t        |      t        d      z  dz  t        |      z  }|dz   }t        |      t        d	      z  d
z  t        |      dz  z  t        |      t        d      z  dz	  z  }|dz   }||fS )Nr   r   r      r   rB      ?r      
         rD   )	r)   b1b2b3b4r1   r2   r4   r5   s	            r"   _get_size_from_vp8LrT   I   s    	vq	B	vq	B	vq	B	vq	B2wW-!3c"g=OaEB#g,.25B1DBRUV]R^H^cdGdd!F6?r$   c                     | d   dd dz   }t        j                  d|      d   }|dz   }| d   dd dz   }t        j                  d|      d   }|dz   }||fS )	Nr   rO   	   r&   r
   r   r   r   r.   r/   s          r"   _get_size_from_anmfrW   W   sy    !&M!A.8mmD*?@COaE"6]1R07:}}T+AB1E!F6?r$   c                    d }d }g d}| D ]  }|d   dk(  rt        |      \  }}|d   dk(  rt        |      \  }}1|d   dk(  r$t        |d         }|rd|d<   t        |      \  }}]|d   d	k(  rt	        |      \  }}t|d   d
k(  rd|d<   |d   dk(  rd|d<   |d   dk(  rd|d<   |d   dk(  rd|d<   |d   dk(  sd|d<    |dz
  }|dz
  }| d   d   dk(  r| j                  d       d}d}	t        j                  dt        dj                  |      d            }
d}t        j                  d|      d d }t        j                  d|      d d }|
|z   |z   |z   }||	|d}| j                  d|       | S )N)   0rY   rY   rY   rY   rY   rY   rY   r      VP8Xs   VP8 s   VP8Lr      1rJ   s   ANMFs   ICCPr   s   ALPH   EXIFr      XMP rB      ANIMrO   r   r   s   
   Br$   s      r
   r   )r6   r@   rH   rT   rW   popr   packintr'   insert)r   r2   r5   flagsr)   is_rgbar1   r4   header_bytesr   flags_bytespadding_bytesr>   r?   
data_bytes
vp8x_chunks                   r"   set_vp8xrk   `   s   EF<E ?g%/6ME68_'.u5ME68_'*5=9Ga/6ME68_'/6ME68_'E!H8_'E!H8_'E!H8_'E!H8_'E!H+, aiOzayg%

1L&L++c3sxx#:;K#M++dO4Ra8K;;t%56r:L},{:\IJ'ZXJ
MM!Z Mr$   c                     d}d}d}|}| D ]5  }t        j                  d|d         d   }||dz  rdndz  }|||z   |z   z  }7 t        j                  d|      }d}d}	||z   |	z   }
|
S )	Nr   r
   r   r   r   r   r   r   )r   r   ra   )r   WEBP_HEADER_LENGTHFOURCC_LENGTHr   lengthr)   data_lengthr   riffwebp_headerfile_headers              r"   get_file_headerrt      s    MF DmmD%*?@CK!Oq2-"55CCD ;;tV,LDK%3Kr$   c                 v   | dd dk7  s| dd dk7  rt        d      | dd d	k7  rt        d
      | dd }t        j                  d|      d   }d}||z   }d}|}d}d}g }	d}
||k  rU| |||z    }||z  }| |||z    }t        j                  d|      d   }|dz  r|dz  }||z  }|dk(  r| |||z    S ||z  }||k  rUy )Nr   r   r   r   r   r   r	      rZ   zdoesnot have exifr
   r$   r   r   r\   )r   r   r   )r   r   r   r   r   r   r   r   r   r   exifr   r   r   s                 r"   get_exifrx      s2   AayGtAbzW4$$Br{g,--Qq	--&78;K ;.IEGFD
I
gg(;;<&&!''4G*GH}}T+=>qA!AL&&W, 677< I
 r$   c                    d}t        j                  dt        |            }|||d}d }d }t        |       D ]  \  }}|d   dk(  s| j	                  |       ! t        |       D ]  \  }}|d   dk(  r|}|d   dk(  s|} || j                  ||       | S || j                  ||       | S | j                  |       | S )Nr\   r
   r   r   r]   r^   )r   ra   r(   	enumerater`   rc   r   )	r   
exif_bytesEXIF_HEADERexif_length_bytes
exif_chunk	xmp_indexanimation_indexindexr)   s	            r"   insert_exif_into_chunksr      s    KD#j/:&7HQ[\JIO!&) u?g%JJu "&) $u?g%I8_'#O	$
 i,
 M	 
	$oz2 M 	j!Mr$   c                     t        |       }t        ||      }t        |      }t        |      }t	        |      }||z   }|S )N)r#   r   rk   rt   r+   )
webp_bytesr{   r   rs   r*   new_webp_bytess         r"   rc   rc      sF    :F$VZ8FfF!&)K&!F 6)Nr$   c                     t        |       }t        |      D ]  \  }}|d   dk(  s|j                  |       ! t        |      }t	        |      }t        |      }||z   }|S )Nr   r\   )r#   rz   r`   rk   rt   r+   )r   r   r   r)   rs   r*   r   s          r"   remover      sl    :F!&) u?g%JJu fF!&)K&!F 6)Nr$   )r   r#   r+   r6   r@   rH   rT   rW   rk   rt   rx   r   rc   r    r$   r"   <module>r      sK    <
.`$B4	r$   