Ë
    ÛÍ:j?  ã                   ó˜  — d dl mZ d dlmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZ  ej                  e e«       «      Z G d„ de«      Zej                   d	ed
ej$                  defd„«       Zej                   d	edej$                  fd„«       Zej,                   G d„ de«      «       Zej,                   G d„ d«      «       Z G d„ dee«      Zy)é    )ÚMapping)ÚEnumN)Úint32_tÚ	uintptr_t)ÚVideoEncParams)ÚMotionVectorsc                   ó°  — e Zd 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j2                  Zej6                  Zej:                  Zej>                  Z ejB                  Z"ejF                  Z$ejJ                  Z&ejN                  Z(ejR                  Z*ejV                  Z,ejZ                  Z.ej^                  Z0ejb                  Z2ejf                  Z4ejj                  Z6ejn                  Z8ejr                  Z:ejv                  Z<y)ÚTypezð
    Enum class representing different types of frame data in audio/video processing.
    Values are mapped to corresponding AV_FRAME_DATA constants from FFmpeg.

    From: https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/frame.h
    N)=Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚlibÚAV_FRAME_DATA_PANSCANÚPANSCANÚAV_FRAME_DATA_A53_CCÚA53_CCÚAV_FRAME_DATA_STEREO3DÚSTEREO3DÚAV_FRAME_DATA_MATRIXENCODINGÚMATRIXENCODINGÚAV_FRAME_DATA_DOWNMIX_INFOÚDOWNMIX_INFOÚAV_FRAME_DATA_REPLAYGAINÚ
REPLAYGAINÚAV_FRAME_DATA_DISPLAYMATRIXÚDISPLAYMATRIXÚAV_FRAME_DATA_AFDÚAFDÚAV_FRAME_DATA_MOTION_VECTORSÚMOTION_VECTORSÚAV_FRAME_DATA_SKIP_SAMPLESÚSKIP_SAMPLESÚ AV_FRAME_DATA_AUDIO_SERVICE_TYPEÚAUDIO_SERVICE_TYPEÚ(AV_FRAME_DATA_MASTERING_DISPLAY_METADATAÚMASTERING_DISPLAY_METADATAÚAV_FRAME_DATA_GOP_TIMECODEÚGOP_TIMECODEÚAV_FRAME_DATA_SPHERICALÚ	SPHERICALÚ!AV_FRAME_DATA_CONTENT_LIGHT_LEVELÚCONTENT_LIGHT_LEVELÚAV_FRAME_DATA_ICC_PROFILEÚICC_PROFILEÚAV_FRAME_DATA_S12M_TIMECODEÚS12M_TIMECODEÚAV_FRAME_DATA_DYNAMIC_HDR_PLUSÚDYNAMIC_HDR_PLUSÚ!AV_FRAME_DATA_REGIONS_OF_INTERESTÚREGIONS_OF_INTERESTÚAV_FRAME_DATA_VIDEO_ENC_PARAMSÚVIDEO_ENC_PARAMSÚAV_FRAME_DATA_SEI_UNREGISTEREDÚSEI_UNREGISTEREDÚAV_FRAME_DATA_FILM_GRAIN_PARAMSÚFILM_GRAIN_PARAMSÚAV_FRAME_DATA_DETECTION_BBOXESÚDETECTION_BBOXESÚAV_FRAME_DATA_DOVI_RPU_BUFFERÚDOVI_RPU_BUFFERÚAV_FRAME_DATA_DOVI_METADATAÚDOVI_METADATAÚAV_FRAME_DATA_DYNAMIC_HDR_VIVIDÚDYNAMIC_HDR_VIVIDÚ)AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENTÚAMBIENT_VIEWING_ENVIRONMENTÚAV_FRAME_DATA_VIDEO_HINTÚ
VIDEO_HINT© ó    úi/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/av/sidedata/sidedata.pyr
   r
      sH  „ ñð ×'Ñ'€GØ×%Ñ%€FØ×)Ñ)€HØ×5Ñ5€NØ×1Ñ1€LØ×-Ñ-€JØ×3Ñ3€MØ
