VP9 · CIQ

Constant quality, shared crf grid, per-resolution bitrate window

55 streams · 55 verified · 270 MB · manifest.csv · manifest.json

Base parameters of the group

Codec / encoderVP9 · libvpx-vp9 -deadline good -cpu-used 2 -row-mt 1
Commandffmpeg -hide_banner -loglevel error -y -i SRC.y4m -frames:v 60 -pix_fmt yuv420p10le -c:v libvpx-vp9 -deadline good -cpu-used 2 -row-mt 1 -threads 8 -tile-columns 1 -g 30 -keyint_min 30 -lag-in-frames 19 -auto-alt-ref 1 -profile:v 2 -crf <q> -b:v 0 -f ivf OUT
Pointscrf 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10 (low → high quality). Every sequence keeps only the points whose actual bitrate falls inside a window that depends on the resolution: max 25 Mbit/s (720p), 50 Mbit/s (1080p), 150 Mbit/s (4K), 400 Mbit/s (8K), min = max / 12. The other points are not published; the table marks them with “–”.
ProfileProfile 0 (8-bit) / Profile 2 (10-bit)
Level / bufferlibvpx level table (vp9_level_defs); VP9 carries no level in the bitstream, the level is a label only (CPB of 5.2–6.2 tentative in libvpx). Level = the lowest one covering size, sample rate and the actual bitrate; buffer in the name = that level's MaxCPB.
Structure60 frames = 2 GOP × 30 (keyframes at frames 0 and 30, closed GOP), 3 B-frames with pyramid, 4:2:0, bit depth as in the source. Container: .ivf.
Verificationreference decoder vpxdec (libvpx, high bit depth) → YUV md5, cross-checked with the ffmpeg decoder md5, 60 frames, keyframes at 0 and 30, profile/level read back with ffprobe, PSNR/SSIM against the source.

Bitrates

sequencecrf 60crf 55crf 50crf 45crf 40crf 35crf 30crf 25crf 20crf 15crf 10
NocturneDancewindow 12.5–150 Mbit/s–too low · 6.1–too low · 9.914.6438.6 dB21.5140.1 dB31.6441.7 dB46.2843.2 dB68.8644.8 dB98.5646.2 dB133.4847.5 dB–too high · 189.9–too high
NocturneRoomHDRwindow 12.5–150 Mbit/s–too low · 0.4–too low · 0.8–too low · 1.6–too low · 3.8–too low · 8.617.9342.7 dB35.2543.9 dB58.9144.9 dB87.8345.9 dB136.7847.2 dB–too high · 252.0
ShakyBaseballwindow 12.5–150 Mbit/s–too low · 2.1–too low · 2.9–too low · 4.0–too low · 5.7–too low · 8.714.1344.4 dB24.3345.2 dB41.5345.9 dB64.2346.5 dB98.9647.3 dB–too high · 169.1
Witcher3window 4.2–50 Mbit/s–too low · 1.1–too low · 2.1–too low · 3.76.5835.2 dB11.4236.3 dB19.5237.5 dB32.1338.9 dB48.6440.4 dB–too high · 66.6–too high–too high
MissionControl1window 4.2–50 Mbit/s–too low · 2.3–too low · 3.34.4534.8 dB6.0836.8 dB8.2438.8 dB10.9040.9 dB14.2443.1 dB17.7545.1 dB21.1946.9 dB25.8949.0 dB34.1452.1 dB
RitualDancewindow 4.2–50 Mbit/s–too low · 1.7–too low · 2.5–too low · 3.44.7740.1 dB6.6341.7 dB9.1043.2 dB12.6144.7 dB17.0246.0 dB22.3447.1 dB30.7448.2 dB–too high · 51.8
MeridianShoreHDRwindow 4.2–50 Mbit/s–too low · 0.6–too low · 1.1–too low · 1.8–too low · 3.05.0439.0 dB8.0940.3 dB12.9041.5 dB19.3142.6 dB27.9043.6 dB43.2244.7 dB–too high · 85.2
DrivingPOVwindow 2.1–25 Mbit/s–too low · 0.8–too low · 1.3–too low · 2.02.9934.5 dB4.5536.0 dB6.8837.5 dB10.5639.1 dB15.7140.5 dB22.2641.8 dB–too high · 34.0–too high
TiergartenParkwaywindow 33.3–400 Mbit/s–too low · 23.336.2633.8 dB55.4435.2 dB89.3536.5 dB154.7537.8 dB281.6039.2 dB–too high · 507.1–too high–too high–too high–too high

Actual bitrate in Mbit/s (click to jump to the stream), below: PSNR-Y in dB. “–” = point outside the sequence's bitrate window, not published (the measured bitrate is shown when the point was encoded; higher-quality points after the first “too high” are not encoded).

Streams

NocturneDance 7 streams
NocturneRoomHDR 5 streams
ShakyBaseball 5 streams
Witcher3 5 streams
MissionControl1 9 streams
RitualDance 7 streams
MeridianShoreHDR 6 streams
DrivingPOV 6 streams
TiergartenParkway 5 streams