|
|
|
@ -13,6 +13,7 @@ from ffx.constants import DEFAULT_cut_start, DEFAULT_cut_length
|
|
|
|
|
|
|
|
|
|
from ffx.filter.quality_filter import QualityFilter
|
|
|
|
|
from ffx.filter.preset_filter import PresetFilter
|
|
|
|
|
from ffx.filter.crop_filter import CropFilter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FfxController():
|
|
|
|
@ -176,7 +177,8 @@ class FfxController():
|
|
|
|
|
targetPath,
|
|
|
|
|
targetFormat: str = '',
|
|
|
|
|
videoEncoder: VideoEncoder = VideoEncoder.VP9,
|
|
|
|
|
chainIteration: list = []):
|
|
|
|
|
chainIteration: list = [],
|
|
|
|
|
cropArguments: dict = {}):
|
|
|
|
|
# quality: int = DEFAULT_QUALITY,
|
|
|
|
|
# preset: int = DEFAULT_AV1_PRESET):
|
|
|
|
|
|
|
|
|
@ -191,7 +193,17 @@ class FfxController():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filterParamTokens = []
|
|
|
|
|
filterParamTokens.extend(cropFilters[0]['tokens'] if cropFilters else [])
|
|
|
|
|
|
|
|
|
|
if cropArguments:
|
|
|
|
|
|
|
|
|
|
cropParams = (f"crop="
|
|
|
|
|
+ f"{CropFilter.OUTPUT_WIDTH_KEY}"
|
|
|
|
|
+ f":{CropFilter.OUTPUT_HEIGHT_KEY}"
|
|
|
|
|
+ f":{CropFilter.OFFSET_X_KEY}"
|
|
|
|
|
+ f":{CropFilter.OFFSET_Y_KEY}")
|
|
|
|
|
|
|
|
|
|
filterParamTokens.extend(cropParams)
|
|
|
|
|
|
|
|
|
|
filterParamTokens.extend(denoiseFilters[0]['tokens'] if denoiseFilters else [])
|
|
|
|
|
|
|
|
|
|
filterTokens = ['-vf', ', '.join(filterParamTokens)]
|
|
|
|
|