§
    ÜóÉj+„  ã            	       ó–  — d dl mZ d dlmZmZmZ d dlZd dlmZ	 d dl
mZmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlmZmZ d dl m!Z!  ej"        e# e#¦   «         ¦  «        Z$ej%        dej&        e	j'                 dej&        ej(        e	j)                          de*de+fd„¦   «         Z, G d„ de¦  «        Z- G d„ de¦  «        Z. G d„ de¦  «        Z/ G d„ de¦  «        Z0 G d„ de¦  «        Z1 edd¬¦  «         G d „ d!¦  «        ¦   «         Z2 edd¬¦  «         G d"„ d#¦  «        ¦   «         Z3 edd¬¦  «         G d$„ d%¦  «        ¦   «         Z4ej%        d&ej5        d'ej&        ej(        ej6                          fd(„¦   «         Z7ej%        d&ej5        fd)„¦   «         Z8ej9         G d*„ d+¦  «        ¦   «         Z+dS ),é    )Ú	dataclass)ÚFlagÚIntEnumÚIntFlagN)Úlibav)Ú
ByteSourceÚ
bytesource)ÚCodecÚ
wrap_codec)Ú
Dictionary)Ú	err_check)ÚPacket)Úavrational_to_fractionÚto_avrational)ÚEAGAIN)Úuint8_t)ÚmemcpyÚstrcmp)ÚInvalidDataErrorÚc_ctxÚc_codecÚhwaccelÚreturnc                 ód  — | j         t          j        k    rddlm}  |t
          ¦  «        }nl| j         t          j        k    rddlm}  |t
          ¦  «        }n@| j         t          j	        k    rddl
m}  |t
          ¦  «        }nt          t
          ¦  «        }|                     | ||¦  «         |S )z8Build an bv.CodecContext for an existing AVCodecContext.r   )ÚVideoCodecContext)ÚAudioCodecContext)ÚSubtitleCodecContext)Ú
codec_typeÚlibÚAVMEDIA_TYPE_VIDEOÚav.video.codeccontextr   Ú_cinit_sentinelÚAVMEDIA_TYPE_AUDIOÚav.audio.codeccontextr   ÚAVMEDIA_TYPE_SUBTITLEÚav.subtitles.codeccontextr   ÚCodecContextÚ_init)r   r   r   r   Úpy_ctxr   r   s          úu/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/av/codec/context.pyÚwrap_codec_contextr+      sË   € ð Ô�3Ô1Ò1Ð1Ø;Ð;Ð;Ð;Ð;Ð;à"Ð"¥?Ñ3Ô3ˆˆØ	Ô	�SÔ3Ò	3Ð	3Ø;Ð;Ð;Ð;Ð;Ð;à"Ð"¥?Ñ3Ô3ˆˆØ	Ô	�SÔ6Ò	6Ð	6ØBÐBÐBÐBÐBÐBà%Ð%¥oÑ6Ô6ˆˆå�oÑ.Ô.ˆà
‡L‚L�˜ Ñ)Ô)Ð)à€Mó    c                   ól   — e Zd ZU dZej        Zded<   ej        Z	ded<   ej        ej        z  Z
ded<   dS )	Ú
ThreadTyper   z"Decode more than one frame at onceÚFRAMEz3Decode more than one part of a single frame at onceÚSLICEz*Decode using both FRAME and SLICE methods.ÚAUTON)Ú__name__Ú
__module__Ú__qualname__ÚNONEr   ÚFF_THREAD_FRAMEr/   Ú__annotations__ÚFF_THREAD_SLICEr0   r1   © r,   r*   r.   r.   2   sh   € € € € € € Ø€DØ25Ô2E€EÐ/ÐEÐEÑEØCFÔCV€EÐ@ÐVÐVÑVàÔ˜cÔ1Ñ1ð 	Ð
6ð ð ñ ð ð r,   r.   c                   ó&  — e Zd Zej        Zej        Zej        Z	ej
        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej         Z!ej"        Z#ej$        Z%ej&        Z'ej(        Z)ej*        Z+dS )ÚFlagsN),r2   r3   r4   r   ÚAV_CODEC_FLAG_UNALIGNEDÚ	unalignedÚAV_CODEC_FLAG_QSCALEÚqscaleÚAV_CODEC_FLAG_4MVÚfour_mvÚAV_CODEC_FLAG_OUTPUT_CORRUPTÚoutput_corruptÚAV_CODEC_FLAG_QPELÚqpelÚAV_CODEC_FLAG_RECON_FRAMEÚrecon_frameÚAV_CODEC_FLAG_COPY_OPAQUEÚcopy_opaqueÚAV_CODEC_FLAG_FRAME_DURATIONÚframe_durationÚAV_CODEC_FLAG_PASS1Úpass1ÚAV_CODEC_FLAG_PASS2Úpass2ÚAV_CODEC_FLAG_LOOP_FILTERÚloop_filterÚAV_CODEC_FLAG_GRAYÚgrayÚAV_CODEC_FLAG_PSNRÚpsnrÚAV_CODEC_FLAG_INTERLACED_DCTÚinterlaced_dctÚAV_CODEC_FLAG_LOW_DELAYÚ	low_delayÚAV_CODEC_FLAG_GLOBAL_HEADERÚglobal_headerÚAV_CODEC_FLAG_BITEXACTÚbitexactÚAV_CODEC_FLAG_AC_PREDÚac_predÚAV_CODEC_FLAG_INTERLACED_MEÚinterlaced_meÚAV_CODEC_FLAG_CLOSED_GOPÚ
closed_gopr9   r,   r*   r;   r;   ;   s®   € € € € € ØÔ+€IØÔ%€FØÔ#€GØÔ5€NØÔ!€DØÔ/€KØÔ/€KØÔ5€NØÔ#€EØÔ#€EØÔ/€KØÔ!€DØÔ!€DØÔ5€NØÔ+€IØÔ3€MØÔ)€HØÔ'€GØÔ3€MØÔ-€J€J€Jr,   r;   c                   óŒ   — e Zd Zej        Zej        Zej        Z	ej
        Zej        Zej        Zej        Zej        Zej        ZdS )ÚFlags2N)r2   r3   r4   r   ÚAV_CODEC_FLAG2_FASTÚfastÚAV_CODEC_FLAG2_NO_OUTPUTÚ	no_outputÚAV_CODEC_FLAG2_LOCAL_HEADERÚlocal_headerÚAV_CODEC_FLAG2_CHUNKSÚchunksÚAV_CODEC_FLAG2_IGNORE_CROPÚignore_cropÚAV_CODEC_FLAG2_SHOW_ALLÚshow_allÚAV_CODEC_FLAG2_EXPORT_MVSÚ
export_mvsÚAV_CODEC_FLAG2_SKIP_MANUALÚskip_manualÚAV_CODEC_FLAG2_RO_FLUSH_NOOPÚro_flush_noopr9   r,   r*   re   re   R   sV   € € € € € ØÔ"€DØÔ,€IØÔ2€LØÔ&€FØÔ0€KØÔ*€HØÔ.€JØÔ0€KØÔ4€M€M€Mr,   re   c                   ó&  — e Zd Zej        Zej        Zej        Z	ej
        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej         Z!ej"        Z#ej$        Z%ej&        Z'ej(        Z)ej*        Z+dS )Ú