×
Ñ
€CØ×5Ñ5€NØ×1Ñ1€LØ×=Ñ=ÐØ!$×!MÑ!MÐØ×1Ñ1€LØ×+Ñ+€IØ×?Ñ?ÐØ×/Ñ/€KØ×3Ñ3€MØ×9Ñ9ÐØ×?Ñ?ÐØ×9Ñ9ÐØ×9Ñ9ÐØ×;Ñ;ÐØ×9Ñ9ÐØ×7Ñ7€OØ×3Ñ3€MØ×;Ñ;ÐØ"%×"OÑ"OÐØ×-Ñ-�JrI   r
   ÚframeÚindexÚreturnc                 ó8  — | j                   j                  |   j                  t        j                  k(  rt        t        | |«      S | j                   j                  |   j                  t        j                  k(  rt        t        | |«      S t        t        | |«      S ©N)
ÚptrÚ	side_dataÚtyper   r    r   Ú_cinit_bypass_sentinelr6   r   ÚSideData)rK   rL   s     rJ   Úwrap_side_datarU   3   sx   € à‡y�y×Ñ˜5Ñ!×&Ñ&¬#×*JÑ*JÒJÜÔ3°U¸EÓBÐBØ	�‰×	Ñ	˜UÑ	#×	(Ñ	(¬C×,NÑ,NÒ	NÜÔ4°e¸UÓCÐCäÔ.°°uÓ=Ð=rI   c           
      óª  — t        | j                  j                  «      D ]±  }| j                  j                  |   j                  t
        j                  k(  sŒ8t        t
        j                  t        j                  t        j                  t        j                  t              | j                  j                  |   j                  «      «      «      c S  y)Nr   )ÚrangerP   Únb_side_datarQ   rR   r   r   ÚintÚav_display_rotation_getÚcythonÚcastÚpointerÚconstr   Údata)rK   Úis     rJ   Úget_display_rotationra   =   sœ   € ä�5—9‘9×)Ñ)Ó*ò 	ˆØ�9‰9×Ñ˜qÑ!×&Ñ&¬#×*IÑ*IÓIÜÜ×+Ñ+Ü—K‘KÜŸ™¤v§|¡|´GÑ'<Ñ=ØŸ	™	×+Ñ+¨AÑ.×3Ñ3óóóò ð	ð rI   c                   ó   — e Zd Zdedej
                  fd„Zej                  dej                  fd„«       Z	ej                  dej                  fd„«       Zej                  dej                  fd„«       Zd„ Zed	„ «       Zy
)rT   rK   rL   c                 ó¼   — |t         urt        d«      ‚|| _        |j                  j                  |   | _        t        | j                  j                  «      | _        y )Nz#cannot manually instatiate SideData)rS   ÚRuntimeErrorrK   rP   rQ   Úwrap_dictionaryÚmetadata)ÚselfÚsentinelrK   rL   s       rJ   Ú__init__zSideData.__init__N   sJ   € ØÔ1Ñ1ÜÐDÓEÐEØˆŒ
Ø—9‘9×&Ñ& uÑ-ˆŒÜ'¨¯©×(9Ñ(9Ó:ˆ�rI   rM   c                 ó.   — | j                   j                  S rO   )rP   Úsize©rg   s    rJ   Ú_buffer_sizezSideData._buffer_sizeU   ó   € à�x‰x�}‰}ÐrI   c                 ó.   — | j                   j                  S rO   )rP   r_   rl   s    rJ   Ú_buffer_ptrzSideData._buffer_ptrY   rn   rI   c                  ó   — y)NFrH   rl   s    rJ   Ú_buffer_writablezSideData._buffer_writable]   s   € àrI   c                 óÞ   — d| j                   j                  › d| j                  j                  › d| j                  › dt        j                  t        | j                  j                  «      d›d�	S )Nz<av.sidedata.ú z
 bytes of z at 0xÚ0xú>)	Ú	__class__r   rP   rk   rR   r[   r\   r   r_   rl   s    rJ   Ú__repr__zSideData.__repr__a   s†   € Ø˜tŸ~™~×6Ñ6Ð7°q¸¿¹¿¹¸ÀzÐRV×R[ÑR[ÐQ\Ð\bÔci×cnÑcnÔoxÐz~÷  {Cñ  {C÷  {Hñ  {Hó  dIð  JLð  cMð  MNð  Oð  	OrI   c                 ó@   — t        | j                  j                  «      S rO   )r
   rP   rR   rl   s    rJ   rR   zSideData.typed   s   € ä�D—H‘H—M‘MÓ"Ð"rI   N)r   r   r   ÚFramer[   rY   ri   ÚcfuncÚsize_trm   Úp_voidrp   Úbintrr   rx   ÚpropertyrR   rH   rI   rJ   rT   rT   L   sœ   „ ð;¨ð ;°f·j±jó ;ð ‡\�\ð˜fŸm™mò ó ðð ‡\�\ð˜VŸ]™]ò ó ðð ‡\�\ð &§+¡+ò ó ðòOð ñ#ó ñ#rI   rT   c                   ó*   — e Zd Zdefd„Zd„ Zd„ Zd„ Zy)Ú_SideDataContainerrK   c                 ó
  — || _         g | _        i | _        t        | j                   j                  j
                  «      D ]B  }t        ||«      }| j                  j                  |«       || j                  |j                  <   ŒD y rO   )	rK   Ú	_by_indexÚ_by_typerW   rP   rX   rU   ÚappendrR   )rg   rK   r`   r_   s       rJ   ri   z_SideDataContainer.__init__k   sk   € ØˆŒ
Ø!ˆŒØ ˆŒô
 �t—z‘z—~‘~×2Ñ2Ó3ò 	,ˆAÜ! %¨Ó+ˆDØ�N‰N×!Ñ! $Ô'Ø'+ˆD�M‰M˜$Ÿ)™)Ò$ñ	,rI   c                 ó,   — t        | j                  «      S rO   )Úlenrƒ   rl   s    rJ   Ú__len__z_SideDataContainer.__len__x   s   € Ü�4—>‘>Ó"Ð"rI   c                 ó,   — t        | j                  «      S rO   )Úiterrƒ   rl   s    rJ   Ú__iter__z_SideDataContainer.__iter__{   s   € Ü�D—N‘NÓ#Ð#rI   c                 óª   — t        |t        «      r| j                  |   S t        |t        «      r| j                  t
        |      S | j                  |   S rO   )Ú
isinstancerY   rƒ   Ústrr„   r
   )rg   Úkeys     rJ   Ú__getitem__z_SideDataContainer.__getitem__~   sG   € Ü�cœ3ÔØ—>‘> #Ñ&Ð&Ü�cœ3ÔØ—=‘=¤ c¡Ñ+Ð+Ø�}‰}˜SÑ!Ð!rI   N)r   r   r   rz   ri   rˆ   r‹   r�   rH   rI   rJ   r�   r�   i   s   „ ð,˜eó ,ò#ò$ó"rI   r�   c                   ó   — e Zd Zy)ÚSideDataContainerN)r   r   r   rH   rI   rJ   r’   r’   †   s   „ ØrI   r’   )Úcollections.abcr   Úenumr   r[   Úcython.cimports.libc.stdintr   r   Úav.sidedata.encparamsr   Úav.sidedata.motionvectorsr   ÚdeclareÚobjectrS   r
   r{   rz   rY   rT   rU   ra   ÚcclassÚBufferr�   r’   rH   rI   rJ   ú<module>rœ      sß   ðÝ #Ý ã ß :å 0Ý 3à'˜Ÿ™¨±³Ó9Ð ô#.ˆ4ô #.ðL ‡�ð>˜%ð >¨¯
©
ð >°xò >ó ð>ð ‡�ð ð ¨&¯*©*ò ó ðð ‡�ô#ˆvó #ó ð#ð8 ‡�÷"ð "ó ð"ô8	Ð*¨Gõ 	rI   