ó
    -VðiZ  ã                   óN  • S SK r S SKJr  S SKrS SKJr  S SKJr  S SKJ	r	  S SK
JrJr  S SKJr  S SKJr  S S	KJrJrJr  S S
KJrJrJrJrJrJr  S SKJrJrJr  S SK J!r!  S SK"J#r#J$r$J%r%  S SK&J'r'  S SK(J)r)   " S S5      r*\RV                  " 5       SS j5       r,\-S:X  a  \," 5         gg)é    N)ÚIterator)ÚGaussianNoiser)ÚLoraPathStrengthAndSDOps)ÚRegistry)ÚTilingConfigÚget_video_chunks_number)ÚQuantizationPolicy)ÚAudio)ÚImageConditioningInputÚ$default_2_stage_distilled_arg_parserÚdetect_checkpoint_path)ÚAudioDecoderÚDiffusionStageÚImageConditionerÚPromptEncoderÚVideoDecoderÚVideoUpsampler)ÚDISTILLED_SIGMASÚSTAGE_2_DISTILLED_SIGMASÚdetect_params)ÚSimpleDenoiser)Úassert_resolutionÚcombined_image_conditioningsÚ
get_device)Úencode_video)ÚModalitySpecc                   ó$  • \ rS rSrSr    SS\S\S\S\\   S	\R                  S-  S
\
S-  S\S-  S\4S jjrSSS\\4S\S\S\S\S\S\S\\   S\S-  S\S\S-  S\R(                  S\R(                  S\\\R(                     \4   4S jjrSrg)ÚDistilledPipelineé(   zÎ
Two-stage distilled video generation pipeline.
Stage 1 generates video at half of the target resolution, then Stage 2 upsamples
by 2x and refines with additional denoising steps for higher quality output.
NFÚdistilled_checkpoint_pathÚ
gemma_rootÚspatial_upsampler_pathÚlorasÚdeviceÚquantizationÚregistryÚtorch_compilec	           
      ó,  • U=(       d
    [        5       U l        [        R                  U l        [        XU R                  U R                  US9U l        [        XR                  U R                  US9U l        [        UU R                  U R                  [        U5      UUUS9U l        [        XU R                  U R                  US9U l        [        XR                  U R                  US9U l        [!        XR                  U R                  US9U l        g )N)r&   )r#   r%   r&   r'   )r   r$   ÚtorchÚbfloat16Údtyper   Úprompt_encoderr   Úimage_conditionerr   ÚtupleÚstager   Ú	upsamplerr   Úvideo_decoderr   Úaudio_decoder)	Úselfr    r!   r"   r#   r$   r%   r&   r'   s	            Ú\D:\a\ltx-desktop-ci\ltx-desktop-ci\python-embed\Lib\site-packages\ltx_pipelines\distilled.pyÚ__init__ÚDistilledPipeline.__init__/   sç   € ð ×,¤
£ˆŒÜ—^‘^ˆŒ
ä+Ø%°4·:±:¸t¿{¹{ÐU]ñ
ˆÔô "2Ð2KÏZÉZÐY]×YdÑYdÐowÑ!xˆÔÜ#Ø%Ø�J‰JØ�K‰KÜ˜“,Ø%ØØ'ñ
ˆŒ
ô (Ø%¸t¿z¹zÈ4Ï;É;Ðaiñ
ˆŒô *Ð*CÇZÁZÐQU×Q\ÑQ\ÐgoÑpˆÔÜ)Ð*CÇZÁZÐQU×Q\ÑQ\ÐgoÑpˆÕó    ÚpromptÚseedÚheightÚwidthÚ
num_framesÚ
frame_rateÚimagesÚtiling_configÚenhance_promptÚstreaming_prefetch_countÚstage_1_sigmasÚstage_2_sigmasÚreturnc                 ó6  ^ ^^^^^^• [        TTSS9  [        R                  " T R                  S9R	                  U5      n[        US9n[        R                  mT R                  U/U	[        T5      S:”  a  TS   S   OS U
S9u  nUR                  UR                  nnUR                  [        R                  T R                  S9nTS-  TS-  smmT R                  UUU UU4S	 j5      nT R                  [        UU5      UUTTUU[!        UUS
9[!        US9U
S9
u  nnT R#                  UR$                  S S 5      nUR                  [        R                  T R                  S9nT R                  UUUU U4S j5      nT R                  [        UU5      UUTTUU[!        UUUS   R'                  5       US9[!        UUS   R'                  5       UR$                  S9U
S9
u  nnT R)                  UR$                  X�5      nT R+                  UR$                  5      nUU4$ )NT)r:   r;   Úis_two_stage)r$   )Ú	generatorr   )Úenhance_first_promptÚenhance_prompt_imagerA   )r+   r$   é   c           	      ó4   >• [        TTTU TTR                  S9$ ©N)r>   r:   r;   Úvideo_encoderr+   r$   ©r   r$   )Úencr+   r>   r3   Ú	stage_1_hÚ	stage_1_ws    €€€€€r4   Ú<lambda>Ú,DistilledPipeline.__call__.<locals>.<lambda>q   s!   ø€ Ô4ØØ ØØ!ØØ—{‘{òr7   )ÚcontextÚconditionings)rT   )
ÚdenoiserÚsigmasÚnoiserr;   r:   ÚframesÚfpsÚvideoÚaudiorA   é   c           	      ó4   >• [        TTTU TTR                  S9$ rL   rN   )rO   r+   r:   r>   r3   r;   s    €€€€€r4   rR   rS   �   s!   ø€ Ô4ØØØØ!ØØ—{‘{òr7   )rT   rU   Únoise_scaleÚinitial_latent)rT   r_   r`   )r   r)   Ú	Generatorr$   Úmanual_seedr   r*   r,   ÚlenÚvideo_encodingÚaudio_encodingÚtoÚfloat32r-   r/   r   r   r0   ÚlatentÚitemr1   r2   )r3   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rG   rX   Úctx_pÚvideo_contextÚaudio_contextÚstage_1_conditioningsÚvideo_stateÚaudio_stateÚupscaled_video_latentÚstage_2_conditioningsÚdecoded_videoÚdecoded_audior+   rP   rQ   s   `  ``  `                 @@@r4   Ú__call__ÚDistilledPipeline.__call__P   s@  þ€ ô 	 ¨uÀ4ÒHä—O’O¨4¯;©;Ñ7×CÑCÀDÓIˆ	Ü¨)Ñ4ˆÜ—‘ˆà×&Ñ&ØˆHØ!/Ü14°V³¸q³ ¨¡¨1¢ÀdØ%=ð	 'ð 
‰ˆð (-×';Ñ';¸U×=QÑ=Q�}ˆð (×*Ñ*´·±ÀtÇ{Á{Ð*ÐSˆØ$¨™z¨6°Q©;Ðˆ	�9Ø $× 6Ñ 6÷ð ó	!
Ðð $(§:¡:Ü# M°=ÓAØ!ØØØØØÜ }ÐDYÑZÜ }Ñ5Ø%=ð $.ð $
Ñ ˆ�[ð !%§¡¨{×/AÑ/AÀ"À1Ð/EÓ FÐà'×*Ñ*´·±ÀtÇ{Á{Ð*ÐSˆØ $× 6Ñ 6÷ð ó	!
Ðð $(§:¡:Ü# M°=ÓAØ!ØØØØØÜØ%Ø3Ø*¨1Ñ-×2Ñ2Ó4Ø4ñ	ô Ø%Ø*¨1Ñ-×2Ñ2Ó4Ø*×1Ñ1ñð
 &>ð' $.ð $
Ñ ˆ�[ð, ×*Ñ*¨;×+=Ñ+=¸}ÓXˆØ×*Ñ*¨;×+=Ñ+=Ó>ˆØ˜mÐ+Ð+r7   )r2   r$   r+   r-   r,   r/   r0   r1   )NNNF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚstrÚlistr   r)   r$   r	   r   Úboolr5   r   r   ÚintÚfloatr   r   ÚTensorr.   r   r
   rt   Ú__static_attributes__© r7   r4   r   r   (   s^  † ñð '+Ø26Ø$(Ø#ñqà#&ðqð ðqð !$ð	qð
 Ð,Ñ-ðqð —‘˜tÑ#ðqð )¨4Ñ/ðqð ˜T‘/ðqð õqðT .2Ø$Ø/3Ø'7Ø'?ñ_,àð_,ð ð_,ð ð	_,ð
 ð_,ð ð_,ð ð_,ð Ð+Ñ,ð_,ð $ dÑ*ð_,ð ð_,ð #&¨¡*ð_,ð Ÿ™ð_,ð Ÿ™ð_,ð 
ˆx˜Ÿ™Ñ% uÐ,Ñ	-÷_,ð _,r7   r   c                  óü  • [         R                  " 5       R                  [         R                  5        [	        SS9n [        U 5      n[        US9nUR                  5       n[        UR                  UR                  UR                  UR                  (       a  [        UR                  5      OSUR                  UR                  S9n[         R"                  " 5       n[%        UR&                  U5      nU" UR(                  UR*                  UR,                  UR.                  UR&                  UR0                  UR2                  UUR4                  UR6                  S9
u  px[9        UUR0                  UUR:                  US9  g )NT)Ú	distilled)Úparamsr‚   )r    r"   r!   r#   r%   r'   )
r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   )r[   rZ   r\   Úoutput_pathÚvideo_chunks_number)ÚloggingÚ	getLoggerÚsetLevelÚINFOr   r   r   Ú
parse_argsr   r    r"   r!   Úlorar.   r%   Úcompiler   Údefaultr   r<   r8   r9   r:   r;   r=   r>   r@   rA   r   r†   )	Úcheckpoint_pathr…   ÚparserÚargsÚpipeliner?   r‡   r[   r\   s	            r4   Úmainr”   ²   s&  € ä×ÒÓ× Ñ ¤§¡Ô.Ü,°tÑ<€OÜ˜?Ó+€FÜ1¸Ñ@€FØ×ÑÓ€DÜ Ø"&×"@Ñ"@Ø#×:Ñ:Ø—?‘?Ø"&§)§)Œe�D—I‘IÔ°Ø×&Ñ&Ø—l‘lñ€Hô !×(Ò(Ó*€MÜ1°$·/±/À=ÓQÐÙØ�{‰{Ø�Y‰YØ�{‰{Ø�j‰jØ—?‘?Ø—?‘?Ø�{‰{Ø#Ø×*Ñ*Ø!%×!>Ñ!>ñ�L€Eô ØØ�O‰OØØ×$Ñ$Ø/ór7   Ú__main__)rD   N).rˆ   Úcollections.abcr   r)   Últx_core.components.noisersr   Últx_core.loaderr   Últx_core.loader.registryr   Últx_core.model.video_vaer   r   Últx_core.quantizationr	   Últx_core.typesr
   Últx_pipelines.utils.argsr   r   r   Últx_pipelines.utils.blocksr   r   r   r   r   r   Últx_pipelines.utils.constantsr   r   r   Últx_pipelines.utils.denoisersr   Últx_pipelines.utils.helpersr   r   r   Últx_pipelines.utils.media_ior   Últx_pipelines.utils.typesr   r   Úinference_moder”   rv   r‚   r7   r4   Ú<module>r¥      s”   ðÛ Ý $ã å 6Ý 4Ý -ß JÝ 4Ý  ÷ñ ÷
÷ ÷ñ õ
 9÷ñ õ
 6Ý 2÷G,ñ G,ðT ×ÒÓó#ó ð#ðL ˆzÓÙ…Fð r7   