
    3j                        S SK Jr  S SKrS SKJs  Jr  \R                  " \\" 5       5      r	\R                  S\R                  \R                  \R                        S\R                  \R                  \R                        S\4S j5       r " S S\5      r\R$                  \R&                   " S	 S
5      5       5       r\R                  S\4S j5       r\R                  S\4S j5       r\" 5       r\R1                  \" 5       5        g)    )FlagNiptroptrreturnc                     U (       d  U(       d  [        S5      e[        R                  [        [        5      nXl        Xl        U(       a  UR                  Ul        U$ U R                  Ul        U$ )Nz#needs input format or output format)
ValueErrorContainerFormat__new___cinit_bypass_sentinelr   r   name)r   r   formats      C/home/wildlama/miniconda3/lib/python3.13/site-packages/av/format.pybuild_container_formatr   	   s[    
 >??-55/F KK#$))FKM *.FKM    c                   ,   \ rS rSr% \R
                  r\R                  rS\	S'   \R                  rS\	S'   \R                  rS\	S'   \R                  rS\	S	'   \R                   rS
\	S'   \R$                  rS\	S'   \R(                  rS\	S'   \R,                  rS\	S'   \R0                  rS\	S'   \R4                  rS\	S'   \R8                  rS\	S'   \R<                  rS\	S'   \R@                  r!S\	S'   \RD                  r#S\	S'   \RH                  r%S\	S'   S r&g!)"Flags   zNeeds '%d' in filename.need_numberzShow format stream IDs numbers.show_idszFormat wants global header.global_headerz+Format does not need / have any timestamps.no_timestampsz Use generic index building code.generic_indexz'Format allows timestamp discontinuities
ts_discontzFormat allows variable fps.variable_fpsz!Format does not need width/heightno_dimensionsz#Format does not require any streams
no_streamszFFormat does not allow to fall back on binary search via read_timestampno_bin_searchz4Format does not allow to fall back on generic searchno_gen_searchz&Format does not allow seeking by bytesno_byte_seekzYFormat does not require strictly increasing timestamps, but they must still be monotonic.ts_nonstrictz)Format allows muxing negative timestamps.ts_negativezSeeking is based on PTSseek_to_pts N)'__name__
__module____qualname____firstlineno__libAVFMT_NOFILEno_fileAVFMT_NEEDNUMBERr   __annotations__AVFMT_SHOW_IDSr   AVFMT_GLOBALHEADERr   AVFMT_NOTIMESTAMPSr   AVFMT_GENERIC_INDEXr   AVFMT_TS_DISCONTr   AVFMT_VARIABLE_FPSr   AVFMT_NODIMENSIONSr   AVFMT_NOSTREAMSr   AVFMT_NOBINSEARCHr   AVFMT_NOGENSEARCHr   AVFMT_NO_BYTE_SEEKr   AVFMT_TS_NONSTRICTr    AVFMT_TS_NEGATIVEr!   AVFMT_SEEK_TO_PTSr"   __static_attributes__r#   r   r   r   r      s   G-0-A-AK*A252D2DH/D363I3IM0ICFCYCYM@Y8;8O8OM5O<?<P<PJ9P252H2HL/H9<9O9OM6O8;8K8KJ5K^a^s^sM[sLOLaLaMIa=@=S=SL:Sps  qG  qGLm  G?B?T?TK<T .1-B-BK*Br   r   c                       \ rS rSrSrSS jrS r\S 5       r\S 5       r	\S 5       r
\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       rSrg)r	   0   zDescriptor of a container format.

:param str name: The name of the format.
:param str mode: ``'r'`` or ``'w'`` for input and output formats; defaults
    to None which will grab either.

