§
    ÜóÉjÈ4  ã                   óÐ  — d dl Z d dlmc mZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZmZmZ d dlmZmZ e j        e j         G d	„ d
e¦  «        ¦   «         ¦   «         Ze j        e j         e j        d¬¦  «        de j         e!         de j"        fd„¦   «         ¦   «         ¦   «         Z#e j         e j        d¬¦  «        de$de j"        fd„¦   «         ¦   «         Z%dS )é    N)Ú	err_check)ÚVideoFormatComponentÚget_pix_fmtÚget_video_format)Ú
VideoFrame)ÚPyBUF_WRITABLEÚPyBuffer_FillInfo)Ú	Py_buffer)ÚPyCapsule_GetPointerÚPyCapsule_IsValidÚPyCapsule_New)ÚfreeÚmallocc                   óì   — e Zd Zdedej        fd„Zej        dej        fd„¦   «         Z	e
d„ ¦   «         Zej        dej        fd„¦   «         Zdej        e         d	ej        fd
„Zd„ Zddœdedz  fd„ZdS )Ú
VideoPlaneÚframeÚindexc                 ó¤  — |j         }|j        j        rht          j        t          j        t          j                 |j        j        j        ¦  «        }t          |j
        |j        j        |j        j        ¦  «        }|dk    r"|j        dk    rd| _        d| _        d| _        d S t          |j        j        ¦  «        D ]G}|j        j        |         j        |k    r*t'          ||¦  «        }|j        | _        |j        | _         nŒHt)          d|› d|›�¦  «        ‚t+          | j        j        j        | j                 ¦  «        | j        z  | _        d S )Né   Úpal8é   i   zcould not find plane z of )ÚformatÚptrÚhw_frames_ctxÚcythonÚcastÚpointerÚlibÚAVHWFramesContextÚdatar   Ú	sw_formatÚwidthÚheightÚnameÚbuffer_sizeÚrangeÚnb_componentsÚcompÚplaner   ÚRuntimeErrorÚabsr   Úlinesizer   )Úselfr   r   ÚfmtÚ
frames_ctxÚiÚ	components          ús/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/av/video/plane.pyÚ	__cinit__zVideoPlane.__cinit__   sD  € àŒlˆØŒ9Ô"ð 	Ý@FÄÝ”�sÔ4Ô5°u´yÔ7NÔ7SñAô AˆJõ #ØÔ$ e¤i¤o°u´yÔ7Gñô ˆCð �AŠ:ˆ:˜#œ( fÒ,Ð,ØˆDŒJØˆDŒKØ&ˆDÔØˆFå�s”wÔ,Ñ-Ô-ð 	Kð 	KˆAØŒwŒ|˜AŒÔ$¨Ò-Ð-Ý0°°aÑ8Ô8�	Ø&œ_�”
Ø'Ô.�”Ø�ð	 .õ ÐI°uÐIÐIÀ#ÐIÐIÑJÔJÐJõ
 ˜tœzœ~Ô6°t´zÔBÑCÔCÀdÄkÑQˆÔÐÐó    Úreturnc                 ó   — | j         S )N)r%   ©r-   s    r2   Ú_buffer_sizezVideoPlane._buffer_size6   s   € àÔÐr4   c                 ó:   — | j         j        j        | j                 S )zN
        Bytes per horizontal line in this plane.

        :type: int
        )r   r   r,   r   r7   s    r2   Ú	line_sizezVideoPlane.line_size:   s   € ð ŒzŒ~Ô& t¤zÔ2Ð2r4   c                 ó,   — | j         j        j        rdS dS )NFT)r   r   r   r7   s    r2   Ú_buffer_writablezVideoPlane._buffer_writableC   s   € àŒ:Œ>Ô'ð 	Ø�5Øˆtr4   ÚviewÚflagsc                 ó¶  — | j         j        j        rt          d¦  «        ‚|t          z  r#|                      ¦   «         st          d¦  «        ‚|                      ¦   «         }| j         j        j        | j	                 }|dk     r/| j
        }t          j        t          j        |¦  «        |dz
  |z  z   }t          || ||                      ¦   «         d|¦  «         d S )NzyHardware frame planes do not support the Python buffer protocol. Use DLPack (__dlpack__) or download to a software frame.zbuffer is not writabler   r   )r   r   r   Ú	TypeErrorr   r<   Ú
