IDCT prescale + Lanczos3  vs  pure Lanczos3

Input: Gorilla_Male_Global.jpg (13130×10000). --idct-min-factor 2.5. Images render at intrinsic pixel size — no CSS scaling.
Firefox would skip the IDCT path on this image — 13130 × 10000 isn't a whole number of MCU blocks (8 × 8), so trailing-MCU padding could smear into visible pixels (crbug.com/890745, libjpeg-turbo#297). The IDCT renders below show what would happen if the gate were lifted; in stock Firefox with this commit, output matches the pure-Lanczos column.
Space or click the button toggles every pair at once. Click a single image to toggle just that pair. Hold Shift while clicking the toolbar button to swap continuously.
1/2 barely target 2626 × 2000 · IDCT 1/2 → 6565×5000 · Lanczos ratio ˜ 2.50×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 2626×2000
diff abs diff ×10
pixel delta, amplified 10×
1/2 heavy target 1316 × 1002 · IDCT 1/2 → 6565×5000 · Lanczos ratio ˜ 4.99×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 1316×1002
diff abs diff ×10
pixel delta, amplified 10×
1/4 barely target 1313 × 1000 · IDCT 1/4 → 3283×2500 · Lanczos ratio ˜ 2.50×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 1313×1000
diff abs diff ×10
pixel delta, amplified 10×
1/4 heavy target 658 × 501 · IDCT 1/4 → 3283×2500 · Lanczos ratio ˜ 4.99×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 658×501
diff abs diff ×10
pixel delta, amplified 10×
1/8 barely target 656 × 500 · IDCT 1/8 → 1642×1250 · Lanczos ratio ˜ 2.50×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 656×500
diff abs diff ×10
pixel delta, amplified 10×
1/8 heavy target 329 × 251 · IDCT 1/8 → 1642×1250 · Lanczos ratio ˜ 4.99×
IDCT pure
IDCT ● click to flick PURE ● click to flick
IDCT+Lanczos ⇄ pure Lanczos @ 329×251
diff abs diff ×10
pixel delta, amplified 10×