import os from typing import List, Dict, Any ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) WORKFLOW_DIR = os.path.join(ROOT_DIR, "workflow") file_types = [ ("Image", ("*.png", "*.jpg", "*.jpeg", "*.gif", "*.bmp")), ("Video", ("*.mp4", "*.mkv")), ] source_target_map = [] simple_map = {} source_path = None target_path = None output_path = None frame_processors: List[str] = [] keep_fps = True keep_audio = True keep_frames = False many_faces = False map_faces = False color_correction = False # New global variable for color correction toggle nsfw_filter = False video_encoder = None video_quality = None live_mirror = False live_resizable = True max_memory = None execution_providers: List[str] = [] execution_threads = None headless = None log_level = "error" fp_ui: Dict[str, bool] = {"face_enhancer": False} camera_input_combobox = None webcam_preview_running = False show_fps = False mouth_mask = False show_mouth_mask_box = False mask_feather_ratio = 8 mask_down_size = 0.50 mask_size = 1 # Enhanced performance settings performance_mode = "balanced" # "fast", "balanced", "quality" adaptive_quality = True target_live_fps = 30 quality_level = 1.0 face_detection_interval = 0.1 enable_frame_caching = True enable_gpu_acceleration = True # Occlusion handling settings enable_occlusion_detection = False # Disable by default to keep normal face swap behavior occlusion_sensitivity = 0.3 # Lower = less sensitive, higher = more sensitive