OptionTypeN),r2   r3   r4   r   ÚAV_OPT_TYPE_FLAGSÚFLAGSÚAV_OPT_TYPE_INTÚINTÚAV_OPT_TYPE_INT64ÚINT64ÚAV_OPT_TYPE_DOUBLEÚDOUBLEÚAV_OPT_TYPE_FLOATÚFLOATÚAV_OPT_TYPE_STRINGÚSTRINGÚAV_OPT_TYPE_RATIONALÚRATIONALÚAV_OPT_TYPE_BINARYÚBINARYÚAV_OPT_TYPE_DICTÚDICTÚAV_OPT_TYPE_UINT64ÚUINT64ÚAV_OPT_TYPE_CONSTÚCONSTÚAV_OPT_TYPE_IMAGE_SIZEÚ
IMAGE_SIZEÚAV_OPT_TYPE_PIXEL_FMTÚ	PIXEL_FMTÚAV_OPT_TYPE_SAMPLE_FMTÚ
SAMPLE_FMTÚAV_OPT_TYPE_VIDEO_RATEÚ
VIDEO_RATEÚAV_OPT_TYPE_DURATIONÚDURATIONÚAV_OPT_TYPE_COLORÚCOLORÚAV_OPT_TYPE_CHLAYOUTÚCHANNEL_LAYOUTÚAV_OPT_TYPE_BOOLÚBOOLÚAV_OPT_TYPE_UINTÚUINTr9   r,   r*   ry   ry   ^   s®   € € € € € ØÔ!€EØ
Ô
€CØÔ!€EØÔ#€FØÔ!€EØÔ#€FØÔ'€HØÔ#€FØÔ€DØÔ#€FØÔ!€EØÔ+€JØÔ)€IØÔ+€JØÔ+€JØÔ'€HØÔ!€EØÔ-€NØÔ€DØÔ€D€D€Dr,   ry   c                   ó¶   — e Zd Zej        Zej        Zej        Z	ej
        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        ZdS )ÚOptionFlagsN)r2   r3   r4   r   ÚAV_OPT_FLAG_ENCODING_PARAMÚENCODING_PARAMÚAV_OPT_FLAG_DECODING_PARAMÚDECODING_PARAMÚAV_OPT_FLAG_AUDIO_PARAMÚAUDIO_PARAMÚAV_OPT_FLAG_VIDEO_PARAMÚVIDEO_PARAMÚAV_OPT_FLAG_SUBTITLE_PARAMÚSUBTITLE_PARAMÚAV_OPT_FLAG_EXPORTÚEXPORTÚAV_OPT_FLAG_READONLYÚREADONLYÚAV_OPT_FLAG_BSF_PARAMÚBITSTREAM_FILTER_PARAMÚAV_OPT_FLAG_RUNTIME_PARAMÚRUNTIME_PARAMÚAV_OPT_FLAG_FILTERING_PARAMÚFILTERING_PARAMÚAV_OPT_FLAG_DEPRECATEDÚ
DEPRECATEDÚAV_OPT_FLAG_CHILD_CONSTSÚCHILD_CONSTSr9   r,   r*   r£   r£   u   so   € € € € € ØÔ3€NØÔ3€NØÔ-€KØÔ-€KØÔ3€NØÔ#€FØÔ'€HØ Ô6ÐØÔ1€MØÔ5€OØÔ+€JØÔ/€L€L€Lr,   r£   T)ÚfrozenÚslotsc                   ó(   — e Zd ZU dZeed<   eed<   dS )ÚCodecOptionChoicez)A named value accepted by a codec option.ÚnameÚhelpN)r2   r3   r4   Ú__doc__Ústrr7   r9   r,   r*   r¿   r¿   „   s(   € € € € € € à3Ð3à
€I€I�IØ
€I€I�I€I€Ir,   r¿   c                   óŠ   — e Zd ZU dZeed<   eed<   eez  ed<   eed<   edz  ed<   e	ed<   e	ed	<   e
ed
<   eedf         ed<   dS )ÚCodecOptionz2Description of a generic or codec-specific option.rÀ   rÁ   ÚtypeÚis_arrayNÚdefaultÚminÚmaxÚflags.Úchoices)r2   r3   r4   rÂ   rÃ   r7   ry   ÚintÚboolÚfloatr£   Útupler¿   r9   r,   r*   rÅ   rÅ   Œ   s‰   € € € € € € à<Ð<à
€I€I�IØ
€I€I�IØ
�sÑ
ÐÐÑØ€N€N�NØ�4‰ZÐÐÑØ	€J€J�JØ	€J€J�JØÐÐÑØÐ$ cÐ)Ô*Ð*Ð*Ñ*Ð*Ð*r,   rÅ   c                   óH   — e Zd ZU dZeedf         ed<   eedf         ed<   dS )ÚCodecOptionSetz@Generic and codec-specific options supported by a codec context..ÚgenericÚprivateN)r2   r3   r4   rÂ   rÐ   rÅ   r7   r9   r,   r*   rÒ   rÒ   ›   sD   € € € € € € àJÐJà�; Ð#Ô$Ð$Ð$Ñ$Ø�; Ð#Ô$Ð$Ð$Ñ$Ð$Ð$r,   rÒ   ÚobjrÀ   c                 ó8  — t           j        }t          j        | |dt          j        |¦  «        ¦  «        dk     rd S 	 |t           j        k    rt          j        t           j        |¦  «        nd 	 t          j        |¦  «         S # t          j        |¦  «         w xY w©Nr   )ÚcythonÚNULLr   Ú
av_opt_getÚaddressÚcastÚp_charÚav_free)rÕ   rÀ   Úvalues      r*   Ú_get_option_defaultrà   £   sˆ   € õ &,¤[€EÝ
„~�c˜4 ¥F¤N°5Ñ$9Ô$9Ñ:Ô:¸QÒ>Ð>ØˆtðØ49½V¼[Ò4HÐ4H�vŒ{�6œ=¨%Ñ0Ô0Ð0ÈdÐRåŒ�EÑÔÐÐø�Œ�EÑÔÐÐøøøs   ½0B ÂBc                 óÞ  — g }t          j        | t          j        ¦  «        }|t          j        k    �r-|j        t           j        k    �rñg }|j        t          j        k    ràt          j        | t          j        ¦  «        }|t          j        k    r±|j        t           j        k    rw|j        t          j        k    rbt          |j        |j        ¦  «        dk    rD|                     t          |j
        |j        t          j        k    r|j        nd¦  «        ¦  «         t          j        | |¦  «        }|t          j        k    °±t          j        t          j        |j        ¦  «        }t          |t           j        z  ¦  «        }|t           j         z  }	 t!          |¦  «        }n# t"          $ r |}Y nw xY w|                     t%          |j
        |j        t          j        k    r|j        nd||t'          | |j
        ¦  «        |j        |j        t-          |j        ¦  «        t1          |¦  «        ¦	  «	        ¦  «         t          j        | |¦  «        }|t          j        k    �°-t1          |¦  «        S )Nr   Ú )r   Úav_opt_nextrØ   rÙ   rÆ   rŽ   Úunitr   Úappendr¿   rÀ   rÁ   rÜ   rÍ   rÎ   ÚAV_OPT_TYPE_FLAG_ARRAYry   Ú
ValueErrorrÅ   rà   rÉ   rÊ   r£   rË   rÐ   )rÕ   ÚoptionsÚptrrÌ   Ú
choice_ptrÚraw_typerÇ   Úoption_types           r*   Ú_get_supported_optionsrí   °   s&  € à€GÝ69´oÀcÍ6Ì;Ñ6WÔ6W€Cð •”Ò
Ñ
ØŒ8•sÔ,Ò,Ñ,ØˆGØŒx�6œ;Ò&Ð&Ý œ_¨Sµ&´+Ñ>Ô>�
Ø ¥F¤KÒ/Ð/à"œ­3Ô+@Ò@Ð@Ø&œO­v¬{Ò:Ð:Ý" :¤?°C´HÑ=Ô=ÀÒBÐBàŸšÝ-Ø *¤à#-¤?µf´kÒ#AÐ#Að !+¤ à%'ñ	ô ñô ð õ "%¤°°jÑ!AÔ!A�Jð !¥F¤KÒ/Ð/õ  ”{¥6¤:¨s¬xÑ8Ô8ˆHÝ˜H¥sÔ'AÑAÑBÔBˆHØ�Ô3Ð3Ñ3ˆHð'Ý(¨Ñ2Ô2��øÝð 'ð 'ð 'Ø&���ð'øøøð �NŠNÝØ”HØ #¤­F¬KÒ 7Ð 7�C”H�H¸RØØÝ'¨¨S¬XÑ6Ô6Ø”GØ”GÝ ¤	Ñ*Ô*Ý˜'‘N”Nñ
ô 
ñô ð õ Œo˜c 3Ñ'Ô'ˆðU •”Ò
Ñ
õX �‰>Œ>Ðs   ÆF! Æ!F0Æ/F0c                   óð  — e Zd ZedJd„¦   «         ZdKd„Zed„ ¦   «         Zej	        dej
        ej                 dej
        ej        ej                          defd„¦   «         Zej	        d	„ ¦   «         Zed
