
    ^j                         d Z ddlZddlmc mc mZ ddlmZ ddl	m
Z
mZmZmZ ddlmZ ddlmZ ddlmZmZ  G d	 d
e      Zd
gZy)z-
Video processor class for InstructBLIPVideo
    N   )BatchFeature)OPENAI_CLIP_MEANOPENAI_CLIP_STDPILImageResamplingSizeDict)
TensorType)BaseVideoProcessor)group_videos_by_shapereorder_videosc                       e Zd Zej                  ZeZeZ	dddZ
dZdZdZdZdZdZdgZ	 dded   d	ed
ededddedededededeee   z  dz  deee   z  dz  deez  dz  defdZy)InstructBlipVideoVideoProcessori  )heightwidthTFpixel_valuesNvideosztorch.Tensordo_convert_rgb	do_resizesizeresamplez7PILImageResampling | tvF.InterpolationMode | int | Nonedo_center_crop	crop_size
do_rescalerescale_factordo_normalize
image_mean	image_stdreturn_tensorsreturnc           	         t        |      \  }}i }|j                         D ]3  \  }}|r| j                  |      }|r| j                  |||      }|||<   5 t	        ||      }t        |      \  }}i }|j                         D ]4  \  }}|r| j                  ||      }| j                  |||	|
||      }|||<   6 t	        ||      }t        d|i|      S )N)r   r   r   )datatensor_type)r   itemsconvert_to_rgbresizer   center_croprescale_and_normalizer   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   kwargsgrouped_videosgrouped_videos_indexresized_videos_groupedshapestacked_videosresized_videosprocessed_videos_groupedprocessed_videoss                          /var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/instructblipvideo/video_processing_instructblipvideo.py_preprocessz+InstructBlipVideoVideoProcessor._preprocess*   s   $ 0EV/L,,!#%3%9%9%; 	;!E>!%!4!4^!D!%^$QY!Z,:"5)	; ((>@TU 0E^/T,,#% %3%9%9%; 	=!E>!%!1!1.)!L!77
NL*V_N /=$U+	= **BDXY.2B!CQ_``    )N)__name__
__module____qualname__r   BICUBICr   r   r   r   r   r   default_to_squarer   r   r   r   do_sample_framesmodel_input_nameslistboolr   floatstrr	   r   r3    r4   r2   r   r      s   !))H!JIC(DIJLN'(  37+a^$+a +a 	+a
 +a L+a +a +a +a +a +a DK'$.+a 4;&-+a j(4/+a  
!+ar4   r   )__doc__torch$torchvision.transforms.v2.functional
transformsv2
functionaltvFimage_processing_utilsr   image_utilsr   r   r   r   utilsr	   video_processing_utilsr
   video_utilsr   r   r   __all__r@   r4   r2   <module>rN      sA     2 2 2 Z Z  8 @8a&8 8av -
-r4   