+
     °³j  ã                   ór   € ^ RI t ^ RIt] P                  ! R4       R tR tR tRR ltR tR tRR	 lt	R
 t
R# )é    Nz´The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead.c                 óÞ   € \         P                  ! V 4      '       g   \        R \        V 4      ,          4      hV P	                  4       ^8X  g!   \        RV P                  4       ,          4      hR# )zclip should be Tensor. Got %szclip should be 4D. Got %dDT)ÚtorchÚ	is_tensorÚ	TypeErrorÚtypeÚ
ndimensionÚ
ValueErrorÚdim©Úclips   &Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/transforms/_functional_video.pyÚ_is_tensor_video_clipr      sO   € Ü�?Š?˜4× Ò ÜÐ7¼$¸t»*ÕDÓEÐEà�?‰?Ó Ô!ÜÐ5¸¿¹»
ÕBÓCÐCáó    c                óŒ   € \        V P                  4       4      ^8w  d   \        R4      hV RWV,           1W"V,           13,          # )zO
Args:
    clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W)
zclip should be a 4D tensor.)ÚlenÚsizer	   )r   ÚiÚjÚhÚws   &&&&&r   Úcropr      sA   € ô
 ˆ4�9‰9‹;Ó˜1ÔÜÐ5Ó6Ð6Ø��Q˜Q��Y ¨¥E 	Ð)Õ*Ð*r   c                 ó–   € \        V4      ^8w  d   \        RV 24      h\        P                  P                  P                  WVRR7      # )é   z9target size should be tuple (height, width), instead got F)r   ÚmodeÚalign_corners)r   r	   r   ÚnnÚ
functionalÚinterpolate)r   Útarget_sizeÚinterpolation_modes   &&&r   Úresizer!       sH   € Ü
ˆ;Ó˜1ÔÜÐTÐU`ÐTaÐbÓcÐcÜ�8‰8×Ñ×*Ñ*¨4ÐHZÐjoÐ*ÓpÐpr   c                óp   € \        V 4      '       g   \        R4      h\        WW#V4      p \        WV4      p V # )aé  
Do spatial cropping and resizing to the video clip
Args:
    clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W)
    i (int): i in (i,j) i.e coordinates of the upper left corner.
    j (int): j in (i,j) i.e coordinates of the upper left corner.
    h (int): Height of the cropped region.
    w (int): Width of the cropped region.
    size (tuple(int, int)): height and width of resized clip
Returns:
    clip (torch.tensor): Resized and cropped clip. Size is (C, T, H, W)
ú clip should be a 4D torch.tensor)r   r	   r   r!   )r   r   r   r   r   r   r    s   &&&&&&&r   Úresized_cropr$   &   s;   € ô ! ×&Ò&ÜÐ;Ó<Ð<Ü�˜˜qÓ!€DÜ�$Ð0Ó1€DØ€Kr   c                 óP  € \        V 4      '       g   \        R 4      hV P                  R4      V P                  R4      r2Vw  rEW$8  g   W58  d   \        R4      h\        \	        W$,
          R,          4      4      p\        \	        W5,
          R,          4      4      p\        WWtV4      # )r#   z2height and width must be no smaller than crop_sizeg       @éþÿÿÿéÿÿÿÿ)r   r	   r   ÚintÚroundr   )r   Ú	crop_sizer   r   ÚthÚtwr   r   s   &&      r   Úcenter_cropr-   :   s…   € Ü  ×&Ò&ÜÐ;Ó<Ð<Ø�9‰9�R‹=˜$Ÿ)™) B›-€qØ�F€BØ„v�”ÜÐMÓNÐNäŒE�1•6˜S•.Ó!Ó"€AÜŒE�1•6˜S•.Ó!Ó"€AÜ�˜ Ó#Ð#r   c                óò   € \        V 4       V P                  \        P                  8X  g&   \	        R\        V P                  4      ,          4      hV P                  4       P                  ^^ ^^4      R,          # )zÿ
Convert tensor data type from uint8 to float, divide value by 255.0 and
permute the dimensions of clip tensor
Args:
    clip (torch.tensor, dtype=torch.uint8): Size is (T, H, W, C)
Return:
    clip (torch.tensor, dtype=torch.float): Size is (C, T, H, W)
z/clip tensor should have data type uint8. Got %sg     ào@)r   Údtyper   Úuint8r   ÚstrÚfloatÚpermuter   s   &r   Ú	to_tensorr4   G   sZ   € ô ˜$ÔØ�:‰:œŸ™Ô$ÜÐIÌCÐPT×PZÑPZËOÕ[Ó\Ð\Ø�:‰:‹<×Ñ  1 a¨Ó+¨eÕ3Ð3r   c                óz  € \        V 4      '       g   \        R4      hV'       g   V P                  4       p \        P                  ! WP
                  V P                  R7      p\        P                  ! W P
                  V P                  R7      pV P                  VR,          4      P                  VR,          4       V # )zù
Args:
    clip (torch.tensor): Video clip to be normalized. Size is (C, T, H, W)
    mean (tuple): pixel RGB mean. Size is (3)
    std (tuple): pixel standard deviation. Size is (3)
Returns:
    normalized clip (torch.tensor): Size is (C, T, H, W)
r#   )r/   Údevice):NNNNNN)	r   r	   Úcloner   Ú	as_tensorr/   r6   Úsub_Údiv_)r   ÚmeanÚstdÚinplaces   &&&&r   Ú	normalizer>   V   s�   € ô ! ×&Ò&ÜÐ;Ó<Ð<ßØ�z‰z‹|ˆÜ�?Š?˜4§z¡z¸$¿+¹+ÔF€DÜ
�/Š/˜#§Z¡Z¸¿¹Ô
D€CØ‡I�IˆdÐ&Õ'Ó(×-Ñ-¨cÐ2EÕ.FÔGØ€Kr   c                ó\   € \        V 4      '       g   \        R4      hV P                  R4      # )z‘
Args:
    clip (torch.tensor): Video clip to be normalized. Size is (C, T, H, W)
Returns:
    flipped clip (torch.tensor): Size is (C, T, H, W)
r#   r'   )r   r	   Úflipr   s   &r   ÚhfliprA   i   s)   € ô ! ×&Ò&ÜÐ;Ó<Ð<Ø�9‰9�R‹=Ðr   )Úbilinear)F)Úwarningsr   Úwarnr   r   r!   r$   r-   r4   r>   rA   © r   r   Ú<module>rF      sH   ðÛ ã ð 	‡‚ðIôòò+òqôò(
$ò4ôô&	r   