„ ¦   «         Zej        dej        fd„¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zej        dej        fd„¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zej        dLdej        fd„¦   «         Zd„ Zd„ Z dKd„Z!ed„ ¦   «         Z"de#dz  fd „Z$ej	        d!ej%        fd"„¦   «         Z&ej	        de#dz  d!e'fd#„¦   «         Z(ej	        d!e#fd$„¦   «         Z)ej	        d%„ ¦   «         Z*ej	        de#fd&„¦   «         Z+ej	        d'„ ¦   «         Z,ej	        de#fd(„¦   «         Z-ej        dKde#dz  fd)„¦   «         Z.dKde#dz  fd*„Z/ej	        d+e0fd,„¦   «         Z1ej        dKd+e0dz  fd-„¦   «         Z2ej	        d+e0dz  fd.„¦   «         Z3ej        d/„ ¦   «         Z4ej	        de#d+e0dz  fd0„¦   «         Z5ed1„ ¦   «         Z6ed2„ ¦   «         Z7ed3„ ¦   «         Z8ed4„ ¦   «         Z9e9j        d5„ ¦   «         Z9ed6„ ¦   «         Z:e:j        dej        fd7„¦   «         Z:ed8„ ¦   «         Z;e;j        d9„ ¦   «         Z;ed:„ ¦   «         Z<e<j        d;„ ¦   «         Z<e ej=        d¦  «        d<„ ¦   «         ¦   «         Z>e>j        dej        fd=„¦   «         Z>ed>„ ¦   «         Z?e?j        dej@        fd?„¦   «         Z?ed@„ ¦   «         ZAedA„ ¦   «         ZBeBj        dej        fdB„¦   «         ZBedC„ ¦   «         ZCeCj        dej        fdD„¦   «         ZCedE„ ¦   «         ZDeDj        dF„ ¦   «         ZDedG„ ¦   «         ZEeEj        dH„ ¦   «         ZEedI„ ¦   «         ZFdS )Mr'   Nc                 ó®   — t          | t          ¦  «        r| nt          | |¦  «        }t          j        |j        ¦  «        }t          ||j        |¦  «        S ©N)Ú
isinstancer
   r   Úavcodec_alloc_context3ré   r+   )ÚcodecÚmoder   Úcy_codecr   s        r*   ÚcreatezCodecContext.createè   sQ   € å#-¨eµUÑ#;Ô#;ÐS˜%˜%ÅÀuÈdÑASÔASˆÝ47Ô4NØŒLñ5
ô 5
ˆõ " %¨¬°wÑ?Ô?Ð?r,   c                 ó`   — |t           urt          d¦  «        ‚i | _        d| _        d| _        d S )NzCannot instantiate CodecContextéÿÿÿÿF)r"   ÚRuntimeErrorrè   Ústream_indexÚis_open)ÚselfÚsentinelÚargsÚkwargss       r*   Ú	__cinit__zCodecContext.__cinit__ð   s6   € Ø�?Ð*Ð*ÝÐ@ÑAÔAÐAàˆŒØˆÔØˆŒˆˆr,   c                 óh  — t          j        | j        j        ¦  «        }g }|t          j        k    rt          d¦  «        ‚	 t          |¦  «        }t          j        |t          j        ¦  «        }|t          j        k    rG| 	                    t          |¦  «        ¦  «         t          j        ||¦  «        }|t          j        k    °Gt          |t          |¦  «        ¦  «        t          j        t	          j        |¦  «        ¦  «         S # t          j        t	          j        |¦  «        ¦  «         w xY w)a  Options supported by this codec context.

        ``generic`` contains options provided by :ffmpeg:`AVCodecContext`, while
        ``private`` contains options provided by the selected codec. Values are
        descriptors only; set options through :attr:`options`.
        zCannot allocate codec context)r   rò   ró   ré   rØ   rÙ   ÚMemoryErrorrí   Úav_opt_child_nextÚextendrÒ   rÐ   Úavcodec_free_contextrÛ   )rü   ÚctxrÔ   rÓ   Úchilds        r*   Úsupported_optionszCodecContext.supported_optionsø   s  € õ 36Ô2LØŒJŒNñ3
ô 3
ˆð ˆØ•&”+ÒÐÝÐ=Ñ>Ô>Ð>ð	:Ý,¨SÑ1Ô1ˆGÝÔ)¨#­v¬{Ñ;Ô;ˆEØ�6œ;Ò&Ð&Ø—’Õ5°eÑ<Ô<Ñ=Ô=Ð=ÝÔ-¨c°5Ñ9Ô9�ð �6œ;Ò&Ð&õ " '­5°©>¬>Ñ:Ô:åÔ$¥V¤^°CÑ%8Ô%8Ñ9Ô9Ð9Ð9ø�CÔ$¥V¤^°CÑ%8Ô%8Ñ9Ô9Ð9Ð9øøøs   ÁB!D	 Ä	(D1ré   ró   r   c                 ó  — || _         | j         j        r!|r| j         j        |k    rt          d¦  «        ‚t          |t          j        k    r|n| j         j        ¦  «        | _        || _        d| j         _        d| j         _        d S )Nz,Wrapping CodecContext with mismatched codec.r   é   )	ré   ró   rù   r   rØ   rÙ   r   Úthread_countÚthread_type)rü   ré   ró   r   s       r*   r(   zCodecContext._init  sƒ   € ð ˆŒØŒ8Œ>ð 	O˜eð 	O¨¬¬¸%Ò(?Ð(?ÝÐMÑNÔNÐNÝ¨µ&´+Ò)=Ð)=  À4Ä8Ä>ÑRÔRˆŒ
ØˆŒð !"ˆŒÔØ#ˆŒÔÐÐr,   c                 ó:   — | j         rt          d|› d�¦  «        ‚d S )NzCannot change z after codec is open.)rû   rù   )rü   rÀ   s     r*   Ú_assert_not_openzCodecContext._assert_not_open"  s3   € àŒ<ð 	MÝÐK°ÐKÐKÐKÑLÔLÐLð	Mð 	Mr,   c                 ó   — | j         j        S )zU
        Get and set the flags bitmask of CodecContext.

        :rtype: int
        ©ré   rË   ©rü   s    r*   rË   zCodecContext.flags'  ó   € ð ŒxŒ~Ðr,   rß   c                 ó   — || j         _        d S rð   r  ©rü   rß   s     r*   rË   zCodecContext.flags0  ó   € àˆŒŒˆˆr,   c                 óN   — t          | j        j        t          j        z  ¦  «        S )z9
        Use fixed qscale.

        :rtype: bool
        )rÎ   ré   rË   r   r>   r  s    r*   r?   zCodecContext.qscale4  s   € õ �D”H”N¥SÔ%=Ñ=Ñ>Ô>Ð>r,   c                 óŒ   — |r!| j         xj        t          j        z  c_        d S | j         xj        t          j         z  c_        d S rð   )ré   rË   r   r>   r  s     r*   r?   zCodecContext.qscale=  s?   € àð 	8ØŒHˆNŒN�cÔ6Ñ6ˆNŒNˆNˆNàŒHˆNŒN�sÔ7Ð7Ñ7ˆNŒNˆNˆNr,   c                 óN   — t          | j        j        t          j        z  ¦  «        S rð   )rÎ   ré   rË   r   rH   r  s    r*   rI   zCodecContext.copy_opaqueD  s   € å�D”H”N¥SÔ%BÑBÑCÔCÐCr,   c                 óŒ   — |r!| j         xj        t          j        z  c_        d S | j         xj        t          j         z  c_        d S rð   )ré   rË   r   rH   r  s     r*   rI   zCodecContext.copy_opaqueH  s?   € àð 	=ØŒHˆNŒN�cÔ;Ñ;ˆNŒNˆNˆNàŒHˆNŒN�sÔ<Ð<Ñ<ˆNŒNˆNˆNr,   c                 ó   — | j         j        S )zV
        Get and set the flags2 bitmask of CodecContext.

        :rtype: int
        ©ré   Úflags2r  s    r*   r  zCodecContext.flags2O  s   € ð ŒxŒÐr,   c                 ó   — || j         _        d S rð   r  r  s     r*   r  zCodecContext.flags2X  s   € àˆŒŒˆˆr,   c                 ó  — | j         t          j        u rd S | j         j        dk    r^t          j        t
          t          j        t          j        t                   | j         j        ¦  «        d | j         j        …         ¦  «        S d S r×   )	ré   rØ   rÙ   Úextradata_sizerÜ   ÚbytesÚpointerr   Ú	extradatar  s    r*   r"  zCodecContext.extradata\  sq   € àŒ8•v”{Ð"Ð"Ø�4ØŒ8Ô" QÒ&Ð&Ý”;ÝÝ”�FœN­7Ô3°T´XÔ5GÑHÔHØ-�d”hÔ-Ð-ôñô ð ð ˆtr,   c                 óF  — |€>t          j        t          j        | j        j        ¦  «        ¦  «         d| j        _        d S t          |¦  «        }t          j        t          j	        t                   t          j        | j        j        |j        t           j        z   ¦  «        ¦  «        | j        _        | j        j        st          d¦  «        ‚t          | j        j        |j        |j        ¦  «         t          j        t          j        |j        ¦  «        | j        _        d S )Nr   zCannot allocate extradata)r   Úav_freeprØ   rÛ   ré   r"  r  r	   rÜ   r!  r   Ú
