AV1 · FGS

Film grain synthesis at 854×480, all 16 libaom test vectors + long varying-grain streams

37 streams · 37 verified · 171 MB · manifest.csv · manifest.json

Base parameters of the group

Codec / encoderAV1 · libaom aomenc --good --cpu-used=3 --passes=1 --lag-in-frames=19 --auto-alt-ref=1 --kf-min-dist=30 --kf-max-dist=30 --enable-keyframe-filtering=0 --tile-columns=0 --tile-rows=0 --row-mt=1 --limit=60 --end-usage=q --cq-level=15 (qindex 60)
Film grain--film-grain-test=1…16 (all libaom test vectors, each on two sequences); long streams (1100 frames, keyframe every 120): grain estimated from source noise (--denoise-noise-level=25) and film-grain tables with a new parameter set every second / every 10 frames (B-pyramid and low-delay, also monochrome)
Sourcesthe 9 sequences scaled (Lanczos) to 854×480, bit depth as in the source
Level / bufferAV1 Annex A: the lowest level (main tier; high tier only when main does not fit) that covers the resolution, sample rate and the actual bitrate. seq_level_idx / seq_tier in the sequence header are patched to that level. Buffer in the name = the level's BufferSize (MaxBitrate × 1 s).
Structure60 frames = 2 GOP × 30 (keyframes at frames 0 and 30, no scene-cut keyframes), random access with a B-pyramid, profile 0 (Main), bit depth as in the source, IVF container. Long streams: 1100 frames.
Verificationtwo aomdec md5 per stream: with grain (default output) and --skip-film-grain (image before grain); PSNR/SSIM on the image before grain. Grain parameters per frame for the long streams in FGS/Long/*.grain_params.json/csv.

Bitrates

sequenceq15
NocturneDance · film-grain-test=112.8342.8 dB
NocturneDance · film-grain-test=1012.8242.8 dB
NocturneRoomHDR · film-grain-test=21.3445.8 dB
NocturneRoomHDR · film-grain-test=111.3245.8 dB
ShakyBaseball · film-grain-test=32.9546.2 dB
ShakyBaseball · film-grain-test=122.9546.2 dB
Witcher3 · film-grain-test=48.3042.3 dB
Witcher3 · film-grain-test=138.3042.3 dB
MissionControl1 · film-grain-test=54.3850.0 dB
MissionControl1 · film-grain-test=144.4050.0 dB
RitualDance · film-grain-test=66.1446.3 dB
RitualDance · film-grain-test=156.1246.3 dB
MeridianShoreHDR · film-grain-test=74.2445.6 dB
MeridianShoreHDR · film-grain-test=164.2345.6 dB
DrivingPOV · film-grain-test=87.1742.8 dB
TiergartenParkway · film-grain-test=912.0540.9 dB
LongNoisyAdaptive · fgs-denoise2534.2136.8 dB
LongVarTable · fgs-table20seg5.9544.2 dB
LongVarTable10f · fgs-table10f-pyr6.3144.3 dB
LongVarTable10fLD · fgs-table10f-ld8.4544.6 dB
LongVarTable10fMono · mono_fgs-table10f-pyr5.7544.1 dB

Actual bitrate in Mbit/s (click to jump to the stream), below: PSNR-Y in dB. Empty cell = point not produced (target unreachable for the content).

Streams

NocturneDance 4 streams
NocturneRoomHDR 4 streams
ShakyBaseball 4 streams
Witcher3 4 streams
MissionControl1 4 streams
RitualDance 4 streams
MeridianShoreHDR 4 streams
DrivingPOV 2 streams
TiergartenParkway 2 streams
LongVarTable 1 streams
LongVarTable10fMono 1 streams
first frame of LongVarTable10fMono_854x480_60p_10b_mono_fgs-table10f-pyr_q15_kf120_L3.1M_buf10M_5.75Mbps.ivf
LongVarTable10fMono_854x480_60p_10b_mono_fgs-table10f-pyr_q15_kf120_L3.1M_buf10M_5.75Mbps.ivf
resolution
854×480 · 60.0 fps · 10-bit
rate control
Constant quality · aomenc cq-level 15 (qindex 60)
bitrate
5.75 Mbit/s actual
level / buffer
3.1 Main / 10 Mbit
encoder
libaom aomenc (fgs-table-ext)
frames
1100
film grain
film-grain-table v2 monochrome 4:0:0: new parameter set every 10 frames, seed-only frames between (update_grain=0), B-pyramid lag 19; encoder libaom fgs-table-ext
chroma
monochrome 4:0:0
quality
PSNR-Y 44.10 dB · SSIM 0.9835
md5
723a168222b4bed0c45e1afcab8ff571
LongVarTable10fLD 1 streams
first frame of LongVarTable10fLD_854x480_60p_10b_fgs-table10f-ld_q15_kf120_L3.1M_buf10M_8.44Mbps.ivf
LongVarTable10fLD_854x480_60p_10b_fgs-table10f-ld_q15_kf120_L3.1M_buf10M_8.44Mbps.ivf
resolution
854×480 · 60.0 fps · 10-bit
rate control
Constant quality · aomenc cq-level 15 (qindex 60)
bitrate
8.45 Mbit/s actual
level / buffer
3.1 Main / 10 Mbit
encoder
libaom aomenc (fgs-table-ext)
frames
1100
film grain
film-grain-table v2: new parameter set every 10 frames, seed-only frames between (update_grain=0), low-delay lag 0; encoder libaom fgs-table-ext
quality
PSNR-Y 44.62 dB · SSIM 0.9862
md5
d479e1ecc2c3b9456e248cef424c1b7e
LongVarTable10f 1 streams
first frame of LongVarTable10f_854x480_60p_10b_fgs-table10f-pyr_q15_kf120_L3.1M_buf10M_6.31Mbps.ivf
LongVarTable10f_854x480_60p_10b_fgs-table10f-pyr_q15_kf120_L3.1M_buf10M_6.31Mbps.ivf
resolution
854×480 · 60.0 fps · 10-bit
rate control
Constant quality · aomenc cq-level 15 (qindex 60)
bitrate
6.31 Mbit/s actual
level / buffer
3.1 Main / 10 Mbit
encoder
libaom aomenc (fgs-table-ext)
frames
1100
film grain
film-grain-table v2: new parameter set every 10 frames, seed-only frames between (update_grain=0), B-pyramid lag 19; encoder libaom fgs-table-ext
quality
PSNR-Y 44.29 dB · SSIM 0.9855
md5
8618016c848eb6ce36058369d8263a0e
LongNoisyAdaptive 1 streams