
    
3j                         S SK Jr  SrSrSrSrSrSrSrS	r	S
r
S\S\S\4S jr\" SSS9 " S S5      5       r\" SS9 " S S5      5       rg)   )
comfy_nodeltxv_av_metavideo_only_keysaudio_only_keysshared_keysaudio_shared_valuessamplestypetransformer_optionsaudio_lengthvideo_latentaudio_latentreturnc                 D   [        U R                  5       5      [        1-
  n[        UR                  5       5      [        [        1-
  n[	        X#-
  5      n[	        X2-
  5      n[	        X#-  5      nU Vs0 s H  owX   _M	     nn[
        U[        U[        U[        U0$ s  snf )zCompute metadata that enables lossless split after AV concat.

Notes:
- We keep video values for shared keys in the merged latent, so we must
  persist the original audio values per shared key.
)	setkeys_KEY_SAMPLES	_KEY_TYPElist_AV_META_VIDEO_ONLY_KEYS_AV_META_AUDIO_ONLY_KEYS_AV_META_SHARED_KEYS_AV_META_AUDIO_SHARED_VALUES)	r   r   
video_keys
audio_keysr   r   r   kr   s	            L/home/wildlama/comfy/ComfyUI/custom_nodes/ComfyUI-LTXVideo/utiltily_nodes.py_build_av_metar      s     \&&()\N:J\&&()\9,EEJ:23O:23Oz./K7BC{!lo-{C / /k$&9	  Ds   3BLTXFloatToIntzFloat To Int)namedescriptionc                   H    \ rS rSr\S 5       rSrSrSrS\	S\
\   4S jrS	rg
)
FloatToInt&   c                     SSSSS0400$ )NrequiredaFLOATdefaultg         clss    r   INPUT_TYPESFloatToInt.INPUT_TYPES(   s    S7Y,<"=>??    )INTopzmath/conversionr'   r   c                     [        U5      4$ N)round)selfr'   s     r   r1   FloatToInt.op0   s    a{r/   r*   N)__name__
__module____qualname____firstlineno__classmethodr-   RETURN_TYPESFUNCTIONCATEGORYfloattupleintr1   __static_attributes__r*   r/   r   r#   r#   &   s>    @ @ LH HE eCj r/   r#   zImage to CPU)r!   c                   6    \ rS rSr\S 5       rSrSrSrS r	Sr
g)	
ImageToCPU4   c                     SSS00$ )Nr&   imageIMAGEr*   r+   s    r   r-   ImageToCPU.INPUT_TYPES6   s     
 	
r/   rH   runutilityc                 $    UR                  5       4$ r3   )cpu)r5   rG   s     r   rK   ImageToCPU.runB   s    		~r/   r*   N)r7   r8   r9   r:   r;   r-   r<   r=   r>   rK   rB   r*   r/   r   rD   rD   4   s*    
 
 LHHr/   rD   N)nodes_registryr   _AV_META_KEYr   r   r   r   r   r   _OPT_TRANSFORMER_OPT_AUDIO_LENGTHdictr   r#   rD   r*   r/   r   <module>rU      s    & , , $ 4  	( "  T d * n=
 
 >
 '  (r/   