av_reallocÚlengthÚAV_INPUT_BUFFER_PADDING_SIZEr  r   rÍ   )rü   ÚdataÚsources      r*   r"  zCodecContext.extradatai  sß   € àˆ<ÝŒL�œ¨¬Ô(:Ñ;Ô;Ñ<Ô<Ð<Ø&'ˆDŒHÔ#Ð#Ð#å Ñ%Ô%ˆFÝ!'¤Ý”�wÔ'Ý”Ø”HÔ&¨¬½Ô8XÑ(Xñô ñ"ô "ˆDŒHÔð ”8Ô%ð ?Ý!Ð"=Ñ>Ô>Ð>Ý�4”8Ô% v¤z°6´=ÑAÔAÐAÝ&,¤kµ&´*¸f¼mÑ&LÔ&LˆDŒHÔ#Ð#Ð#r,   c                 ó   — | j         j        S rð   )ré   r  r  s    r*   r  zCodecContext.extradata_size{  s   € àŒxÔ&Ð&r,   c                 óh   — | j         t          j        u rdS t          j        | j         j        ¦  «        S ©NF)ré   rØ   rÙ   r   Úav_codec_is_encoderró   r  s    r*   Ú
is_encoderzCodecContext.is_encoder  ó+   € àŒ8•v”{Ð"Ð"Ø�5ÝÔ& t¤x¤~Ñ6Ô6Ð6r,   c                 óh   — | j         t          j        u rdS t          j        | j         j        ¦  «        S r,  )ré   rØ   rÙ   r   Úav_codec_is_decoderró   r  s    r*   Ú
is_decoderzCodecContext.is_decoder…  r/  r,   TÚstrictc           	      óX  — | j         r|rt          d¦  «        ‚d S t          ¦   «         }|                     | j        pi ¦  «         | j        j        j        sÅ| j        r¾| j	        dk    rO| j        j
        j        pd| j        j        _        | j        j
        j        pt          j        | j        j        _        nd| j	        dk    r-d| j        j        _        | j        j        | j        j        _        n,d| j        j        _        t          j        | j        j        _        |                      ¦   «          t!          t          j        | j        | j        j        t'          j        |j        ¦  «        ¦  «        d| j        j        › d| j        › d�¦  «         d| _         t-          |¦  «        | _        d S )	NzCodecContext is already open.Úvideoé   Úaudiozavcodec_open2("z", ú)T)rû   rç   r   Úupdaterè   ré   Ú	time_baseÚnumr.  rÆ   Ú	framerateÚdenr   ÚAV_TIME_BASEÚsample_rateÚ_setup_encode_hwframesr   Úavcodec_open2ró   rØ   rÛ   rÀ   Údict)rü   r3  rè   s      r*   ÚopenzCodecContext.open‹  su  € àŒ<ð 	Øð BÝ Ð!@ÑAÔAÐAØˆFå(™lœlˆØ�Š�t”|Ð) rÑ*Ô*Ð*àŒxÔ!Ô%ð 		:¨$¬/ð 		:ØŒy˜GÒ#Ð#Ø)-¬Ô);Ô)?Ð)DÀ1�”Ô"Ô&Ø)-¬Ô);Ô)?Ð)SÅ3ÔCS�”Ô"Ô&Ð&Ø”˜gÒ%Ð%Ø)*�”Ô"Ô&Ø)-¬Ô)=�”Ô"Ô&Ð&à)*�”Ô"Ô&Ý),Ô)9�”Ô"Ô&à×#Ò#Ñ%Ô%Ð%åÝÔ˜dœh¨¬
¬½¼ÀwÄ{Ñ8SÔ8SÑTÔTØA˜dœjœoÐAÐA°$´,ÐAÐAÐAñ	
ô 	
ð 	
ð ˆŒÝ˜G‘}”}ˆŒˆˆr,   c                 ó  — | j         r[t          j        t          j        | j         j        ¦  «        ¦  «         t          j        t          j        | j         ¦  «        ¦  «         | j        rt          j        | j        ¦  «         d S d S rð   )	ré   r   r$  rØ   rÛ   r"  r  ÚparserÚav_parser_closer  s    r*   Ú__dealloc__zCodecContext.__dealloc__©  su   € ØŒ8ð 	?ÝŒL�œ¨¬Ô(:Ñ;Ô;Ñ<Ô<Ð<ÝÔ$¥V¤^°D´HÑ%=Ô%=Ñ>Ô>Ð>ØŒ;ð 	-ÝÔ ¤Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r,   c           
      ót   — | j         pd}| j        pd}d| j        j        › d|› d|› dt	          | ¦  «        d›d�	S )	Nz<notype>z	<nocodec>z<av.ú ú/z at 0xÚxú>)rÆ   rÀ   Ú	__class__r2   Úid)rü   Ú_typerÀ   s      r*   Ú__repr__zCodecContext.__repr__°  sQ   € Ø”	Ð'˜ZˆØŒyÐ'˜KˆØQ�d”nÔ-ÐQÐQ°ÐQÐQ¸ÐQÐQÅBÀtÁHÄHÐQÐQÐQÐQÐQr,   c                 ó>  — | j         sKt          j        | j        j        j        ¦  «        | _         | j         st          d| j        j        › �¦  «        ‚t          |d¬¦  «        }|�|j        nt          j
        }|�$t          j        t          j        |j        ¦  «        nd}d}g }	 t          j        5  t          j        | j         | j        t          j        |¦  «        t          j        |¦  «        ||t          j        t          j        d¦	  «	        }	ddd¦  «         n# 1 swxY w Y   t%          |	¦  «         |rÒt'          |¦  «        }t)          |j        j        ||¦  «         | j         j        |j        _        | j         j        |j        _        | j         j        |j        _        | j         j        r| j         j        |j        _        | j         j        dk    r|j        xj        t          j        z  c_        |                     |¦  «         |sn||	z  }||	z  }|sn�Œw|S )aN  Split up a byte stream into list of :class:`.Packet`.

        This is only effectively splitting up a byte stream, and does no
        actual interpretation of the data.

        It will return all packets that are fully contained within the given
        input, and will buffer partial packets until they are complete.

        Any timing information the parser is able to infer (``pts``, ``dts``,
        ``duration``, ``pos`` and the keyframe flag) is assigned onto the
        returned packets. Fields the parser cannot determine are left unset.

        :param ByteSource raw_input: A chunk of a byte-stream to process.
            Anything that can be turned into a :class:`.ByteSource` is fine.
            ``None`` or empty inputs will flush the parser's buffers.

        :return: ``list`` of :class:`.Packet` newly available.

        zNo parser for T)Ú
