diff --git a/src/ffx/ffx_controller.py b/src/ffx/ffx_controller.py index 8fa1710..d7a926a 100644 --- a/src/ffx/ffx_controller.py +++ b/src/ffx/ffx_controller.py @@ -182,13 +182,19 @@ class FfxController(): qualityFilters = [fy for fy in chainIteration if fy['identifier'] == 'quality'] presetFilters = [fy for fy in chainIteration if fy['identifier'] == 'preset'] + + cropFilters = [fy for fy in chainIteration if fy['identifier'] == 'crop'] denoiseFilters = [fy for fy in chainIteration if fy['identifier'] == 'nlmeans'] quality = (qualityFilters[0]['parameters']['quality'] if qualityFilters else QualityFilter.DEFAULT_VP9_QUALITY) preset = presetFilters[0]['parameters']['preset'] if presetFilters else PresetFilter.DEFAULT_PRESET - denoiseTokens = denoiseFilters[0]['tokens'] if denoiseFilters else [] + filterParamTokens = [] + filterParamTokens.extend(cropFilters[0]['tokens'] if cropFilters else []) + filterParamTokens.extend(denoiseFilters[0]['tokens'] if denoiseFilters else []) + + filterTokens = ['-vf', ', '.join(filterParamTokens)] commandTokens = FfxController.COMMAND_TOKENS + ['-i', sourcePath] @@ -202,7 +208,7 @@ class FfxController(): # Optional tokens commandSequence += self.__mdcs.generateMetadataTokens() - commandSequence += denoiseTokens + commandSequence += filterTokens for td in self.__targetMediaDescriptor.getTrackDescriptors(trackType=TrackType.VIDEO): #HINT: Attached thumbnails are not supported by .webm container format @@ -232,7 +238,7 @@ class FfxController(): # Optional tokens commandSequence += self.__mdcs.generateMetadataTokens() - commandSequence += denoiseTokens + commandSequence += filterTokens for td in self.__targetMediaDescriptor.getTrackDescriptors(trackType=TrackType.VIDEO): #HINT: Attached thumbnails are not supported by .webm container format @@ -264,7 +270,7 @@ class FfxController(): # the required bitrate for the second run is determined and recorded # TODO: Results seems to be slightly better with first pass omitted, # Confirm or find better filter settings for 2-pass - # commandSequence1 += self.__context['denoiser'].generateDenoiseTokens() + # commandSequence1 += self.__context['denoiser'].generatefilterTokens() for td in self.__targetMediaDescriptor.getTrackDescriptors(trackType=TrackType.VIDEO): #HINT: Attached thumbnails are not supported by .webm container format @@ -291,7 +297,7 @@ class FfxController(): # Optional tokens commandSequence2 += self.__mdcs.generateMetadataTokens() - commandSequence2 += denoiseTokens + commandSequence2 += filterTokens for td in self.__targetMediaDescriptor.getTrackDescriptors(trackType=TrackType.VIDEO): #HINT: Attached thumbnails are not supported by .webm container format