|
|
|
@ -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
|
|
|
|
|