diff --git a/src/components/ExportSettings.tsx b/src/components/ExportSettings.tsx index acec541e..6ed051d4 100644 --- a/src/components/ExportSettings.tsx +++ b/src/components/ExportSettings.tsx @@ -186,6 +186,52 @@ export default function ExportSettings({ +
+
+ +
+ +

+ Reduce grain in low-light footage +

+ +
+ {(['off', 'light', 'medium', 'heavy'] as const).map((level) => ( + + ))} +
+ + {recipe.noiseReduction !== 'off' && ( +
+ + ⚠ Note: significantly increases processing time. + +
+ )} +
); } \ No newline at end of file diff --git a/src/lib/types.ts b/src/lib/types.ts index 521a82c2..b68f6e16 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -12,6 +12,7 @@ export interface EditRecipe { quality: number; format: "mp4" | "webm" | "mkv" | "gif"; stabilization: boolean; + noiseReduction: 'off' | 'light' | 'medium' | 'heavy'; brightness: number; contrast: number; saturation: number; @@ -78,6 +79,7 @@ export const DEFAULT_RECIPE: EditRecipe = { quality: 23, format: "mp4", stabilization: false, + noiseReduction: 'off', brightness: 0, contrast: 0, saturation: 0,