allow_noneNr   r6  )rE  r   Úav_parser_initró   ré   rN  rç   rÀ   r	   rØ   rÙ   rÜ   rÍ   r&  ÚnogilÚav_parser_parse2rÛ   ÚAV_NOPTS_VALUEr   r   r   r(  ÚptsÚdtsÚposÚdurationÚ	key_framerË   ÚAV_PKT_FLAG_KEYrå   )
rü   Ú	raw_inputr)  Úin_dataÚin_sizeÚpacketÚpacketsÚout_dataÚout_sizeÚconsumeds
             r*   ÚparsezCodecContext.parseµ  sB  € ð* Œ{ð 	EÝÔ,¨T¬Z¬^Ô->Ñ?Ô?ˆDŒKØ”;ð EÝ Ð!C°$´*´/Ð!CÐ!CÑDÔDÐDå'¨	¸dÐCÑCÔCˆà06Ð0B &¤* *ÍÌˆà6<Ð6H�FŒK�œ
 F¤MÑ2Ô2Ð2Èað 	ð ˆØˆð3	Ý”ð ð ÝÔ/Ø”KØ”HÝ”N 8Ñ,Ô,Ý”N 8Ñ,Ô,ØØÝÔ&ÝÔ&Øñ
ô 
�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �hÑÔÐàð 'õ   Ñ)Ô)�Ý�v”z”¨°(Ñ;Ô;Ð;ð "&¤¤�”
”Ø!%¤¤�”
”Ø!%¤¤�”
”Ø”;Ô'ð ?Ø*.¬+Ô*>�F”JÔ'Ø”;Ô(¨AÒ-Ð-Ø”JÐ$Ô$­Ô(;Ñ;Ð$Ô$à—’˜vÑ&Ô&Ð&àð àà�xÑˆGØ�xÑˆGàð Øñg3	ðj ˆs   Â2ADÄD!Ä$D!c                 ó   — | j         duS )zf
        Returns ``True`` if this codec context is hardware accelerated, ``False`` otherwise.
        N)Úhwaccel_ctxr  s    r*   Ú
is_hwaccelzCodecContext.is_hwaccel  s   € ð
 Ô tÐ+Ð+r,   Úframec              #   ó0  K  — t           j        5  t          j        | j        |�|j        nt           j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «         |                      ¦   «         }|r|V — |                      ¦   «         }|°d S d S )Nzavcodec_send_frame())rØ   rT  r   Úavcodec_send_frameré   rÙ   r   Ú_recv_packet©rü   ri  Úresr`  s       r*   Ú_send_frame_and_recvz!CodecContext._send_frame_and_recv  sï   è è € õ Œ\ð 	ð 	ÝÔ(Ø” uÐ'8˜%œ)˜)½f¼kñô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	�#Ð-Ñ.Ô.Ð.à×"Ò"Ñ$Ô$ˆØð 	)ØˆLˆLˆLØ×&Ò&Ñ(Ô(ˆFð ð 	)ð 	)ð 	)ð 	)ð 	)s   �.A	Á	AÁAr   c                 óÎ  — | j         �| j        sd S | j        j        rd S | j         j        j        j        }t          j        t          j	        | j        j
        ¦  «        }|t          j        k    r)t          j        t          j	        | j        j        ¦  «        }||k    s|t          j        k    rt          j        d¦  «        }t          j        | j         j        ¦  «        }|t          j        k    rt          d¦  «        ‚	 t          j        t          j        t          j                 |j        ¦  «        }||_        ||_        | j        j        |_        | j        j        |_        d|_        t1          t          j        |¦  «        ¦  «         n5# t4          $ r( t          j        t          j        |¦  «        ¦  «         ‚ w xY w|| j        _        || j        _
        || j        _        d S )Ns   nv12zav_hwframe_ctx_alloc() failedé    )rg  r.  ré   Úhw_frames_ctxÚconfigÚpix_fmtrØ   rÜ   r   ÚAVPixelFormatÚ
sw_pix_fmtÚAV_PIX_FMT_NONEÚav_get_pix_fmtÚav_hwframe_ctx_allocrÙ   r  r!  ÚAVHWFramesContextr(  ÚformatÚ	sw_formatÚwidthÚheightÚinitial_pool_sizer   Úav_hwframe_ctx_initÚ	ExceptionÚav_buffer_unrefrÛ   )rü   Ú	hw_formatr|  Ú
frames_refÚ
frames_ctxs        r*   r@  z#CodecContext._setup_encode_hwframes(  s¼  € ð ÔÐ#¨4¬?Ð#ØˆFØŒ8Ô!ð 	ØˆFà'+Ô'7Ô'>Ô'BÔ'Jˆ	Ý'-¤{ÝÔ˜tœxÔ2ñ(
ô (
ˆ	ð �Ô+Ò+Ð+Ýœ¥CÔ$5°t´xÔ7GÑHÔHˆIð ˜	Ò!Ð! Yµ#Ô2EÒ%EÐ%EÝÔ*¨7Ñ3Ô3ˆIå69Ô6NØÔÔ ñ7
ô 7
ˆ
ð �œÒ$Ð$ÝÐ=Ñ>Ô>Ð>ð	Ý@FÄÝ”�sÔ4Ô5°z´ñAô AˆJð !*ˆJÔØ#,ˆJÔ Ø#œxœ~ˆJÔØ $¤¤ˆJÔØ+-ˆJÔ(Ý•cÔ-¨jÑ9Ô9Ñ:Ô:Ð:Ð:øÝð 	ð 	ð 	ÝÔ¥¤¨zÑ :Ô :Ñ;Ô;Ð;Øð	øøøð
 ",ˆŒÔØ'ˆŒÔØ$ˆŒÔÐÐs   Ã?BF Æ2F>c                 ó   — |gS rð   r9   ©rü   ri  s     r*   Ú_prepare_frames_for_encodez'CodecContext._prepare_frames_for_encode]  s	   € àˆwˆr,   c                 ó    — t          d¦  «        ‚)Nz Base CodecContext cannot decode.)ÚNotImplementedErrorr  s    r*   Ú_alloc_next_framezCodecContext._alloc_next_framea  s   € å!Ð"DÑEÔEÐEr,   c                 óv  — | j         s|                      ¦   «         | _         | j         }t          j        5  t	          j        | j        |j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   |t           k    s|t          j        k    rd S t          |d¦  «         |  
                    |¦  «        }|s	d | _         |S d S )Nzavcodec_receive_frame())Ú_next_framer‹  rØ   rT  r   Úavcodec_receive_frameré   r   ÚAVERROR_EOFr   Ú_transfer_hwframe)rü   ri  rn  s      r*   Ú_recv_framezCodecContext._recv_framee  s  € àÔð 	8Ø#×5Ò5Ñ7Ô7ˆDÔàÔ'ˆõ Œ\ð 	Að 	AÝÔ+¨D¬H°e´iÑ@Ô@ˆCð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að •6�'Š>ˆ>˜S¥C¤OÒ3Ð3ØˆFå�#Ð0Ñ1Ô1Ð1Ø×&Ò& uÑ-Ô-ˆàð 	Ø#ˆDÔØˆLð	ð 	s   ´ A Á A$Á'A$c                 ó   — |S rð   r9   r‡  s     r*   r�  zCodecContext._transfer_hwframez  s   € àˆr,   c                 ó  — t          ¦   «         }t          j        5  t          j        | j        |j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   |t           k    s|t          j        k    rd S t          |d¦  «         |s|S d S )Nzavcodec_receive_packet())	r   rØ   rT  r   Úavcodec_receive_packetré   r   r�  r   )rü   r`  rn  s      r*   rl  zCodecContext._recv_packet~  s×   € å™œˆõ Œ\ð 	Cð 	CÝÔ,¨T¬X°v´zÑBÔBˆCð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð •6�'Š>ˆ>˜S¥C¤OÒ3Ð3ØˆFå�#Ð1Ñ2Ô2Ð2Øð 	ØˆMð	ð 	s   › AÁAÁAc                 óØ  — | j         j        t          j        t          j        fvrt          d¦  «        ‚| j        s^|�\|j         j        t          j	        k    rB| j         j        t          j	        k    r(t          j
        |j         j        ¦  «        | j         _        |                      d¬¦  «         |                      |¦  «        }|D ]#}|�|                     | j         j        ¦  «         Œ$|S )Nz/Encoding is only supported for audio and video.F©r3  )ré   r   r   r    r#   rŠ  rû   rr  rØ   rÙ   Úav_buffer_refrC  rˆ  Ú_rebase_timer:  )rü   ri  Úframess      r*   Ú*_prepare_and_time_rebase_frames_for_encodez7CodecContext._prepare_and_time_rebase_frames_for_encode�  sÚ   € àŒ8Ô¥sÔ'=½sÔ?UÐ&VÐVÐVÝ%Ð&WÑXÔXÐXð ”ð	PàÐ!Ø”	Ô'­6¬;Ò6Ð6Ø”Ô&­&¬+Ò5Ð5å%(Ô%6°u´yÔ7NÑ%OÔ%OˆDŒHÔ"à�	Š	˜ˆ	ÑÔÐà×0Ò0°Ñ7Ô7ˆð ð 	7ð 	7ˆEØÐ Ø×"Ò" 4¤8Ô#5Ñ6Ô6Ð6øàˆr,   c                 ó¾   — g }|                       |¦  «        D ]D}|                      |¦  «        D ],}|                      |¦  «         |                     |¦  «         Œ-ŒE|S )zAEncode a list of :class:`.Packet` from the given :class:`.Frame`.)rš  ro  Ú_setup_encoded_packetrå   rm  s       r*   ÚencodezCodecContext.encode©  sx   € ð ˆØ×DÒDÀUÑKÔKð 	#ð 	#ˆEØ×3Ò3°EÑ:Ô:ð #ð #�Ø×*Ò*¨6Ñ2Ô2Ð2Ø—