Nc                 T   U[         L a  g Xl        Ub  US:X  a  [        R                  " U5      U l        Ub  US:X  a9  [        R
                  " U[        R                  [        R                  5      U l        U R                  (       d!  U R                  (       d  [        SU< 35      eg g )Nrwzno container format )
r   r   r(   av_find_input_formatr   av_guess_formatcythonNULLr   r   )selfr   modes      r   	__cinit__ContainerFormat.__cinit__;   s    )) 	 <43;006DI<43;++D&++v{{KDIyy3D8<== "+yr   c                 R    SU R                   R                   SU R                  < S3$ )Nz<av. >)	__class__r$   r   rE   s    r   __repr__ContainerFormat.__repr__M   s&    dnn--.a		}A>>r   c                     U R                   [        R                  :X  a  gU R                  [        R                  :X  a  U $ [	        U R                   [        R                  5      $ )z"An input-only view of this format.N)r   rC   rD   r   r   rM   s    r   inputContainerFormat.inputP   sA     99#YY&++%K)$))V[[AAr   c                     U R                   [        R                  :X  a  gU R                  [        R                  :X  a  U $ [	        [        R                  U R                   5      $ )z#An output-only view of this format.N)r   rC   rD   r   r   rM   s    r   outputContainerFormat.outputZ   sA     99#YY&++%K)&++tyyAAr   c                 <    U R                   [        R                  :g  $ N)r   rC   rD   rM   s    r   is_inputContainerFormat.is_inputd       yyFKK''r   c                 <    U R                   [        R                  :g  $ rW   )r   rC   rD   rM   s    r   	is_outputContainerFormat.is_outputh   rZ   r   c                 |    U R                   (       a  U R                   R                  $ U R                  R                  $ rW   )r   	long_namer   rM   s    r   r_   ContainerFormat.long_namel   s)     '+iityy""HTYY5H5HHr   c                    [        5       nU R                  (       aO  U R                  R                  (       a4  UR                  U R                  R                  R	                  S5      5        U R
                  (       aO  U R
                  R                  (       a4  UR                  U R
                  R                  R	                  S5      5        U$ )N,)setr   
extensionsupdatesplitr   )rE   extss     r   rd   ContainerFormat.extensionsr   sv    E99--KK		,,2237899--KK		,,22378r   c                     U R                   (       a  U R                   R                  OSU R                  (       a  U R                  R                  -  $ S-  $ )z4
Get the flags bitmask for the format.

:rtype: int
r   )r   flagsr   rM   s    r   rj   ContainerFormat.flags{   s?     $(99		!#yyDIIOO
 	
./
 	
r   c                 N    [        U R                  [        R                  -  5      $ rW   )boolrj   r(   r)   rM   s    r   r*   ContainerFormat.no_file   s    DJJ!1!1122r   )r   r   r   rW   )r$   r%   r&   r'   __doc__rG   rN   propertyrQ   rT   rX   r\   r_   rd   rj   r*   r;   r#   r   r   r	   r	   0   s    >$? B B B B ( ( ( ( I I
   
 
 3 3r   r	   c                      [        5       n [        R                  n [        R                  " [        R
                  " U5      5      nU(       a  U R                  UR                  5        O U $ MR  rW   )rc   rC   rD   r(   av_muxer_iterateaddressaddr   namesopaqueptrs      r   get_output_format_namesry      sN    E"KKF
""6>>&#9:IIchhL r   c                      [        5       n [        R                  n [        R                  " [        R
                  " U5      5      nU(       a  U R                  UR                  5        O U $ MR  rW   )rc   rC   rD   r(   av_demuxer_iteraters   rt   r   ru   s      r   get_input_format_namesr|      sN    E"KKF
$$V^^F%;<IIchhL r   )enumr   rC   cython.cimports.libavcimportslibavr(   declareobjectr   cfuncpointerconstAVInputFormatAVOutputFormatr	   r   r   finalcclassrc   ry   r|   formats_availablere   r#   r   r   <module>r      s     # #9  
..c&7&78
9
..c&8&89
:   CD C, V3 V3  V3r 
 
 
 
 
 
 ,-    /1 2r   