ValueErrorÚ_buffer_ptrr,   r   r#   r   r   Úp_charr	   r8   )r-   r=   r>   r   r:   r#   s         r2   Ú__getbuffer__zVideoPlane.__getbuffer__I   sÙ   € ØŒ:Œ>Ô'ð 	ÝðKñô ð ð •>Ñ!ð 	7¨$×*?Ò*?Ñ*AÔ*Að 	7ÝÐ5Ñ6Ô6Ð6à!×-Ò-Ñ/Ô/ˆØ $¤
¤Ô 7¸¼
Ô Cˆ	Ø�qŠ=ˆ=Ø!%¤ˆFÝ”+�fœm¨SÑ1Ô1°V¸a±ZÀ9Ñ4LÑLˆCå˜$  c¨4×+<Ò+<Ñ+>Ô+>ÀÀ5ÑIÔIÐIÐIÐIr4   c                 óø   — | j         j        j        rat          j        t
          j        | j         j        j        ¦  «        t          d¦  «        k    rt          d¦  «        ‚t          | j         j        fS t          dfS )Nó   cudaú4DLPack export is only implemented for CUDA hw framesr   )r   r   r   r   r   r   ÚAVPixelFormatr   r   ÚNotImplementedErrorÚkCudaÚ
_device_idÚkCPUr7   s    r2   Ú__dlpack_device__zVideoPlane.__dlpack_device__Z   sx   € ØŒ:Œ>Ô'ð 	2ÝŒ{�3Ô,¨d¬j¬nÔ.CÑDÔDÍØñIô Iò ð õ *ØJñô ð õ ˜4œ:Ô0Ð1Ð1Ý�aˆyÐr4   N)ÚstreamrN   c          	      ó²  — | j         j        j        d         t          j        k    rt          d¦  «        ‚| j         j        j        r½t          j        t          j	        | j         j        j
        ¦  «        t          d¦  «        k    rt          d¦  «        ‚|�t          d¦  «        ‚t          j        t          j        t          j                 | j         j        j        j        ¦  «        }|j        }t"          }| j         j        }n7t          j        t          j	        | j         j        j
        ¦  «        }t&          }d}| j        }|dk     rt          d¦  «        ‚t          d¦  «        }t          d¦  «        }t          d	¦  «        }	t          j        t          j        ¦  «        \  }
}}t          j        t.          ¦  «        \  }}}t          j        t.          ¦  «        \  }}}||k    r‡d
}d}| j        dk    r*d}
| j         j        j        }| j         j        j        }|}d
}�né| j        d
k    r4d}
| j         j        j        dz  }| j         j        j        dz  }d}|}d}d
}�nªt7          d¦  «        ‚||k    s||	k    r¡d}d}||z  rt7          d¦  «        ‚| j        dk    r-d}
| j         j        j        }| j         j        j        }||z  }d
}�n?| j        d
k    r7d}
| j         j        j        dz  }| j         j        j        dz  }d}||z  }d}d
}�nýt7          d¦  «        ‚|t&          k    rt          d¦  «        ‚t          j        |¦  «        }|t          j        k    rt          d¦  «        ‚|j        t          j        t          j        z  t          j         z  z  rt          d¦  «        ‚d}d}tC          |j"        ¦  «        D ]~}|j#        |         j$        | j        k    rŒ|dk    r|j#        |         j%        }nBt          j        t          j        |j#        |         j%        ¦  «        |k    rt          d¦  «        ‚|d
z  }Œ|dk    rt7          d| j        › d�¦  «        ‚||z  rt          d¦  «        ‚||z  }|d
k    r|dk    rt          d¦  «        ‚|dk    r#|j        t          j&        z  rt          d¦  «        ‚|dz  }||z  rt7          d¦  «        ‚|d
k    rd}
| j        }| j        }||z  }d
}nd}
| j        }| j        }|}||z  }|}d
}t          j'        ¦   «         }|t          j        k    rtQ          d¦  «        ‚tS          t          j*        || j         j        ¦  «        ¦  «         t          j        t          j        t.                   tW          |
t          j,        t.          ¦  «        z  ¦  «        ¦  «        }t          j        t          j        t.                   tW          |
t          j,        t.          ¦  «        z  ¦  «        ¦  «        }|t          j        k    s|t          j        k    rs|t          j        k    rt[          |¦  «         |t          j        k    rt[          |¦  «         t          j.        t          j/        |¦  «        ¦  «         tQ          d¦  «        ‚|
dk    r||d<   ||d
<   ||d<   ||d
<   n||d<   ||d
<   ||d<   ||d<   ||d
<   ||d<   t          j        t          j        t          j0                 tW          dt          j,        t          j0        ¦  «        z  ¦  «        ¦  «        }|t          j        k    rSt[          |¦  «         t[          |¦  «         t          j.        t          j/        |¦  «        ¦  «         tQ          d¦  «        ‚t          j        t          j0        |¦  «        |d<   t          j        t          j0        |¦  «        |d
<   t          j        t          j0        |¦  «        |d<   t          j        t          j        tb                   tW          t          j,        tb          ¦  «        ¦  «        ¦  «        }|t          j        k    rbt[          |¦  «         t[          |¦  «         t[          |¦  «         t          j.        t          j/        |¦  «        ¦  «         tQ          d¦  «        ‚t          j        t          j0        |j        | j                 ¦  «        |j2        _        ||j2        _3        ||j2        _4        |
|j2        _5        tm          d
|d
¬¦  «        |j2        _7        ||j2        _8        ||j2        _9        d|j2        _:        t          j        t          j0        |¦  «        |_;        tx          |_=        	 t}          t          j        t          j0        |¦  «        dt~          ¦  «        }n# t€          $ r ty          |¦  «         ‚ w xY w|S )Nr   zBDLPack export requires a refcounted AVFrame (frame.buf[0] is NULL)rF   rG   ziCUDA stream synchronization is not supported. Pass stream=None and synchronize before calling __dlpack__.z4negative linesize is not supported for DLPack exports   nv12s   p010les   p016ler   é   é   é   zinvalid plane index for NV12é   z linesize is not aligned to dtypez!invalid plane index for P010/P016z'unsupported sw_format for DLPack exportz&unknown pixel format for DLPack exportzIbitstream, palette, and Bayer formats are not supported for DLPack exportz7mixed component step is not supported for DLPack exportzplane z has no componentsz/unsupported component packing for DLPack exportz=only 8- and 16-bit components are supported for DLPack exportz6big-endian formats are not supported for DLPack exportzav_frame_alloc() failedzmalloc() failed)ÚcodeÚbitsÚlanesó   dltensor)Ar   r   Úbufr   ÚNULLr@   r   r   r   rH   r   r   rI   r   r   r    r!   rJ   rK   rL   r:   ÚdeclareÚintÚint64_tr   r#   r"   rA   Úav_pix_fmt_desc_getr>   ÚAV_PIX_FMT_FLAG_BITSTREAMÚAV_PIX_FMT_FLAG_PALÚAV_PIX_FMT_FLAG_BAYERr&   r'   r(   r)   ÚstepÚAV_PIX_FMT_FLAG_BEÚav_frame_allocÚMemoryErrorr   Úav_frame_refr   Úsizeofr   Úav_frame_freeÚaddressÚp_voidÚDLManagedTensorÚ	dl_tensorÚdevice_typeÚ	device_idÚndimÚ
DLDataTypeÚdtypeÚshapeÚstridesÚbyte_offsetÚmanager_ctxÚ_dlpack_managed_tensor_deleterÚdeleterr   Ú_dlpack_capsule_destructorÚ	Exception)r-   rN   r/   Úsw_fmtrl   rm   r:   Únv12Úp010leÚp016lern   rU   ÚitemsizeÚs0Ús1Ús2Úst0Úst1Úst2ÚdescÚ
step_bytesÚncompr0   Ú	frame_refrq   rr   ÚctxÚmanagedÚcapsules                                r2   Ú
__dlpack__zVideoPlane.__dlpack__e   sO	  € ØŒ:Œ>Ô˜aÔ ¥F¤KÒ/Ð/ÝØTñô ð ð Œ:Œ>Ô'ð 	ÝŒ{�3Ô,¨d¬j¬nÔ.CÑDÔDÍØñIô Iò ð õ *ØJñô ð ð Ð!Ý)ðRñô ð õ
 AGÄÝ”�sÔ4Ô5°t´z´~Ô7SÔ7XñAô AˆJð  Ô)ˆFÝˆKØœ
Ô-ˆIˆIå”[¥Ô!2°D´J´NÔ4IÑJÔJˆFÝˆKØˆIà”Nˆ	Ø�qŠ=ˆ=Ý%ØFñô ð õ ˜7Ñ#Ô#ˆÝ˜YÑ'Ô'ˆÝ˜YÑ'Ô'ˆå%œ~­f¬jÑ9Ô9Ñˆˆd�HÝ”^¥GÑ,Ô,‰
ˆˆB�Ýœ¥wÑ/Ô/‰ˆˆS�#à�TŠ>ˆ>ØˆHØˆDØŒz˜QŠˆØ�Ø”Z”^Ô*�Ø”Z”^Ô)�Ø�Ø�‘Ø”˜q’�Ø�Ø”Z”^Ô*¨aÑ/�Ø”Z”^Ô)¨QÑ.�Ø�Ø�Ø�Ø�‘å Ð!?Ñ@Ô@Ð@Ø�vÒÐ ¨6Ò!1Ð!1ØˆHØˆDØ˜8Ñ#ð EÝ Ð!CÑDÔDÐDØŒz˜QŠˆØ�Ø”Z”^Ô*�Ø”Z”^Ô)�Ø 8Ñ+�Ø�‘Ø”˜q’�Ø�Ø”Z”^Ô*¨aÑ/�Ø”Z”^Ô)¨QÑ.�Ø�Ø 8Ñ+�Ø�Ø�‘å Ð!DÑEÔEÐEØ�DÒ Ð Ý%Ð&OÑPÔPÐPõ Ô'¨Ñ/Ô/ð ð •v”{Ò"Ð"Ý)Ð*RÑSÔSÐSØŒzÝÔ-ÝÔ)ñ*åÔ+ñ,ñð õ
 *ð$ñô ð ð
 &'ˆJØ !ˆEå˜4Ô-Ñ.Ô.ð 	ð 	�Ø”9˜Q”<Ô%¨¬Ò3Ð3ØØ˜A’:�:Ø!%¤¨1¤Ô!2�J�JÝ”[¥¤¨T¬Y°q¬\Ô->Ñ?Ô?À:ÒMÐMÝ-ØQñô ð ð ˜‘
��à˜ŠzˆzÝ Ð!H¨$¬*Ð!HÐ!HÐ!HÑIÔIÐIØ˜EÑ!ð Ý)ØEñô ð ð " UÑ*ˆHØ˜1Š}ˆ} ¨Q¢ Ý)ØSñô ð ð ˜1Š}ˆ} ¤­cÔ.DÑ!Dˆ}Ý)ØLñô ð ð ˜a‘<ˆDØ˜8Ñ#ð EÝ Ð!CÑDÔDÐDà˜ŠzˆzØ�Ø”[�Ø”Z�Ø 8Ñ+�Ø��à�Ø”[�Ø”Z�Ø�Ø 8Ñ+�Ø�Ø�å14Ô1CÑ1EÔ1Eˆ	Ø�œÒ#Ð#ÝÐ7Ñ8Ô8Ð8Ý•#Ô" 9¨d¬j¬nÑ=Ô=Ñ>Ô>Ð>å”ÝŒN�7Ô#¥V¨Dµ6´=ÅÑ3IÔ3IÑ,IÑ%JÔ%Jñ
ô 
ˆõ ”+ÝŒN�7Ô#¥V¨Dµ6´=ÅÑ3IÔ3IÑ,IÑ%JÔ%Jñ
ô 
ˆð •F”KÒÐ 7­f¬kÒ#9Ð#9Ø�œÒ#Ð#Ý�U‘”�Ø�&œ+Ò%Ð%Ý�W‘”�ÝÔ�fœn¨YÑ7Ô7Ñ8Ô8Ð8ÝÐ/Ñ0Ô0Ð0à�1Š9ˆ9ØˆE�!‰HØˆE�!‰HØˆG�A‰JØˆG�A‰JˆJàˆE�!‰HØˆE�!‰HØˆE�!‰HØˆG�A‰JØˆG�A‰JØˆG�A‰JåŒkÝŒN�6œ=Ô)­6°!µf´mÅFÄMÑ6RÔ6RÑ2RÑ+SÔ+Sñ
ô 
ˆð •&”+ÒÐÝ�‰KŒKˆKÝ�‰MŒMˆMÝÔ�fœn¨YÑ7Ô7Ñ8Ô8Ð8ÝÐ/Ñ0Ô0Ð0å”�Vœ]¨IÑ6Ô6ˆˆA‰Ý”�Vœ]¨EÑ2Ô2ˆˆA‰Ý”�Vœ]¨GÑ4Ô4ˆˆA‰å”+ÝŒN�?Ô+­VµF´MÅ/Ñ4RÔ4RÑ-SÔ-Sñ
ô 
ˆð •f”kÒ!Ð!Ý�‰IŒIˆIÝ�‰KŒKˆKÝ�‰MŒMˆMÝÔ�fœn¨YÑ7Ô7Ñ8Ô8Ð8ÝÐ/Ñ0Ô0Ð0å!'¤­V¬]¸I¼NÈ4Ì:Ô<VÑ!WÔ!WˆÔÔØ(3ˆÔÔ%Ø&/ˆÔÔ#Ø!%ˆÔÔÝ",°!¸$ÀaÐ"HÑ"HÔ"HˆÔÔØ"'ˆÔÔØ$+ˆÔÔ!Ø()ˆÔÔ%Ý$œk­&¬-¸Ñ=Ô=ˆÔÝ8ˆŒð	Ý#Ý”�FœM¨7Ñ3Ô3ØÝ*ñô ˆGˆGøõ
 ð 	ð 	ð 	Ý*¨7Ñ3Ô3Ð3Øð	øøøð ˆs   æ3f9 æ9g)Ú__name__Ú
