How to Enable and Control Film Grain in SVT-AV1

Film grain synthesis is a powerful feature in the AV1 video codec that helps drastically reduce file sizes for grainy content by removing original noise during encoding and synthetically recreating it at the decoder level. This article explains how to enable and fine-tune film grain synthesis in the SVT-AV1 (libsvtav1) encoder using both FFmpeg and the native SVT-AV1 command-line interface.

Enabling Film Grain via FFmpeg

To use SVT-AV1’s film grain synthesis in FFmpeg, you must pass the relevant settings to the encoder using the -svtav1-params flag.

Below is an example of an FFmpeg command enabling film grain:

ffmpeg -i input.mp4 -c:v libsvtav1 -crf 24 -svtav1-params film-grain=15:film-grain-denoise=1 -c:a copy output.mkv

Enabling Film Grain via SVT-AV1 CLI

If you are using the standalone SvtAv1EncApp executable, use the native command-line arguments instead:

SvtAv1EncApp -i input.y4m -b output.ivf --film-grain 15 --film-grain-denoise 1

Controlling Film Grain Parameters

To control the behavior and intensity of the synthesis, you must configure two primary parameters:

1. Film Grain Strength (film-grain)

This parameter sets the level of synthetic grain to be generated and applied during playback. * Range: 0 to 50 * 0: Disables film grain synthesis entirely (default). * 1 to 15: Recommended for clean, modern digital content or videos with very mild noise. * 16 to 30: Recommended for standard cinematic content shot on film (e.g., 35mm film). * 31 to 50: Best for extremely noisy or vintage content (e.g., 16mm film or high-ISO footage).

2. Film Grain Denoising (film-grain-denoise)

This parameter determines whether the encoder should strip the original noise from the source video before compressing it. * Range: 0 (Disabled) or 1 (Enabled) * 1 (Enabled): The encoder applies a low-pass filter to remove the original, hard-to-compress noise. This allows the encoder to compress the smooth underlying video efficiently, leaving the playback device to regenerate the noise synthetically. This is highly recommended to achieve the bitrate savings of film grain synthesis. * 0 (Disabled): The original noise is kept in the video stream, and synthetic grain is also added. This is generally avoided because it defeats the compression benefits of the technology.


Important Considerations