o
    h                     @   s$   d Z ddlmZ G dd deZdS )z
Processor class for TVLT.
   )ProcessorMixinc                       sR   e Zd ZdZddgZdZdZ fddZ								dd
dZe	dd Z
  ZS )TvltProcessora`  
    Constructs a TVLT processor which wraps a TVLT image processor and TVLT feature extractor into a single processor.

    [`TvltProcessor`] offers all the functionalities of [`TvltImageProcessor`] and [`TvltFeatureExtractor`]. See the
    docstring of [`~TvltProcessor.__call__`] for more information.

    Args:
        image_processor (`TvltImageProcessor`):
            An instance of [`TvltImageProcessor`]. The image processor is a required input.
        feature_extractor (`TvltFeatureExtractor`):
            An instance of [`TvltFeatureExtractor`]. The feature extractor is a required input.
    image_processorfeature_extractorTvltImageProcessorTvltFeatureExtractorc                    s    t  j||d || _|| _d S )N)r   r   )super__init__r   r   )selfr   r   	__class__ ^/var/www/html/ai/venv/lib/python3.10/site-packages/transformers/models/tvlt/processing_tvlt.pyr	   (   s   
zTvltProcessor.__init__NFc                 O   s   |du r|du rt dd}	|dur | j|g|R d|i|}
|dur2| j|g|R ddi|}	|durE| j|g|R ||d|}i }|durP|| |durY||
 |	durb||	 |S )a  
        Forwards the `images` argument to TvltImageProcessor's [`~TvltImageProcessor.preprocess`] and the `audio`
        argument to TvltFeatureExtractor's [`~TvltFeatureExtractor.__call__`]. Please refer to the docstring of the
        above two methods for more information.
        NzCYou need to specify either an `images` or `audio` input to process.
mask_pixelis_mixedT)sampling_rate
mask_audio)
ValueErrorr   r   update)r
   imagesaudioimages_mixedr   r   r   argskwargsimages_mixed_dictimages_dict
audio_dictoutput_dictr   r   r   __call__.   s2   


zTvltProcessor.__call__c                 C   s"   | j j}| jj}tt|| S )N)r   model_input_namesr   listdictfromkeys)r
   image_processor_input_namesfeature_extractor_input_namesr   r   r   r   U   s   zTvltProcessor.model_input_names)NNNNFF)__name__
__module____qualname____doc__
attributesimage_processor_classfeature_extractor_classr	   r   propertyr   __classcell__r   r   r   r   r      s    
'r   N)r(   processing_utilsr   r   r   r   r   r   <module>   s   