__module__Ú__qualname__r   r   r[   r3   ÚcfuncÚsize_tr8   Úpropertyr:   Úbintr<   r   r
   rD   rM   r‹   © r4   r2   r   r      s&  € € € € € ðR˜zð R°&´*ð Rð Rð Rð Rð> „\ð ˜fœmð  ð  ð  ñ „\ð ð ð3ð 3ñ „Xð3ð „\ð &¤+ð ð ð ñ „\ðð
J &¤.°Ô";ð JÀFÄJð Jð Jð Jð Jð"	ð 	ð 	ð 26ð kð kð k C¨$¡Jð kð kð kð kð kð kr4   r   F)Úcheckr‰   r5   c                 ó  — | t           j        k    rd S t          j        t           j        t           j                 | j        ¦  «        }|t           j        k    �rt          j        t           j        t          j                 |d         ¦  «        }t          j        t           j        t                   |d         ¦  «        }t          j        t           j        t                   |d         ¦  «        }|t           j        k    r&t          j	        t          j
        |¦  «        ¦  «         |t           j        k    rt          |¦  «         |t           j        k    rt          |¦  «         t          |¦  «         t          | ¦  «         d S )Nr   r   rQ   )r   rY   r   r   ri   rt   r   ÚAVFramer\   rg   rh   r   )r‰   rˆ   r‡   rq   rr   s        r2   ru   ru   S  s  € ð •&”+ÒÐØˆÝ
