Ë
    óÿæiL  ã                   óš   — d dl Z d dlmZmZ d dl 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)ÚIterableÚIterator)Ú	dataclass)Ú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/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchcodec/_frame.pyÚ_frame_reprr      s   € ð 	�‰×Ñ %Ñ'€AØ€FÜ×#Ñ# DÖ)ˆØ—Z‘Zˆ
Ü˜D *Ó-ˆ	Ø˜ÒØ'ˆJØ!Ÿ™ˆIØ	�ˆx˜
�| 2 i [°Ð3Ñ3‰ð *ð €Hó    c                   óZ   — e Zd ZU dZeed<   	 eed<   	 eed<   	 d„ Zdeeez     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__2   ó,   è ø€ Ü ×'Ñ'¨Ö-ˆEÜ˜$ §
¡
Ó+Ó+ñ .ùó   ‚46c                 ó   — t        | «      S r'   ©r   r#   s    r   Ú__repr__zFrame.__repr__6   ó   € Ü˜4Ó Ð r   N)r   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r"   r$   r   r*   r/   © r   r   r   r      s>   … á8à
ƒLØ3ØÓØ;ØÓØ8ò=ð,˜( 6¨E¡>Ñ2ó ,ó!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__O   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   r7   )r   r   r   r   s       r   r*   zFrameBatch.__iter__`   sL   è ø€ Ü36Ø�I‰I�t×'Ñ'¨×)>Ñ)>ö4
Ñ/ˆD�+Ð/ô ØØ'Ø!1ôó ñ4
ùs   ‚AAc                 ól   — t        | j                  |   | j                  |   | j                  |   ¬«      S r=   )r7   r   r   r   )r   Úkeys     r   Ú__getitem__zFrameBatch.__getitem__j   s6   € ÜØ—‘˜3‘Ø×(Ñ(¨Ñ-Ø!×2Ñ2°3Ñ7ô
ð 	
r   c                 ó,   — t        | j                  «      S r'   )Úlenr   r#   s    r   Ú__len__zFrameBatch.__len__q   s   € Ü�4—9‘9‹~Ðr   c                 ó   — t        | «      S r'   r.   r#   s    r   r/   zFrameBatch.__repr__t   r0   r   N)r%   r7   )r   r1   r2   r3   r   r4   r$   r   r*   rA   rD   r/   r5   r   r   r7   r7   :   sH   … ñ
ð ƒLØ6ØÓØPØÓØMòð"˜( <Ñ0ó ó
òó!r   r7   c                   óf   — 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z     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   ÚintrH   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   r/   zAudioSamples.__repr__‘   r0   r   N)r   r1   r2   r3   r   r4   r"   rK   r$   r   r*   r/   r5   r   r   rG   rG   x   sG   … á1à
ƒLØkØÓØ:ØÓØ2ØÓØ0ò1ð,˜( 6¨E¡>Ñ2ó ,ó!r   rG   )r   Úcollections.abcr   r   r   Útorchr   r   r   r7   rG   r5   r   r   Ú<module>rP      sj   ðó ß .Ý !å òð  ô!ˆHó !ó ð!ð4 ô:!�ó :!ó ð:!ðz ô!�8ó !ó ñ!r   