
    dj              	       4   d dl mZ d dlZd dlmZ d dlmZ ej        dej	        ej
                 defd            Zej        dej	        ej                 d	ed
edefd            Zej        dej	        ej	        ej                          ded	ed
efd            Zej        dej	        ej        ej                          defd            Zej        dedej	        ej                 dej        fd            Zej        dededej        dej        fd            ZdS )    )FractionN)libav)	err_checksreturnc                 ^    t          j        t          |                               ||          S N)cythoncastbytesdecode)r   encodingerrorss      C/home/agentuser/manim-venv/lib/python3.11/site-packages/av/utils.py_decoder   	   s$    ;ua  ''&999    inputr   r   c                     t           j        }i }	 t          j        | d|t          j                  }|t           j        k    rn.t          |j        ||          |t          |j        ||          <   `|S )NT )r
   NULLlibav_dict_getAV_DICT_IGNORE_SUFFIXr   valuekey)r   r   r   elementoutputs        r   avdict_to_dictr      st     6<[GF
/%Wc6OPPfk!!9@M8V:
 :
ww{Hf556	
 Mr   dstsrcc                     t          j        |            |                                D ]Q\  }}t          t          j        | |                    ||          |                    ||          d                     Rd S )Nr   )r   av_dict_freeitemsr   av_dict_setencode)r   r    r   r   r   r   s         r   dict_to_avdictr&      s     Siikk 
 

UOSZZ&115<<&3Q3QST 	
 	
 	
 	

 
r   c                 V    | j         r!| j        rt          | j         | j                  S d S r	   )numdenr   )r   s    r   avrational_to_fractionr*   /   s0     y .UY .	59---4r   fracc                 6    | j         |_        | j        |_        d S r	   )	numeratorr(   denominatorr)   )r+   r   s     r   to_avrationalr/   8   s    EI EIIIr   arraydtypendimc                     | j         |k    rt          d| d| j          d          | j        |k    rt          d| d| j         d          dS )zR
    Check a numpy array has the expected data type and number of dimensions.
    z!Expected numpy array with dtype `z` but got ``z Expected numpy array with ndim `N)r1   
ValueErrorr2   )r0   r1   r2   s      r   check_ndarrayr6   >   s|    
 {ePPP%+PPP
 
 	
 zTMtMM
MMM
 
 	
 r   )	fractionsr   r
   cython.cimportsr   r   cython.cimports.av.errorr   cfuncpointercharstrr   AVDictionarydictr   r&   const
AVRationalobjectr*   voidr/   intr6    r   r   <module>rF      s          ( ( ( ( ( ( . . . . . . :v~fk* : : : : : >#*+7:DG	     
	s'78	9
	
 
 	
 
 
 
 >&,s~67    ! !v~cn'E !&+ ! ! ! !
 
 
 
fj 
V[ 
 
 
 
 
 
r   