’
˜6Ñ"Ô"Ð"Ð"ð#ð ˆ
r,   c              #   óœ   K  — |                       |¦  «        D ]3}|                      |¦  «        D ]}|                      |¦  «         |V — ŒŒ4d S rð   )rš  ro  rœ  ©rü   ri  r`  s      r*   Úencode_lazyzCodecContext.encode_lazy³  sn   è è € Ø×DÒDÀUÑKÔKð 	ð 	ˆEØ×3Ò3°EÑ:Ô:ð ð �Ø×*Ò*¨6Ñ2Ô2Ð2Ø����ðð	ð 	r,   r`  c                 ó2   — | j         j        |j         _        d S rð   )ré   r:  ©rü   r`  s     r*   rœ  z"CodecContext._setup_encoded_packet¹  s   € ð  $œxÔ1ˆŒ
ÔÐÐr,   c                 ó,   — |                       |¦  «        S )aÛ  Decode a list of :class:`.Frame` from the given :class:`.Packet`.

        If the packet is None, the buffers will be flushed. This is useful if
        you do not want the library to automatically re-order frames for you
        (if they are encoded with a codec that has B-frames).

        .. warning::

            This method is **not thread-safe**. Calling :meth:`decode` concurrently
            from multiple threads on the same :class:`CodecContext` will corrupt
            internal FFmpeg state and likely cause a crash (segfault). FFmpeg 8.1
            enforces this more strictly than earlier releases. If you need to decode
            from multiple threads, give each thread its own :class:`CodecContext`.

        )Ú_decoder¢  s     r*   ÚdecodezCodecContext.decodeÄ  s   € ð" �|Š|˜FÑ#Ô#Ð#r,   c                 óà  — | j         j        st          d¦  «        ‚|                      d¬¦  «         t          j        5  t          j        | j        |�|j        nt          j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «         g }	 	 |  
                    ¦   «         }n# t          $ r |rY n4‚ w xY w|€n,|                      ||¦  «         |                     |¦  «         ŒX|S )Nzcannot decode unknown codecFr–  zavcodec_send_packet())ró   ré   rç   rC  rØ   rT  r   Úavcodec_send_packetrÙ   r   r‘  r   Ú_setup_decoded_framerå   )rü   r`  rn  Úoutri  s        r*   r¤  zCodecContext._decode×  sT  € àŒzŒ~ð 	<ÝÐ:Ñ;Ô;Ð;à�	Š	˜ˆ	ÑÔÐõ Œ\ð 	ð 	ÝÔ)Ø”¨Ð(:˜&œ*˜*ÅÄñô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	�#Ð.Ñ/Ô/Ð/àˆð
	ðØ×(Ò(Ñ*Ô*��øÝ#ð ð ð Øð Ø�EØðøøøð ˆ}ØØ×%Ò% e¨VÑ4Ô4Ð4Ø�JŠJ�uÑÔÐð
	ð ˆ
s#   ¾.A8Á8A<Á?A<ÂB, Â,B<Â:B<c                 ó”   — | j         r@t          j        5  t          j        | j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS dS )zÕReset the internal codec state and discard all internal buffers.

        Should be called before you start decoding from a new position e.g.
        when seeking or when switching to a different stream.

        N)rû   rØ   rT  r   Úavcodec_flush_buffersré   r  s    r*   Úflush_bufferszCodecContext.flush_buffersó  s—   € ð Œ<ð 	4Ý”ð 4ð 4ÝÔ)¨$¬(Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4ð	4ð 	4s   ”;»?Á?c                 ó0   — |�|j         j        |_        d S d S rð   )ré   r:  Ú
_time_baserŸ  s      r*   r¨  z!CodecContext._setup_decoded_frameÿ  s%   € ð ÐØ%œzÔ3ˆEÔÐÐð Ðr,   c                 ó   — | j         j        S rð   )ró   rÀ   r  s    r*   rÀ   zCodecContext.name	  ó   € àŒzŒÐr,   c                 ó   — | j         j        S rð   )ró   rÆ   r  s    r*   rÆ   zCodecContext.type  r°  r,   c                 óP  — g }| j         j        r| j        j        r| j        j        j        s|S | j        j        }d}|j        |         j        t
          j        k    rJ|                     |j        |         j        ¦  «         |dz  }|j        |         j        t
          j        k    °J|S )zX
        List the available profiles for this stream.

        :type: list[str]
        r   r6  )	ré   ró   ÚdescÚprofilesÚprofiler   ÚAV_PROFILE_UNKNOWNrå   rÀ   )rü   Úretr³  Úis       r*   r´  zCodecContext.profiles  s¡   € ð ˆØŒxŒ~ð 	 T¤Z¤_ð 	¸D¼J¼OÔ<Tð 	ØˆJð ŒzŒˆØˆØŒm˜AÔÔ&­#Ô*@Ò@Ð@Ø�JŠJ�t”} QÔ'Ô,Ñ-Ô-Ð-Ø�‰FˆAð Œm˜AÔÔ&­#Ô*@Ò@Ð@ð ˆ
r,   c                 ój  — | j         j        r| j        j        r| j        j        j        sd S | j        j        }d}|j        |         j        t
          j        k    rY|j        |         j        | j         j        k    r|j        |         j        S |dz  }|j        |         j        t
          j        k    °Wd S d S ©Nr   r6  )ré   ró   r³  r´  rµ  r   r¶  rÀ   )rü   r³  r¸  s      r*   rµ  zCodecContext.profile&  s­   € àŒxŒ~ð 	 T¤Z¤_ð 	¸D¼J¼OÔ<Tð 	ØˆFð ŒzŒˆØˆØŒm˜AÔÔ&­#Ô*@Ò@Ð@ØŒ}˜QÔÔ'¨4¬8Ô+;Ò;Ð;Ø”} QÔ'Ô,Ð,Ø�‰FˆAð Œm˜AÔÔ&­#Ô*@Ò@Ð@Ð@Ð@Ð@Ð@r,   c                 ód  — | j         r| j         j        r| j         j        j        sd S | j         j        }d}|j        |         j        t          j        k    r[|j        |         j        |k    r|j        |         j        | j        _        d S |dz  }|j        |         j        t          j        k    °Yd S d S rº  )ró   r³  r´  rµ  r   r¶  rÀ   ré   )rü   rß   r³  r¸  s       r*   rµ  zCodecContext.profile4  s¯   € àŒzð 	 ¤¤ð 	¸¼