Œ+•f”n¥V¤]Ô3°WÔ5HÑ
IÔ
I€CØ
�fŒkÒÑÝ”K¥¤­s¬{Ô ;¸SÀ¼VÑDÔDˆ	Ý”�FœN­7Ô3°S¸´VÑ<Ô<ˆÝ”+�fœn­WÔ5°s¸1´vÑ>Ô>ˆà�œÒ#Ð#ÝÔ�fœn¨YÑ7Ô7Ñ8Ô8Ð8Ø•F”KÒÐÝ�‰KŒKˆKØ•f”kÒ!Ð!Ý�‰MŒMˆMÝˆS‰	Œ	ˆ	åˆ�M„M€M€M€Mr4   rŠ   c                 óè   — t          | d¦  «        r_t          j        t          j        t                   t          | d¦  «        ¦  «        }|t          j        k    r|                     |¦  «         d S d S d S )NrW   )r   r   r   r   rj   r   rY   rv   )rŠ   r‰   s     r2   rw   rw   l  sw   € õ ˜ +Ñ.Ô.ð %Ý”+ÝŒN�?Ô+Ý  ¨+Ñ6Ô6ñ
ô 
ˆð •f”kÒ!Ð!Ø�OŠO˜GÑ$Ô$Ð$Ð$Ð$ð%ð %ð
 "Ð!r4   )&r   Úcython.cimports.libavÚcimportsÚlibavr   Úcython.cimports.av.errorr   Úcython.cimports.av.video.formatr   r   r   Úcython.cimports.av.video.framer   Úcython.cimports.cpythonr   r	   Úcython.cimports.cpython.bufferr
   Ú!cython.cimports.cpython.pycapsuler   r   r   Úcython.cimports.libc.stdlibr   r   ÚfinalÚcclassÚPlaner   r�   ÚnogilÚ	exceptvalr   rj   Úvoidru   Úobjectrw   r“   r4   r2   ú<module>r©      sý  ðØ €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð
 6Ð 5Ð 5Ð 5Ð 5Ð 5Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð
 5Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ð „Ø„ðzð zð zð zð z�ñ zô zñ „ñ „ðzðz	 „Ø„Ø€Ô˜ÐÑÔðØŒ^˜OÔ,ðà„[ðð ð ñ Ôñ „ñ „ðð, „Ø€Ô˜ÐÑÔð%¨ð %°6´;ð %ð %ð %ñ Ôñ „ð%ð %ð %r4   