Ë
    ÏÍ:jU  ã                   óž   — d dl Z d dl mZ d dlmZmZmZ d dlmZ d„ Ze G d„ de«      «       Z	e G d„ d	e«      «       Z
e G d
„ de«      «       Zy)é    N)Ú	dataclass)ÚIterableÚIteratorÚUnion)ÚTensorc                 óà   — | j                   j                  dz   }d}t        j                  | «      D ]:  }|j                  }t        | |«      }|dk(  rd}|j                  }||› |› d|› d�z  }Œ< |S )Nz:
z  Údatazdata (shape)z: ú
)Ú	__class__Ú__name__ÚdataclassesÚfieldsÚnameÚgetattrÚshape)ÚselfÚsÚspacesÚfieldÚ
field_nameÚ	field_vals         úf/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/torchcodec/_frame.pyÚ_frame_reprr      s„   € ð 	�‰×Ñ %Ñ'€AØ€FÜ×#Ñ# DÓ)ò 4ˆØ—Z‘Zˆ
Ü˜D *Ó-ˆ	Ø˜ÒØ'ˆJØ!Ÿ™ˆIØ	�ˆx˜
�| 2 i [°Ð3Ñ3‰ð4ð €Hó    c                   ó^   — e Zd ZU dZeed<   	 eed<   	 eed<   	 d„ Zdee	eef      fd„Z
d„ Zy	)
ÚFramez.A single video frame with associated metadata.r	   Úpts_secondsÚduration_secondsc                 óâ   — | j                   j                  dk(  s"t        d| j                   j                  ›�«      ‚t	        | j
                  «      | _        t	        | j                  «      | _        y )Né   z2data must be 3-dimensional, got self.data.shape = )r	   ÚndimÚ
ValueErrorr   Úfloatr   r   ©r   s    r   Ú__post_init__zFrame.__post_init__)   sV   € ð �y‰y�~‰~ Ò"ÜÐRÀÇ	Á	ÇÁÐ?SÐTÓUÐUÜ  ×!1Ñ!1Ó2ˆÔÜ % d×&;Ñ&;Ó <ˆÕr   Úreturnc              #   óp   K  — t        j                  | «      D ]  }t        | |j                  «      –— Œ y ­w©N©r   r   r   r   ©r   r   s     r   Ú__iter__zFrame.__iter__1   ó1   è ø€ Ü ×'Ñ'¨Ó-ò 	,ˆEÜ˜$ §
¡
Ó+Ó+ñ	,ùó   ‚46c                 ó   — t        | «      S r(   ©r   r$   s    r   Ú__repr__zFrame.__repr__5   ó   € Ü˜4Ó Ð r   N)r   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r#   r%   r   r   r+   r0   © r   r   r   r      sC   … á8à
ƒLØ3ØÓØ;ØÓØ8ò=ð,˜( 5¨°¨Ñ#7Ñ8ó ,ó!r   r   c                   ób   — e Zd ZU dZeed<   	 eed<   	 eed<   	 d„ Zded    fd„Zdd„Z	d	„ Z
d
„ Zy)Ú
FrameBatchaú  Multiple video frames with associated metadata.

    The ``data`` tensor is typically 4D for sequences of frames (NHWC or NCHW),
    or 5D for sequences of clips, as returned by the :ref:`samplers
    <sphx_glr_generated_examples_decoding_sampling.py>`. When ``data`` is 4D (resp.  5D)
    the ``pts_seconds`` and ``duration_seconds`` tensors are 1D (resp. 2D).

    .. note::
        The ``pts_seconds`` and ``duration_seconds`` Tensors are always returned
        on CPU, even if ``data`` is on GPU.
    r	   r   r   c                 ó¾  — | j                   j                  dk  r"t        d| j                   j                  ›�«      ‚| j                   j                  d d }|| j                  j                  cxk(  r| j
                  j                  k(  sVn t        d| j                   j                  ›d|›d| j                  j                  ›d| j
                  j                  ›d�	«      ‚y )	Nr    z;data must be at least 3-dimensional, got self.data.shape = éýÿÿÿzjTried to create a FrameBatch but the leading dimensions of the inputs do not match. Got self.data.shape = zS so we expected the shape of pts_seconds and duration_seconds to be leading_dims = z#, but got self.pts_seconds.shape = z# and self.duration_seconds.shape = ú.)r	   r!   r"   r   r   r   )r   Úleading_dimss     r   r%   zFrameBatch.__post_init__N   sÔ   € ð �9‰9�>‰>˜AÒÜØN¸D¿I¹I¿O¹OÐ;OÐPóð ð —y‘y—‘ s¨Ð+ˆØ × 0Ñ 0× 6Ñ 6ÔU¸$×:OÑ:O×:UÑ:UÔUÜð*Ø—y‘y—‘Ð*ð +:Ø*6Ð):ð ;-Ø×#Ñ#×)Ñ)Ð-Ð-Q°4×3HÑ3H×3NÑ3NÐ2RÐRSðUóð ð Vr   r&   c              #   ó”   K  — t        | j                  | j                  | j                  «      D ]  \  }}}t	        |||¬«      –— Œ y ­w©N)r	   r   r   )Úzipr	   r   r   r8   )r   r	   r   r   s       r   r+   zFrameBatch.__iter___   sQ   è ø€ Ü36Ø�I‰I�t×'Ñ'¨×)>Ñ)>ó4
