
    ybj;n                        S SK r S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJrJr  S SKJrJr  S SKJr  S SKJrJ r   \RB                  S\RD                  \RF                     S\RD                  \   S\RH                  4S j5       r%\RB                  S\&4S j5       r'\RP                  \RR                   " S S\*5      5       5       r&g)    N)libav)BitStreamFilterContext)Codec)CodecContextwrap_codec_context)HWAccel)StreamContainer)
Dictionary)	err_check)Packet)Streamwrap_stream)dict_to_avdictto_avrational)uint8_t)memcpymemsetstreamdatasizec                    [         R                  " [         R                  [        R                  " U[        R
                  -   5      5      nU[         R                  :X  a  [        S5      e[        X1U5        [        X2-   S[        R
                  5        [        R                  " [         R                  " U R                  R                  5      5        X0R                  l        X R                  l        g )NzCould not allocate extradatar   )cythoncastp_ucharlib	av_mallocAV_INPUT_BUFFER_PADDING_SIZENULLMemoryErrorr   r   av_freepaddresscodecpar	extradataextradata_size)r   r   r   bufs       ڏ/tmp/claude-0/-home-danvics-docker-quiz/c1e0577a-e42c-4a3d-b1ea-3edd61103a4e/scratchpad/stt/lib/python3.13/site-packages/av/container/output.py_set_codecpar_extradatar'      s     !++dS-M-M&MNC fkk899
3d
3:q#::;LL 9 9:; #OO%)OO"    selfc                 X   U R                   [        R                  :w  a>  U R                  (       a-  U R                  n/ U l        U H  nU R	                  U5        M     [        5       U l        U R                  S-  S:X  Ga  U R                  b<  [        U R                  R                  SS5      (       a  U =R                  S-  sl        g  U R                  [        R                  " U R                  5      5        U R                  ct  U R                  R                  R                  [        R                   -  (       d>  [        R"                  " [        R$                  " U R                  R&                  5      5        U =R                  S-  sl        g g ! U R                  ct  U R                  R                  R                  [        R                   -  (       d>  [        R"                  " [        R$                  " U R                  R&                  5      5        U =R                  S-  sl        f = f)N      closedF   )
packet_ptrr   r   _buffered_packets_mux_oner	   streams_myflagfilegetattrr   r   av_write_trailerptroformatflagsAVFMT_NOFILEavio_closepr!   pb)r)   bufferedpackets      r&   close_outputr?   '   s`   &++%$*@*@//!#FMM&!  #$DL||bA 99 WTYY^^Xu%M%MLLAL	NN3//9:yy $((*:*:*@*@3CSCS*Stxx{{ ;<LLAL  yy $((*:*:*@*@3CSCS*Stxx{{ ;<LLALs   
/F BH)c                      \ rS rSrS rS rS r   S"S\S-  S\S-  4S jjr	S#S	\
S
\4S jjr S#S\S\S-  4S jjrS\S
\4S jrS\
S\
S\4S jrS$S\S-  4S jjr\R(                  S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS rS rS\4S jr\R>                  S\4S j5       r \R>                  S\4S j5       r!\R>                  S\4S  j5       r"S!r#g)%OutputContainerB   c                     [        5       U l        0 U l        / U l        [        R
                     [        R                  " 5       U l        S S S 5        g ! , (       d  f       g = fN)	r	   r2   _extradata_bsfsr0   r   nogilr   av_packet_allocr/   )r)   argskwargss      r&   	__cinit__OutputContainer.__cinit__E   s=    &(!!#\\!113DO \\s   A
A c                     [        U 5        g rD   r?   r)   s    r&   __del__OutputContainer.__del__L   
    Tr(   c                     [         R                     [        R                  " [         R                  " U R
                  5      5        S S S 5        g ! , (       d  f       g = frD   )r   rF   r   av_packet_freer!   r/   rN   s    r&   __dealloc__OutputContainer.__dealloc__O   s.    \\v~~doo>? \\s   5A
ANoptionshwaccelc           	      l	   [        US5      nUR                  n[        R                  " U R                  R                  UR
                  [        R                  5      (       d1  [        U R                  R                  < SUR                  < S35      e[        R                  " U R                  U5      n[        R                  " U5      n	UR                  [        R                  :X  Ga  [        R                  U	l        UR!                  SS5      U	l        UR!                  SS5      U	l        UR!                  SS	5      U	l        UR!                  S
S5      U	l         [+        UR!                  S5      [,        R.                  " U	R0                  5      5        [+        U=(       d    S[,        R.                  " U	R4                  5      5        U	R4                  Ul        U	R0                  Ul        GOUR                  [        R8                  :X  Ga  [,        R:                  n
[        R<                  " [,        R:                  U[        R>                  S	[,        R.                  " U
5      [,        R:                  5        U
(       a>  [,        R@                  " [,        RB                  [        RD                     U
5      S	   U	l#        UR!                  SS	5      U	l        UR!                  S
S5      U	l         [+        UR!                  S5      [,        R.                  " U	R0                  5      5        Uc  SU	l$        O$[        U5      [J        L a  X)l$        O[M        S5      eU	R0                  Ul        [        RN                  " [,        R.                  " U	RP                  5      S5        U R                  R                  RR                  [        RT                  -  (       a#  U	=RR                  [        RV                  -  sl)        [Y        [        RZ                  " UR\                  U	5      5        [_        XU5      n[a        XU5      nU Rb                  Re                  U5        U(       a  URf                  Ri                  U5        URk                  5        H  u  p[m        XU5        M     U$ ! [2         a     GNf = f! [2         a     GNf = f)aJ  add_stream(codec_name, rate=None, *, hwaccel=None)

Creates a new stream from a codec name and returns it.
Supports video, audio, and subtitle streams.

:param codec_name: The name of a codec.
:type codec_name: str
:param dict options: Stream options.
:param HWAccel hwaccel: Optional settings for hardware-accelerated encoding.
    Only applies to video streams (e.g. ``h264_vaapi``); software frames
    passed to :meth:`~av.codec.context.CodecContext.encode` are uploaded to
    the device automatically.
:param \**kwargs: Set attributes for the stream.
:rtype: The new :class:`~av.stream.Stream`.

.. warning::

    Configure every output stream before muxing the first packet. Writing
    the file header opens all stream codec contexts, after which structural
    properties such as format, dimensions, layout, and rate cannot change.

w format does not support  codecwidthi  heighti  bit_rater   bit_rate_tolerancei  	time_base   i }  i  'audio stream `rate` must be: int | None   )7r   r7   r   avformat_query_codecr8   idFF_COMPLIANCE_NORMAL
ValueErrorformatnameavformat_new_streamavcodec_alloc_context3typeAVMEDIA_TYPE_VIDEOAV_PIX_FMT_YUV420Ppix_fmtpopr\   r]   r^   r_   r   r   r!   r`   KeyError	framerateavg_frame_rateAVMEDIA_TYPE_AUDIOr   avcodec_get_supported_configAV_CODEC_CONFIG_SAMPLE_FORMATr   pointerAVSampleFormat
sample_fmtsample_rateint	TypeErrorav_channel_layout_default	ch_layoutr9   AVFMT_GLOBALHEADERAV_CODEC_FLAG_GLOBAL_HEADERr   avcodec_parameters_from_contextr"   r   r   r2   
add_streamrV   updateitemssetattr)r)   
codec_nameraterV   rW   rI   	codec_objcodecr   ctxoutpy_codec_context	py_streamkvs                  r&   r   OutputContainer.add_streamS   sh   > !S1	;D== ''HHehh(@(@
 
 ;;##&&?	?QQWX 
 03/F/FtxxQV/W252L2LU2S ::///00CK

7C0CIHc2CJ!::j!4CL%+ZZ0Df%MC"fjj5v~~cmm7TU $*"fnnS]]&CD$'MMF!"}}F ZZ3111=C[[C,,11s# !'V^^C<N<N-OQT!UVW!X!::j!4CL%+ZZ0De%LC"fjj5v~~cmm7TU |"'ds""& IJJ"}}F))&..*GK 88!!C$:$::II888I 	#55foosKL *<C)P'6FG		*$$W-LLNDAI!$ # s  0  s$   9R '9R% 
R"!R"%
R32R3r   returnc                    UR                  5       n[        R                  " U5      n[        R                  nU[        R                  :X  a  [        R
                  " U5      nU[        R                  :X  a9  [        R                  " U5      nU[        R                  :X  a  [        SU< 35      eU[        R                  :w  a  UR                  nUR                  nOUR                  nUR                  n[        R                  " U R                  R                  U[        R                  5      (       d'  [        U R                  R                  < SU< S35      e[        R                   " U R                  [        R                  5      n	U	[        R                  :X  a  [#        S5      eXyR$                  l        XR$                  l        U[        R*                  :X  ap  UR-                  SS5      U	R$                  l        UR-                  SS5      U	R$                  l        Ub*  [3        U[        R4                  " U	R6                  5      5        OEU[        R8                  :X  a1  Ub.  [        U5      [:        L a  X)R$                  l        O[?        S	5      e[A        X	S5      n
U RB                  RE                  U
5        URG                  5        H  u  p[I        XU5        M     U
$ )
a  add_mux_stream(codec_name, rate=None)

Creates a new stream for muxing pre-encoded data without creating a
:class:`.CodecContext`. Use this when you want to mux packets that were
already encoded externally and no encoding/decoding is needed.

:param codec_name: The name of a codec.
:type codec_name: str
:param \**kwargs: Set attributes for the stream (e.g. ``width``, ``height``,
    ``time_base``).
:rtype: The new :class:`~av.stream.Stream`.

zUnknown codec: rZ   r[   Could not allocate streamr\   r   r]   Nrb   )%encoder   avcodec_find_encoder_by_namer   r   avcodec_find_decoder_by_nameavcodec_descriptor_get_by_namerg   re   rl   rd   r7   r8   rf   rh   ri   rj   r   r"   codec_id
codec_typerm   rp   r\   r]   r   r!   rs   rt   r{   rz   r|   r   r2   r   r   r   )r)   r   r   rI   codec_name_bytesr   codec_descriptorr   r   r   r   r   r   s                r&   add_mux_streamOutputContainer.add_mux_stream   s@    #-"3"3"5,,-=> 	 KK 	 FKK445EFEFKK"AABRS6;;. ?:.!ABB FKKxxHJ'**H)..J ''HHh(@(@
 
 ;;##&&?
~VT 
 03/F/FHHfkk0
 V[[ 9::#+ %/"///$*JJw$:FOO!%+ZZ!%<FOO"dFNN63H3H$IJ3111:$26OO/#$MNN (d;		*LLNDAI!$ # r(   templateopaquec                 x   Uc  UR                   S:g  nUR                  c  U R                  " U40 UD6$ U(       a  UR                  R                  nO*[	        UR                  R                  R
                  S5      nUR                  n[        R                  " U R                  R                  UR                  [        R                  5      (       d1  [        U R                  R
                  < SUR
                  < S35      e[        R                  " U R                  U5      n[        R                  " U5      n[!        [        R"                  " XqR                  R$                  5      5        SUl        UR                  R(                  Ul        UR                  R(                  Ul        U R                  R                  R*                  [        R,                  -  (       a#  U=R*                  [        R.                  -  sl        U(       d  UR                  R*                  Ul        [!        [        R0                  " UR$                  U5      5        [3        XuS5      nU=R4                  S-  sl        [7        XU5      n	U R8                  R;                  U	5        UR=                  5        H  u  p[?        XU5        M     U	$ )a]  
Creates a new stream from a template. Supports video, audio, subtitle, data and attachment streams.

:param template: Copy codec from another :class:`~av.stream.Stream` instance.
:param opaque: If True, copy opaque data from the template's codec context.
:param \**kwargs: Set attributes for the stream.
:rtype: The new :class:`~av.stream.Stream`.
NvideorY   rZ   r[   r      ) rl   codec_context'_add_stream_without_codec_from_templater   r   ri   r7   r   rd   r8   re   rf   rg   rh   rj   rk   r   avcodec_parameters_to_contextr"   	codec_tagr`   r9   r   r   r   r   	_ctxflagsr   r2   r   r   r   )r)   r   r   rI   r   r   r   r   r   r   r   r   s               r&   add_stream_from_template(OutputContainer.add_stream_from_template  s    >]]g-F!!)??SFSS  ..44Ih44::??EI;D== ''HHehh(@(@
 
 ;;##&&?	?QQWX 
 03/F/FtxxQV/W252L2LU2S#33C9N9NOP $<<11 .. 88!!C$:$::II888I  ..44CI 	#55foosKL *<C)M""a'"'6FG		*LLNDAI!$ # r(   c                 |   UR                   R                  R                  nU[        R                  [        R
                  1;  a  [        SUR                   S35      e[        R                  " U R                   [        R                  5      nU[        R                  :X  a  [        S5      e[        [        R                  " UR                  UR                   R                  5      5        UR                   R                  Ul        UR                   R                  Ul        UR                   R                   Ul        UR                   R"                  Ul        [%        XS 5      nU R&                  R)                  U5        [+        UR,                  5      Ul        UR/                  5        H  u  pg[1        XVU5        M     U$ )Nztemplate stream of type z has no codec contextr   )r7   r"   r   r   AVMEDIA_TYPE_ATTACHMENTAVMEDIA_TYPE_DATArg   rl   rj   r   r   r   r   avcodec_parameters_copyr`   
start_timedurationdispositionr   r2   r   dictmetadatar   r   )r)   r   rI   r   r   r   r   r   s           r&   r   7OutputContainer._add_stream_without_codec_from_templateW  sJ    "*!6!6!A!A
c993;P;PQQ*8==/9NO  03/F/FHHfkk0
 V[[ 9::#--foox||?T?TUV $<<11$LL33",,//%\\55'd;		*!("3"34	LLNDAI!$ # r(   ri   mimetyper   c                 R   [         R                  " U R                  [        R                  5      nU[        R                  :X  a  [        S5      e[         R                  UR                  l        [         R                  UR                  l
        [        U5      nU(       a  [        R                  " [        R                  [         R                  " US-   5      5      nU[        R                  :X  a  [        S5      e[        U5       H	  nX7   Xg'   M     SXe'   [        R                  " [        R                  U5      UR                  l        [        R                  " [        R"                  U5      UR                  l        [        R&                  " UR(                  5      n[+        [         R,                  " USUR/                  5       S5      5        UR/                  5       n	[+        [         R,                  " USU	S5      5        [1        XS5      n
U R2                  R5                  U
5        U
$ )z
Create an attachment stream and embed its payload into the container header.

- Only supported by formats that support attachments (e.g. Matroska).
- No per-packet muxing is required; attachments are written at header time.
r   r   z"Could not allocate attachment datar   s   filenames   mimetypeN)r   rj   r7   r   r   r   r   r"   r   AV_CODEC_ID_NONEr   lenr   r   r   ranger#   r{   r$   r!   r   r   av_dict_setr   r   r2   r   )r)   ri   r   r   r   payload_sizer%   imeta_ptr
mime_bytesr   s              r&   add_attachmentOutputContainer.add_attachmentx  su    03/F/FHHfkk0
 V[[ 9::%(%@%@"#&#7#7  '*$i++fnncmmL1<L.MNCfkk!!"FGG<( ) !C(.FNNC(HFOO%-3[[\-RFOO* >>&//2#//(KJK__&
#//(KQGH'd;		*r(   c                 V   [         R                  n[         R                  nUGb.  UR                  5       n[        R                  " U5      nU[         R                  :X  a  [        R
                  " U5      nU[         R                  :X  a8  [        R                  " U5      nU[         R                  :X  a  [        SU 35      eU[         R                  :w  a  UR                  OUR                  n[        R                  " U R                  R                  U[        R                  5      (       d'  [        U R                  R                  < SU< S35      e[        R                  " U R                  U5      nU[         R                  :X  a  [!        S5      e[         R                  nU[         R                  :w  a  [        R"                  " U5      nU[         R                  :X  a  [!        S5      eU R                  R                  R$                  [        R&                  -  (       a#  U=R$                  [        R(                  -  sl        [+        [        R,                  " UR.                  U5      5        ON[        R0                  UR.                  l        U[         R                  :w  a  UR                  UR.                  l        Sn	U[         R                  :w  a  [7        XS5      n	[9        XU	5      n
U R:                  R=                  U
5        U(       a  U
R>                  RA                  U5        U
$ )a  add_data_stream(codec_name=None)

Creates a new data stream and returns it.

:param codec_name: Optional name of the data codec (e.g. 'klv')
:type codec_name: str | None
:param dict options: Stream options.
:rtype: The new :class:`~av.data.stream.DataStream`.
NzUnknown data codec: rZ   r[   r   z Could not allocate codec context)!r   r   r   r   r   r   r   rg   re   rd   r7   r8   rf   rh   ri   rj   r   rk   r9   r   r   r   r   r"   r   r   r   r   r   r2   r   rV   r   )r)   r   rV   r   r   r   r   r   r   r   r   s              r&   add_data_streamOutputContainer.add_data_stream  s_    <B;;KK 	 !&0&7&7&9445EFE#889IJ##&#E#EFV#W #v{{2$';J<%HII $)FKK#7uxx=M=P=PH++  (C,D,D  !{{''**CJ>QWX 
 03/F/FtxxQV/WV[[ 9:: 39++FKK,,U3Cfkk!!"DEE xx%%(>(>>		S<<<	 c99&//3OP *-)>)>FOO&6;;.+;+>+>( 15&++1#dC'6FG		*$$W-r(   c                    U R                   S-  (       a  g[        5       nU R                   H  nUR                  nUb  UR                  (       d  U R
                  R                  5        H   u  pEUR
                  R                  XE5        M"     UR                  S-  (       dE  UR                  5         U R
                   H%  nXCR
                  ;  d  M  UR                  U5        M'     UR                  5         M     [        R                  " U R                  c  U R                  OS5      nUnU R                   R"                  [$        R&                  :X  a  U R                   R(                  R*                  [,        R.                  -  (       dW  [1        [,        R2                  " [$        R4                  " U R                   R"                  5      U[,        R6                  5      5        [9        [$        R4                  " U R                   R:                  5      U R:                  U R<                  U R>                  S9  [A        U R
                  U RB                  5      nURE                  5       n	U R1                  [,        RF                  " U R                   [$        R4                  " U	R                   5      5      5        U H  nXI;  d  M
  UR                  U5        M     U R
                  R                  5        VVs0 s H  u  pEXA;  d  M  XE_M     n
nnU
(       a-  SSK$nURK                  [L        5      nURO                  SU
 35        U =R                   S-  sl         gs  snnf )z,Write the file header! Called automatically.r,   Nr    )encodingerrorsr   zSome options were not used: )(r3   setr2   r   is_openrV   r   
setdefaultr   openadd_finalize_for_outputosfsencoder4   ri   r7   r<   r   r   r8   r9   r   r:   r   	avio_openr!   AVIO_FLAG_WRITEr   r   metadata_encodingmetadata_errorsr
   container_optionscopyavformat_write_headerlogging	getLogger__name__warning)r)   used_optionsr   r   r   r   name_objri   all_optionsrV   unused_optionsr   logs                r&   start_encodingOutputContainer.start_encoding  s^    <<!  E llF&&Cs{{ LL..0DAKK**10 1 )HHJ "\\KK/(,,Q/ * '') #" ++4993Ddii"M&88;;&++%dhh.>.>.D.DsGWGW.WfnnTXX[[94ATATU
 	NN488,,-MM++''		
 #-T\\4;Q;Q"R)..0s006>>'++;VWX A  #  "\\//1
1TQQ5JDAD1 	 
 ##H-CKK6~6FGH
s   .M=Mc                    [        5       n[        R                  n[        R                  n [        R                  " [        R
                  " U5      5      nU[        R                  :X  a   U$ [        R                  " U R                  R                  UR                  [        R                  5      S:X  a  UR                  UR                  5        M  )z3
Returns a set of all codecs this format supports.
r   )r   r   r   r   av_codec_iterater!   rd   r7   r8   re   rf   r   ri   )r)   resultr   r   s       r&   supported_codecs OutputContainer.supported_codecs(  s    
 e;A;; &(()?@E#  ((HH$$ehh0H0H 
 

5::& r(   c                 j    [         R                  " U R                  R                  R                  5      $ )z<
Returns the default video codec this container recommends.
)r   avcodec_get_namerh   optrvideo_codecrN   s    r&   default_video_codec#OutputContainer.default_video_codec@  %    
 ##DKK$4$4$@$@AAr(   c                 j    [         R                  " U R                  R                  R                  5      $ )z<
Returns the default audio codec this container recommends.
)r   r   rh   r   audio_codecrN   s    r&   default_audio_codec#OutputContainer.default_audio_codecG  r   r(   c                 j    [         R                  " U R                  R                  R                  5      $ )z?
Returns the default subtitle codec this container recommends.
)r   r   rh   r   subtitle_codecrN   s    r&   default_subtitle_codec&OutputContainer.default_subtitle_codecN  s%    
 ##DKK$4$4$C$CDDr(   c                     [        U 5        g rD   rM   rN   s    r&   closeOutputContainer.closeU  rQ   r(   c                     [        U[        5      (       a  U R                  U5        g U H  nU R                  U5        M     g rD   )
isinstancer   mux_one)r)   packetsr>   s      r&   muxOutputContainer.muxX  s3     gv&&LL!!V$ "r(   r>   c                 |    U R                   S-  (       d  U R                  U5      (       a  g U R                  U5        g )Nr,   )r3   _buffer_for_extradatar1   )r)   r>   s     r&   r   OutputContainer.mux_onea  s-    q d&@&@&H&Hfr(   c                    U R                  5         UR                  R                  S:  dQ  [        R                  " [        R
                  UR                  R                  5      U R                  R                  :  a  [        S5      eU R                  R                  UR                  R                     nUR                  UR                  5        U R                  [        R                  " U R                  UR                  5      5        [        R                     [        R                   " U R                  U R                  5      nS S S 5        U R                  W5        g ! , (       d  f       N = f)Nr   zBad Packet stream_index.)r   r7   stream_indexr   r   uint
nb_streamsrg   r2   _rebase_timer`   r   r   av_packet_refr/   rF   av_interleaved_write_frame)r)   r>   r   rets       r&   r1   OutputContainer._mux_oneg  s     JJ##a'{{6;;

(?(?@DHHDWDWW788/3xx/?/?

@W@W/XF,,- 	s((&**EF\\!<<TXXtWC s \s   ,E
E-c                    U R                   S-  (       d  U =R                   S-  sl         U R                  R                  R                  [        R
                  -  (       a  U R                   Hq  nUR                  c2  UR                  R                  R                  [        R                  :w  a  MD   [        SUS9nX0R                  UR                  R                  '   Ms     U R                  (       d  gU R!                  U5        U R"                  R%                  U5        U R                  (       a  gU R"                  n/ U l        U H  nU R'                  U5        M     g! [         a     GM  f = f)zBuffer ``packet`` until extradata is known for all mux streams that
need it. Returns True if the packet was buffered (caller should stop).   extract_extradata)	in_streamFT)r3   r7   r8   r9   r   r   r2   r   r"   r#   r   r   r   	ExceptionrE   index_try_extract_extradatar0   appendr1   )r)   r>   r   bsfr=   buffered_packets         r&   r   %OutputContainer._buffer_for_extradata}  s"    r!LLBLxx%%(>(>>"llF,,8!::..88FKKG !4/6
 >A(()9)9: + ####F+%%f- //!#'OMM/*  (% % ! !s   1
E
E.-E.c                 b   UR                   R                  nX R                  ;  a  g U R                  U   nUR                   n[        R                  " 5       nU[
        R                  :X  a  [        S5      eSn [        R                  " XQR                   5      S:  a9   [        R                  " [
        R                  " U5      5        U R                  U	 g [        R                  " XE5      S:  aO  [        R                  " U5         [        R                  " [
        R                  " U5      5        U R                  U	 g [        R                  " XE5      S:X  a  [        R                  " U[        R                  [
        R                  " U5      5      nU[
        R                  :w  ad  US:  a^  [!        U R                   R"                  U   U[
        R$                  " [
        R&                  U5      5        [        R                  " U5        O2[        R                  " U5        [        R                  " XE5      S:X  a  M  [        R                  " [
        R                  " U5      5        U R                  U	 g ! [        R                  " [
        R                  " U5      5        U R                  U	 f = f)NzCould not allocate packetr   )r7   r  rE   r   rG   r   r   r   r  rS   r!   av_bsf_send_packetav_packet_unrefav_bsf_receive_packetav_packet_get_side_dataAV_PKT_DATA_NEW_EXTRADATAr'   r2   r   r{   )r)   r>   idxbsf_wrapperr  tmpr   sds           r&   r  &OutputContainer._try_extract_extradata  s    **11***.2.B.B3.G0;,/,?,?,A&++9::	*  jj1A5* v~~c23 $$S)/ %%c/!3##C(" v~~c23 $$S)! ++C5:0066t8L $+((-r6;;vzz43P '',##C( ++C5: v~~c23 $$S)	 v~~c23 $$S)s   9$I5 0I5 ?C<I5 59J.)r0   rE   r/   r2   )NNNrD   )NN)$r   
__module____qualname____firstlineno__rJ   rO   rT   r   r   r   strr   r   boolr   r   bytesr   r   r   ccallr   propertyr   r   r   r   r   r   r   r   cfuncr1   r   r  __static_attributes__ r(   r&   rA   rA   B   s   4@ #"&p 	p
 4pdK Kf K\ 7;CC(,tCJ	B&3 &# &U &PEt EN \\> >@  . B B B B E E%f  \\v  * \\#F # #J \\**V ** **r(   rA   )+r   r   cython.cimportsr   r   cython.cimports.av.bitstreamr   cython.cimports.av.codec.codecr    cython.cimports.av.codec.contextr   r    cython.cimports.av.codec.hwaccelr   $cython.cimports.av.container.streamsr	   cython.cimports.av.dictionaryr
   cython.cimports.av.errorr   cython.cimports.av.packetr   cython.cimports.av.streamr   r   cython.cimports.av.utilsr   r   cython.cimports.libc.stdintr   cython.cimports.libc.stringr   r   r(  rw   AVStreamr{   r'   rA   r?   finalcclass	Containerr*  r(   r&   <module>r<     s    	  ( ? 0 M 4 @ 4 . , 9 B / 6 *NN3<<(*
..
!* *** *&   4 J
*i J
*  J
*r(   