From 286d25e91d73070ddc8d8037ee93be586ce108c1 Mon Sep 17 00:00:00 2001 From: harisreedhar Date: Tue, 9 Dec 2025 18:39:23 +0530 Subject: [PATCH] use common analyse_image method --- facefusion/workflows/audio_to_image.py | 10 ++-------- facefusion/workflows/core.py | 8 +++++++- facefusion/workflows/image_to_image.py | 10 ++-------- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/facefusion/workflows/audio_to_image.py b/facefusion/workflows/audio_to_image.py index b99a190b..ccd7a506 100644 --- a/facefusion/workflows/audio_to_image.py +++ b/facefusion/workflows/audio_to_image.py @@ -1,12 +1,12 @@ from functools import partial -from facefusion import content_analyser, ffmpeg, logger, process_manager, state_manager, translator +from facefusion import ffmpeg, logger, process_manager, state_manager, translator from facefusion.audio import restrict_trim_audio_frame from facefusion.common_helper import get_first from facefusion.filesystem import filter_audio_paths from facefusion.types import ErrorCode from facefusion.vision import detect_image_resolution, restrict_image_resolution, scale_resolution -from facefusion.workflows.core import clear, finalize_video, is_process_stopping, merge_frames, process_video, restore_audio, setup +from facefusion.workflows.core import analyse_image, clear, finalize_video, is_process_stopping, merge_frames, process_video, restore_audio, setup def process(start_time : float) -> ErrorCode: @@ -36,12 +36,6 @@ def process(start_time : float) -> ErrorCode: return 0 -def analyse_image() -> ErrorCode: # TODO: reusable block - if content_analyser.analyse_image(state_manager.get_item('target_path')): - return 3 - return 0 - - def create_temp_frames() -> ErrorCode: state_manager.set_item('output_video_fps', 25.0) # TODO: set default fps value source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths'))) diff --git a/facefusion/workflows/core.py b/facefusion/workflows/core.py index eba81dd8..13a58127 100644 --- a/facefusion/workflows/core.py +++ b/facefusion/workflows/core.py @@ -3,7 +3,7 @@ from concurrent.futures import ThreadPoolExecutor, as_completed import numpy from tqdm import tqdm -from facefusion import ffmpeg, logger, process_manager, state_manager, translator, video_manager +from facefusion import content_analyser, ffmpeg, logger, process_manager, state_manager, translator, video_manager from facefusion.audio import create_empty_audio_frame, get_audio_frame, get_voice_frame from facefusion.common_helper import get_first from facefusion.filesystem import filter_audio_paths, is_video @@ -34,6 +34,12 @@ def clear() -> ErrorCode: return 0 +def analyse_image() -> ErrorCode: + if content_analyser.analyse_image(state_manager.get_item('target_path')): + return 3 + return 0 + + def conditional_get_source_audio_frame(frame_number : int) -> AudioFrame: if state_manager.get_item('workflow') in [ 'audio-to-image', 'image-to-video' ]: source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths'))) diff --git a/facefusion/workflows/image_to_image.py b/facefusion/workflows/image_to_image.py index 01fed565..0837e3de 100644 --- a/facefusion/workflows/image_to_image.py +++ b/facefusion/workflows/image_to_image.py @@ -1,12 +1,12 @@ from functools import partial -from facefusion import content_analyser, ffmpeg, logger, process_manager, state_manager, translator +from facefusion import ffmpeg, logger, process_manager, state_manager, translator from facefusion.filesystem import is_image from facefusion.temp_helper import get_temp_file_path from facefusion.time_helper import calculate_end_time from facefusion.types import ErrorCode from facefusion.vision import detect_image_resolution, pack_resolution, restrict_image_resolution, scale_resolution -from facefusion.workflows.core import clear, is_process_stopping, process_temp_frame, setup +from facefusion.workflows.core import analyse_image, clear, is_process_stopping, process_temp_frame, setup def process(start_time : float) -> ErrorCode: @@ -34,12 +34,6 @@ def process(start_time : float) -> ErrorCode: return 0 -def analyse_image() -> ErrorCode: - if content_analyser.analyse_image(state_manager.get_item('target_path')): - return 3 - return 0 - - def prepare_image() -> ErrorCode: output_image_resolution = scale_resolution(detect_image_resolution(state_manager.get_item('target_path')), state_manager.get_item('output_image_scale')) temp_image_resolution = restrict_image_resolution(state_manager.get_item('target_path'), output_image_resolution)