ò 	Ñ/ˆD�+Ð/ô ØØ'Ø!1ôó ñ	ùs   ‚AAc                 ól   — t        | j                  |   | j                  |   | j                  |   ¬«      S r>   )r8   r	   r   r   )r   Úkeys     r   Ú__getitem__zFrameBatch.__getitem__i   s6   € ÜØ—‘˜3‘Ø×(Ñ(¨Ñ-Ø!×2Ñ2°3Ñ7ô
ð 	
r   c                 ó,   — t        | j                  «      S r(   )Úlenr	   r$   s    r   Ú__len__zFrameBatch.__len__p   s   € Ü�4—9‘9‹~Ðr   c                 ó   — t        | «      S r(   r/   r$   s    r   r0   zFrameBatch.__repr__s   r1   r   N)r&   r8   )r   r2   r3   r4   r   r5   r%   r   r+   rB   rE   r0   r6   r   r   r8   r8   9   sH   … ñ
ð ƒLØ6ØÓØPØÓØMòð"˜( <Ñ0ó ó
òó!r   r8   c                   ój   — e Zd ZU dZeed<   	 eed<   	 eed<   	 eed<   	 d„ Zde	e
eef      fd„Zd	„ Zy
)ÚAudioSamplesz'Audio samples with associated metadata.r	   r   r   Úsample_ratec                 óâ   — | j                   j                  dk(  s"t        d| j                   j                  ›�«      ‚t	        | j
                  «      | _        t        | j                  «      | _        y )Né   z2data must be 2-dimensional, got self.data.shape = )r	   r!   r"   r   r#   r   ÚintrI   r$   s    r   r%   zAudioSamples.__post_init__„   sV   € ð �y‰y�~‰~ Ò"ÜÐRÀÇ	Á	ÇÁÐ?SÐTÓUÐUÜ  ×!1Ñ!1Ó2ˆÔÜ˜t×/Ñ/Ó0ˆÕr   r&   c              #   óp   K  — t        j                  | «      D ]  }t        | |j                  «      –— Œ y ­wr(   r)   r*   s     r   r+   zAudioSamples.__iter__Œ   r,   r-   c                 ó   — t        | «      S r(   r/   r$   s    r   r0   zAudioSamples.__repr__�   r1   r   N)r   r2   r3   r4   r   r5   r#   rL   r%   r   r   r+   r0   r6   r   r   rH   rH   w   sL   … á1à
ƒLØkØÓØ:ØÓØ2ØÓØ0ò1ð,˜( 5¨°¨Ñ#7Ñ8ó ,ó!r   rH   )r   r   Útypingr   r   r   Útorchr   r   r   r8   rH   r6   r   r   ú<module>rQ      sm   ðó Ý !ß ,Ñ ,å òð  ô!ˆHó !ó ð!ð4 ô:!�ó :!ó ð:!ðz ô!�8ó !ó ñ!r   