| from typing import List, Optional |
|
|
| from facefusion.types import Color, Fps, Padding |
|
|
|
|
| def normalize_color(channels : Optional[List[int]]) -> Optional[Color]: |
| if channels and len(channels) == 1: |
| return tuple([ channels[0], channels[0], channels[0], 255 ]) |
| if channels and len(channels) == 2: |
| return tuple([ channels[0], channels[1], channels[0], 255 ]) |
| if channels and len(channels) == 3: |
| return tuple([ channels[0], channels[1], channels[2], 255 ]) |
| if channels and len(channels) == 4: |
| return tuple(channels) |
| return None |
|
|
|
|
| def normalize_space(spaces : Optional[List[int]]) -> Optional[Padding]: |
| if spaces and len(spaces) == 1: |
| return tuple([spaces[0]] * 4) |
| if spaces and len(spaces) == 2: |
| return tuple([ spaces[0], spaces[1], spaces[0], spaces[1] ]) |
| if spaces and len(spaces) == 3: |
| return tuple([ spaces[0], spaces[1], spaces[2], spaces[1] ]) |
| if spaces and len(spaces) == 4: |
| return tuple(spaces) |
| return None |
|
|
|
|
| def normalize_fps(fps : Optional[float]) -> Optional[Fps]: |
| if isinstance(fps, (int, float)): |
| return max(1.0, min(fps, 60.0)) |
| return None |
|
|