¼Ô8Pð 	ØˆFð ŒzŒˆØˆØŒm˜AÔÔ&­#Ô*@Ò@Ð@ØŒ}˜QÔÔ$¨Ò-Ð-Ø#'¤=°Ô#3Ô#;�”Ô Ø�Ø�‰FˆAð	 Œm˜AÔÔ&­#Ô*@Ò@Ð@Ð@Ð@Ð@Ð@r,   c                 ó   — | j         j        S )zECodec level.

        Wraps :ffmpeg:`AVCodecContext.level`.

        ©ré   Úlevelr  s    r*   r¾  zCodecContext.levelC  r  r,   c                 ó   — || j         _        d S rð   r½  r  s     r*   r¾  zCodecContext.levelL  r  r,   c                 ó„   — | j         rt          d¦  «        ‚t          t          j        | j        j        ¦  «        ¦  «        S ©Nz&Cannot access 'time_base' as a decoder)r2  rù   r   rØ   rÛ   ré   r:  r  s    r*   r:  zCodecContext.time_baseP  s9   € àŒ?ð 	IÝÐGÑHÔHÐHÝ%¥f¤n°T´XÔ5GÑ&HÔ&HÑIÔIÐIr,   c                 óŠ   — | j         rt          d¦  «        ‚t          |t          j        | j        j        ¦  «        ¦  «         d S rÁ  )r2  rù   r   rØ   rÛ   ré   r:  r  s     r*   r:  zCodecContext.time_baseV  sA   € àŒ?ð 	IÝÐGÑHÔHÐHÝ�e�Vœ^¨D¬HÔ,>Ñ?Ô?Ñ@Ô@Ð@Ð@Ð@r,   c                 ón   — | j         j                             ddd¬¦  «                             d¬¦  «        S )Né   ÚlittleF©Ú	byteorderÚsignedÚascii©Úencoding)ré   Ú	codec_tagÚto_bytesr¥  r  s    r*   rÌ  zCodecContext.codec_tag\  s=   € àŒxÔ!×*Ò*¨1¸ÈÐ*ÑOÔO×VÒVØð Wñ 
ô 
ð 	
r,   c                 óê   — t          |t          ¦  «        rPt          |¦  «        dk    r=t                               |                     d¬¦  «        dd¬¦  «        | j        _        d S t          d¦  «        ‚)NrÄ  rÉ  rÊ  rÅ  FrÆ  z)Codec tag should be a 4 character string.)	rñ   rÃ   ÚlenrÍ   Ú
from_bytesr�  ré   rÌ  rç   r  s     r*   rÌ  zCodecContext.codec_tagb  sl   € å�e�SÑ!Ô!ð 	J¥c¨%¡j¤j°A¢o oÝ!$§¢Ø—’ g�Ñ.Ô.¸(È5ð "0ñ "ô "ˆDŒHÔÐÐõ ÐHÑIÔIÐIr,   c                 ó4   — | j         j        t          j        z  S )zñGlobal quality for codecs which cannot change it per frame.

        Stored internally in lambda units; this property converts to/from
        QP units using ``FF_QP2LAMBDA``.

        Wraps :ffmpeg:`AVCodecContext.global_quality`.

        )ré   Úglobal_qualityr   ÚFF_QP2LAMBDAr  s    r*   rÒ  zCodecContext.global_qualityk  s   € ð ŒxÔ&­#Ô*:Ñ:Ð:r,   c                 ó8   — |t           j        z  | j        _        d S rð   )r   rÓ  ré   rÒ  r  s     r*   rÒ  zCodecContext.global_qualityx  s   € à"'­#Ô*:Ñ":ˆŒÔÐÐr,   c                 ó>   — | j         j        dk    r| j         j        nd S r×   ©ré   Úbit_rater  s    r*   r×  zCodecContext.bit_rate|  s!   € à$(¤HÔ$5¸Ò$9Ð$9ˆtŒxÔ Ð ¸tÐCr,   c                 ó   — || j         _        d S rð   rÖ  r  s     r*   r×  zCodecContext.bit_rate€  s   € à!ˆŒÔÐÐr,   c                 ó>   — | j         j        dk    r| j         j        S d S r×   )ré   Úrc_max_rater  s    r*   Úmax_bit_ratezCodecContext.max_bit_rate„  s"   € àŒ8Ô !Ò#Ð#Ø”8Ô'Ð'à�4r,   c                 ó   — | j         j         d S rð   ©ré   Úbit_rate_tolerancer  s    r*   rÞ  zCodecContext.bit_rate_tolerance‹  s   € àŒÔ#Ð#Ð#Ð#r,   c                 ó   — || j         _        d S rð   rÝ  r  s     r*   rÞ  zCodecContext.bit_rate_tolerance�  s   € à&+ˆŒÔ#Ð#Ð#r,   c                 ó   — | j         j        S )zfHow many threads to use; 0 means auto.

        Wraps :ffmpeg:`AVCodecContext.thread_count`.

        )ré   r  r  s    r*   r  zCodecContext.thread_count“  s   € ð ŒxÔ$Ð$r,   c                 óJ   — | j         rt          d¦  «        ‚|| j        _        d S )Nz/Cannot change thread_count after codec is open.)rû   rù   ré   r  r  s     r*   r  zCodecContext.thread_countœ  s,   € àŒ<ð 	RÝÐPÑQÔQÐQØ %ˆŒÔÐÐr,   c                 ó4   — t          | j        j        ¦  «        S )z[One of :class:`.ThreadType`.

        Wraps :ffmpeg:`AVCodecContext.thread_type`.

        )r.   ré   r  r  s    r*   r  zCodecContext.thread_type¢  s   € õ ˜$œ(Ô.Ñ/Ô/Ð/r,   c                 ó  — | j         rt          d¦  «        ‚t          |¦  «        t          u r|| j        _        d S t          |¦  «        t          u rt          |         j        | j        _        d S |j        | j        _        d S )Nz.Cannot change thread_type after codec is open.)	rû   rù   rÆ   rÍ   ré   r  rÃ   r.   rß   r  s     r*   r  zCodecContext.thread_type«  sx   € àŒ<ð 	QÝÐOÑPÔPÐPÝ�‰;Œ;�#ÐÐØ#(ˆDŒHÔ Ð Ð Ý�%‰[Œ[�CÐÐÝ#-¨eÔ#4Ô#:ˆDŒHÔ Ð Ð à#(¤;ˆDŒHÔ Ð Ð r,   c                 ó  — | j         j        }|t          j        k    rdS |t          j        k    rdS |t          j        k    rdS |t          j        k    rdS |t          j        k    rdS |t          j        k    rdS |t          j	        k    rdS |› S )a¦  Returns one of the following str literals:

        "NONE" Discard nothing
        "DEFAULT" Discard useless packets like 0 size packets in AVI
        "NONREF" Discard all non reference
        "BIDIR" Discard all bidirectional frames
        "NONINTRA" Discard all non intra frames
        "NONKEY Discard all frames except keyframes
        "ALL" Discard all

        Wraps :ffmpeg:`AVCodecContext.skip_frame`.
        r5   ÚDEFAULTÚNONREFÚBIDIRÚNONINTRAÚNONKEYÚALL)
ré   Ú
skip_framer   ÚAVDISCARD_NONEÚAVDISCARD_DEFAULTÚAVDISCARD_NONREFÚAVDISCARD_BIDIRÚAVDISCARD_NONINTRAÚAVDISCARD_NONKEYÚAVDISCARD_ALLr  s     r*   rë  zCodecContext.skip_frame¶  s›   € ð ”Ô#ˆØ•CÔ&Ò&Ð&Ø�6Ø•CÔ)Ò)Ð)Ø�9Ø•CÔ(Ò(Ð(Ø�8Ø•CÔ'Ò'Ð'Ø�7Ø•CÔ*Ò*Ð*Ø�:Ø•CÔ(Ò(Ð(Ø�8Ø•CÔ%Ò%Ð%Ø�5ØˆzÐr,   c                 óÄ  — |dk    rt           j        | j        _        d S |dk    rt           j        | j        _        d S |dk    rt           j        | j        _        d S |dk    rt           j        | j        _        d S |dk    rt           j        | j        _        d S |dk    rt           j        | j        _        d S |dk    rt           j	        | j        _        d S t          d¦  «        ‚)	Nr5   rå  ræ  rç  rè  ré  rê  zInvalid skip_frame type)r   rì  ré   rë  rí  rî  rï  rð  rñ  rò  rç   r  s     r*   rë  zCodecContext.skip_frameÕ  sß   € à�FŠ?ˆ?Ý"%Ô"4ˆDŒHÔÐÐØ�iÒÐÝ"%Ô"7ˆDŒHÔÐÐØ�hÒÐÝ"%Ô"6ˆDŒHÔÐÐØ�gÒÐÝ"%Ô"5ˆDŒHÔÐÐØ�jÒ Ð Ý"%Ô"8ˆDŒHÔÐÐØ�hÒÐÝ"%Ô"6ˆDŒHÔÐÐØ�eŠ^ˆ^Ý"%Ô"3ˆDŒHÔÐÐåÐ6Ñ7Ô7Ð7r,   c                 ó   — | j         j        S )zECodec delay.

        Wraps :ffmpeg:`AVCodecContext.delay`.

        )ré   Údelayr  s    r*   rõ  zCodecContext.delayè  r  r,   )NNrð   )T)Gr2   r3   r4   Ústaticmethodrö   r   Úpropertyr  rØ   Úcfuncr!  r   ÚAVCodecContextÚconstÚAVCodecÚHWAccelr(   r  rË   ÚsetterrÍ   r?   rI   r  r"  r  r.  r2  ÚccallÚbintrC  rG  rP  re  rh  ÚFramero  Úvoidr@  Úlistrˆ  r‹  r‘  r�  rl  rš  r�  r   r   rœ  r¥  r¤  r¬  r¨  rÀ   rÆ   r´  rµ  r¾  r:  rÌ  Ú	cdivisionrÒ  r×  ÚlonglongrÛ  rÞ  r  r  rë  rõ  r9   r,   r*   r'   r'   æ   sˆ  € € € € € àð@ð @ð @ñ „\ð@ðð ð ð ð ð:ð :ñ „Xð:ð0 „\ð$àŒ^˜CÔ.Ô/ð$ð Œ~˜fœl¨3¬;Ô7Ô8ð$ð ð	$ð $ð $ñ „\ð$ð  „\ðMð Mñ „\ðMð ðð ñ „Xðð „\ð˜6œ:ð ð ð ñ „\ðð ð?ð ?ñ „Xð?ð „]ð8ð 8ñ „]ð8ð ðDð Dñ „XðDð Ôð=ð =ñ Ôð=ð ðð ñ „Xðð „]ð ˜FœJð  ð  ð  ñ „]ð ð ð
ð 
ñ „Xð
ð ÔðMð Mñ ÔðMð" ð'ð 'ñ „Xð'ð ð7ð 7ñ „Xð7ð
 ð7ð 7ñ „Xð7ð
 „\ð%ð %˜6œ;ð %ð %ð %ñ „\ð%ð:-ð -ð -ðRð Rð Rð
\ð \ð \ð \ð| ð,ð ,ñ „Xð,ð)¨%°$©,ð )ð )ð )ð )ð „\ð2%¨¬ð 2%ð 2%ð 2%ñ „\ð2%ðh „\ð°¸±ð Àð ð ð ñ „\ðð „\ðF 5ð Fð Fð Fñ „\ðFð „\ðð ñ „\ðð( „\ð uð ð ð ñ „\ðð „\ðð ñ „\ðð „\ðÀð ð ð ñ „\ðð6 „\ðð ˜E D™Lð ð ð ñ „\ððð  ¨¡ð ð ð ð ð „\ð2¨Fð 2ð 2ð 2ñ „\ð2ð „\ð$ð $˜V d™]ð $ð $ð $ñ „\ð$ð$ „\ð˜f t™mð ð ð ñ „\ðð6 „\ð	4ð 	4ñ „\ð	4ð „\ð4¨%ð 4¸À$¹ð 4ð 4ð 4ñ „\ð4ð ðð ñ „Xðð ðð ñ „Xðð ðð ñ „Xðð( ðð ñ „Xðð „^ðð ñ „^ðð ðð ñ „Xðð „\ð˜6œ:ð ð ð ñ „\ðð ðJð Jñ „XðJð
 ÔðAð Añ ÔðAð
 ð
ð 
ñ „Xð
ð
 ÔðJð Jñ ÔðJð Ø€VÔ�dÑÔð	;ð 	;ñ Ôñ „Xð	;ð Ôð; F¤Jð ;ð ;ð ;ñ Ôð;ð ðDð Dñ „XðDð „_ð"˜fœoð "ð "ð "ñ „_ð"ð ðð ñ „Xðð ð$ð $ñ „Xð$ð Ôð,¨¬
ð ,ð ,ð ,ñ Ôð,ð ð%ð %ñ „Xð%ð Ôð& &¤*ð &ð &ð &ñ Ôð&ð
 ð0ð 0ñ „Xð0ð Ôð/ð /ñ Ôð/ð ðð ñ „Xðð< Ôð8ð 8ñ Ôð8ð$ ðð ñ „Xðð ð r,   r'   ):Údataclassesr   Úenumr   r   r   rØ   Úcython.cimportsr   r   Úcython.cimports.av.bufferr   r	   Úcython.cimports.av.codec.codecr
   r   Úcython.cimports.av.dictionaryr   Úcython.cimports.av.errorr   Úcython.cimports.av.packetr   Úcython.cimports.av.utilsr   r   Úcython.cimports.libc.errnor   Úcython.cimports.libc.stdintr   Úcython.cimports.libc.stringr   r   Úav.errorr   ÚdeclareÚobjectr"   rø  r!  rù  rú  rû  rü  r'   r+   r.   r;   re   ry   r£   r¿   rÅ   rÒ   Úp_voidÚcharrà   rí   Úcclassr9   r,   r*   ú<module>r     sí  ðØ !Ð !Ð !Ð !Ð !Ð !Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à €€€Ø (Ð (Ð (Ð (Ð (Ð (Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø .Ð .Ð .Ð .Ð .Ð .Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ -Ð -Ð -Ð -Ð -Ð -Ø /Ð /Ð /Ð /Ð /Ð /Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à %Ð %Ð %Ð %Ð %Ð %à �&”. ¨¨©¬Ñ2Ô2€ð „ðØŒ>˜#Ô,Ô-ðàŒ^˜FœL¨¬Ô5Ô6ðð ðð ð	ð ð ñ „ðð8ð ð ð ð �ñ ô ð ð.ð .ð .ð .ð .ˆGñ .ô .ð .ð.	5ð 	5ð 	5ð 	5ð 	5ˆWñ 	5ô 	5ð 	5ð ð  ð  ð  ð  �ñ  ô  ð  ð.0ð 0ð 0ð 0ð 0�'ñ 0ô 0ð 0ð €�$˜dÐ#Ñ#Ô#ðð ð ð ð ñ ô ñ $Ô#ðð €�$˜dÐ#Ñ#Ô#ð+ð +ð +ð +ð +ñ +ô +ñ $Ô#ð+ð €�$˜dÐ#Ñ#Ô#ð%ð %ð %ð %ð %ñ %ô %ñ $Ô#ð%ð „ð	Ø	Œð	Ø$œn¨V¬\¸&¼+Ô-FÔGð	ð 	ð 	ñ „ð	ð „ð2 ¤ð 2ð 2ð 2ñ „ð2ðj „ðHð Hð Hð Hð Hñ Hô Hñ „ðHð Hð Hr,   