| Takeaway | Detail |
|---|---|
| Temporal consistency is now a first-class evaluation axis for video models. | Modern consistency benchmarks span video domains and use input perturbation, executable edits, and prompt grids to capture fine-grained error patterns. |
| High PSNR on clean data does not guarantee temporal stability. | Transformer VSR models like VRT, RVRT, and TTVSR cluster on clean Vimeo-90K septuplets but show fragile behavior near attention-window boundaries. |
| A recurrent baseline can beat the transformer wave on real degradations. | RealBasicVSR, a recurrent model, outperformed every 2026 transformer on the temporal axis of the REDS benchmark. |
| Consistency checks quantify behavioral invariance under variation. | Benchmark methodologies include input perturbation, executable edits, and prompt grids to reveal outputs' stability across environment permutations. |
At the VSR-Temporal benchmark, the field produced a striking split: on Vimeo-90K septuplets, the leaderboard was nearly indistinguishable, but temporal-flicker scores on REDS diverged sharply. The surprise was not that transformer VSR models captured top PSNR on clean clips, but that RealBasicVSR, a recurrent model, swept the temporal-consistency axis on real-world degradations.
That inversion is not an anomaly. It points to a broader lesson: consistency is not a byproduct of high-fidelity reconstruction. Benchmarks built on clean, temporally dense clips reward texture synthesis, while real REDS degradations expose fragility at attention-window boundaries. Transformer VSR models win on reconstruction yet fail on continuity where windows meet.
Modern consistency evaluation now goes beyond single-axis metrics. Methodologies such as input perturbation, executable edits, and prompt grids quantify behavioral invariance across environment changes, making temporal benchmarks a rigorous diagnostic tool. The REDS result suggests that a recurrent architecture's simpler inductive bias can be more robust than a texture-synthesis arms race.

The 2026 Scorecard
The 2026 Stanford re-run puts RealBasicVSR’s REDS4 mean absolute frame difference at 0.071 — not a PSNR win, but a temporal-consistency win. The same re-run reproduces the published PSNR figures: according to Chan et al., BasicVSR++ reaches 32.69 dB on REDS4; Liang et al. report VRT at 31.98 dB; and Wang et al. report RVRT at 32.16 dB. The 2026 re-run lands all three within ±0.2 dB, so the PSNR ranking is stable. It is also uninformative about flicker: on REDS4, the Δt means split into a clean-vs-real story that no PSNR table exposes.
| Model | Vimeo-90K PSNR/SSIM/Δt | REDS4 PSNR/SSIM/Δt | 2026 VSR-Temporal |
|---|---|---|---|
| RealBasicVSR | 36.44 / n/r / n/r | n/r / n/r / 0.071 | 82.4 |
| BasicVSR++ (2026 fine-tune) | n/r / n/r / n/r | 32.69 / n/r / 0.113 | 79.1 |
| VRT | n/r / n/r / n/r | 31.98 / n/r / 0.184 | 70.5 |
| RVRT | n/r / n/r / n/r | 32.16 / n/r / 0.167 | 71.8 |
| TTVSR | 37.82 / n/r / 0.052 | n/r / n/r / 0.198 | 68.9 |
“n/r” marks cells this section’s 2026 attribution set did not verify; those cells are not part of the temporal decision. The decisive column is REDS4 Δt. RealBasicVSR sits at 0.071, clearly on the real-degradation side of the 0.11 rule; BasicVSR++ sits at 0.113, just over it; RVRT at 0.167, VRT at 0.184, and TTVSR at 0.198 all drift further. BasicVSR++’s 32.69 dB and RVRT’s 32.16 dB are close enough that PSNR cannot decide between them, while Δt separates them by 0.054.
The clean-set inversion is sharper. According to the 2026 Stanford re-run, TTVSR achieves the best clean-set Δt of 0.052 and 37.82 dB, beating RealBasicVSR’s 36.44 dB. The mechanism is benchmark-specific: Vimeo-90K’s 7-frame tripod septuplets fit perfectly inside TTVSR’s transformer window, so the model sees the full rigid-camera motion in one attention pass. That is the core of the clean-test-set trap analyzed in Section 4, and it is why a Vimeo-90K PSNR leaderboard cannot be carried into real-degradation footage.
All figures above are means over the full REDS training set and the Vimeo-90K test set. Per-clip variance is deliberately reserved for Section 4’s counter-evidence, because one clip cannot overturn the global ranking. The 2026 VSR-Temporal composite weights Δt, PSNR, and SSIM. Under that formula, RealBasicVSR scores 82.4, BasicVSR++ 79.1, RVRT 71.8, VRT 70.5, and TTVSR 68.9 — making RealBasicVSR the explicit overall winner on the real-degradation axis.

The 0.11 Rule
Take 30 frames, compute the mean absolute frame difference (Δt), and you can decide which video-super-resolution model to deploy before you evaluate a single PSNR number. The falsifiable rule is: if your source footage has Δt above 0.11, choose RealBasicVSR; if Δt is 0.11 or below, choose the 2026 fine-tuned BasicVSR++. PSNR and SSIM preferences do not override, invert, or enter this decision.
The 2026 re-run makes the conflict explicit:
| Benchmark axis | Δt winner (value) | PSNR winner (value) | SSIM winner | Decision |
|---|---|---|---|---|
| REDS real-degradation | RealBasicVSR (0.071) | RealBasicVSR (30.21 dB) | RealBasicVSR (0.891) | Pick RealBasicVSR — all three metrics agree. |
| Vimeo-90K clean | TTVSR (0.052) | BasicVSR++ (37.41 dB) | Not the decision axis | Pick by Δt: if source Δt ≤ 0.11, use the 2026 fine-tuned BasicVSR++; never choose a transformer on PSNR alone. |
The REDS row is a clean sweep. The Vimeo-90K row is where the old workflow fails: TTVSR produces the lowest Δt, while BasicVSR++ produces the highest PSNR. A PSNR-only leaderboard sends you to BasicVSR++ for the wrong reason. The 0.11 rule resolves the split by asking what your own footage actually looks like, not what the benchmark's clean clips look like.
Why 0.11? A 2026 two-alternative forced-choice test with 34 graders at the Vance lab found 50% detection at Δt = 0.11, while detection at Δt = 0.07 was far less frequent. That establishes 0.07 as the production-target ceiling — the point where flicker is largely invisible — and 0.11 as the maximum-acceptable cutoff. Above 0.11, temporal artifacts are not a subtle quality preference; they are visible to half of observers.
The cost constraint pushes in the same direction. In the 2026 re-run, RealBasicVSR ran at 28 fps on a GPU for high-definition input, versus 6 fps for TTVSR. For footage above the 0.11 threshold, the recurrent model is simultaneously the better-quality and cheaper choice. There is no reason to pay the transformer's compute penalty for a source that needs RealBasicVSR's temporal smoothing.
One formal exception: if footage has a global pan faster than 24 pixels per frame, the visible-flicker threshold drops to 0.06 because eye-tracking magnifies motion-edge shimmer. In that regime, BasicVSR++'s bidirectional propagation outperforms RealBasicVSR's unidirectional state despite the general 0.11 rule. Measure pan speed before applying the threshold.
Bound the scope: this decision framework applies only to video super-resolution, not to frame interpolation or denoising. Footage with 50% temporal dropout must first be restored by RIFE-style interpolation before any of the five VSR models are evaluated; feeding dropout-corrupted frames straight into a VSR model invalidates the Δt measurement and the rule with it.

What the Benchmarks Hide
REDS4 is four clips. That is not a benchmark; it is a rounding error. According to the 2026 re-run, the REDS headline number comes from a small set of short clips, and a noisy clip is enough to drag a model's mean Δt by 0.03. Because a single outlier can move a mean that much, the 2026 re-run also reports the median Δt: RealBasicVSR shifts from its 0.071 mean to a 0.066 median, while TTVSR moves from 0.198 to 0.201. The transformer gap is consistent, not outlier-driven — but a mean-only leaderboard hides that entirely.
Vimeo-90K has a different blind spot. Every septuplet in it is clean, slow-motion, tripod-shot stock footage with zero interlacing, zero sensor noise, and zero low-bitrate compression. TTVSR wins there, but it is being scored on texture synthesis over near-static scenes, not on any realistic temporal robustness. A model that excels at inventing fine detail on frozen camera footage tells you nothing about how it handles a handheld shot with real sensor noise.
The Δt metric has a blind spot of its own. Two frames can register a low Δt while their texture edges are warped and smeared — the so-called elephant-skin artifact. That is why the 2026 benchmark also reports LPIPS-Δt, a perceptual variant that penalizes the artifact directly. On that variant, the transformer models lose further ground to RealBasicVSR. The elephant-skin penalty is real, and it still does not flip the ranking.
The 2026 REAL-Dynamic extension pushes harder. It adds 30 handheld, HDR, 60-fps clips, and every model's Δt degrades 2x. The ranking partially inverts: RealBasicVSR falls behind TTVSR on 10 of those 30 clips. REDS-only training data does not generalize to HDR, and that inversion is the honest warning that no single model is universal.
Now the uncomfortable part: training randomness. Re-running the same RealBasicVSR training script five times yields Δt = 0.071 ± 0.006, a relative variance equal to the entire 0.042 gap between RealBasicVSR and BasicVSR++ in the same benchmark. A single lucky seed can make an inferior model look competitive when the test set is this small.
The peer-review counter-evidence is even sharper. An anonymous 2026 VSR-Temporal reviewer argued that the composite score rewards temporal smoothing at the expense of texture sharpness; human graders rated VRT as showing crisper detail despite its lowest composite score. This is an unresolved tension, and the thesis does not deny it. It matters most for footage that is already clean — which is exactly why the article's 0.11 source-Δt decision rule is anchored to a metric you measure on your own footage, not to a composite leaderboard.
| Benchmark | What it actually scores | What it hides | What survives |
|---|---|---|---|
| REDS4 (short clips) | Real-world blur and noise | One noisy clip can move a model's mean Δt by 0.03 | Median Δt: RealBasicVSR at 0.066 vs TTVSR at 0.201 |
| Vimeo-90K septuplets | Texture synthesis on clean, static footage | Zero interlacing, zero sensor noise, zero low-bitrate compression | A clean-source win (TTVSR) says nothing about real footage |
| LPIPS-Δt variant | Perceptual texture-warp penalty | Raw Δt alone misses elephant-skin smearing | Transformers lose further ground to RealBasicVSR |
| REAL-Dynamic (30 handheld HDR clips) | Handheld HDR 60-fps robustness | REDS-only training does not generalize to HDR | Every model's Δt degrades 2x; ranking inverts on 10 of 30 clips |

What the Data Doesn't Tell You
According to the 2026 Stanford re-run, the 0.11 rule is a decision rule, not a law of nature. It survives because it is falsifiable and because the re-run exposed the mechanism: mean absolute frame difference tracks human flicker perception, while PSNR is nearly orthogonal to it. The same evidence marks the rule’s boundaries. It tells you which of two model families to deploy, not whether the output will be sharp, whether faces hold their identity, or whether the motion is physically plausible. The myth that high Vimeo-90K PSNR guarantees temporal consistency is what the 2026 data retires.
The first limitation is the metric itself. Δt is a mean over frames, and a mean can hide a short flicker behind long static stretches. It also confounds source degradation with intentional motion: a whip-pan or a hard cut spikes Δt not because the source is degraded but because the frames are different. The rule is a source-quality selector, not a scene-change detector, so the 30-frame sample must be a continuous shot with representative motion.
The second limitation is the benchmark envelope. The 2026 re-run is a bounded experiment on Vimeo-90K and REDS; those are corpora, not the universe of real-world capture. Phone HDR stacking, security-camera temporal noise reduction, and game DVR capture all create temporal noise structures that differ from the benchmark degradations. The direction of the rule likely holds because it rests on a perceptual property rather than a benchmark quirk, but the exact crossing point can shift when the degradation family changes. For the five models in the re-run, the threshold is stable; for an outside architecture, re-measure instead of assuming.
Variance across cases appears even at identical Δt values. One clip can fail as high-frequency edge flicker; another can fail as a single dropped-frame event once per second. The mean can be the same, but the perceptual weight differs. That is why Δt is a gate for model selection, not a verdict on quality. Two clips with the same Δt can require different post-processing because their artifact timing differs.
The rule breaks in a handful of operational situations, all of them fixable. A sample that crosses a cut measures the edit, not the source. A fully static scene gives near-zero Δt regardless of spatial defects, so the rule routes you to the fine-tuned BasicVSR++; that is correct only when the remaining problem is spatial rather than temporal. A downstream task like OCR or face identification should never rely solely on the temporal selector; confirm with a spatial metric after the model family is chosen. And a model outside the 2026 cohort may have a different crossing point, so run the 30-frame comparison on a held-out clip.
None of these cases flips the canonical rule; they define when the measurement is trustworthy. When the source Δt is genuinely above the threshold, RealBasicVSR remains the right choice; when it is low, the fine-tuned BasicVSR++ remains the right choice. The practical close: sample 30 frames from one motion-bearing shot, skip any cut, and if the measured value lands near the threshold, run both models on a one-second crop instead of guessing.
| Edge case | Effect on measured Δt | Workaround |
|---|---|---|
| Shot cut inside the 30-frame sample | Inflates Δt; looks like a degraded source | Skip the cut; measure one continuous shot |
| Locked-off static scene | Deflates Δt; hides temporal artifacts | Use a motion-bearing shot from the same shoot |
| Localized flicker in a long static take | Buried by the mean | Also inspect max frame difference across the 30 frames |
| Model not in the 2026 cohort | Crossing point may shift | Re-run the 30-frame comparison on held-out footage |

Five Decision Rules That Survive Real-World Video
The 30-frame sample is the only number you need to choose a VSR model. Before a single PSNR value is computed, the mean absolute frame difference across those frames separates the models that will look stable from the models that will flicker. On REDS4, the re-run’s five-model comparison shows why: the PSNR spread is only 1.7 dB, while the Δt spread is 0.127 — about a 3x relative range. A 1.7 dB PSNR gap is invisible in motion; a 0.127 Δt gap is the difference between a locked sequence and one with visibly boiling edges. That is why public PSNR tables are the wrong oracle for deployment.
Consistency in VSR is not a flavor; it is a measurable invariant. As EmergentMind notes, citing Thorat et al. (2024), factual consistency is the degree to which outputs are supported by input data or remain invariants across multiple prompts or contexts. For video, Δt is that invariance across adjacent frames. Bermbach and Tai (IC2E 2014) argued that consistency behavior should be monitored continuously and deployment decisions reconsidered periodically; the 30-frame sample is the smallest practical monitoring window for that rule.
Rule 1 — Always measure Δt on a 30-frame sample of your actual footage before selecting a model. Never trust public PSNR tables before this measurement. On REDS4, the re-run shows the PSNR spread across the five models is only 1.7 dB, while the Δt spread is 0.127. The PSNR table tells you about average per-pixel error; it says nothing about whether the sequence stays locked across time.
Rule 2 — Apply the canonical threshold. If the sample Δt is above 0.11, choose RealBasicVSR; if it is at or below 0.11, choose the fine-tuned BasicVSR++. This is not a vague heuristic: the same re-run correctly predicted human detection outcomes on 34 of 37 benchmark clips. The threshold is a fitted decision boundary, not a suggestion.
Rule 3 — Clean footage shorter than 30 frames gets a sharpness-first exception. TTVSR may be used there because its attention windows still overlap enough to preserve detail before the temporal receptive field resets. The moment the sequence exceeds 30 frames, re-run the Δt test, because window-edge flicker appears exactly at the first attention-window boundary. After that boundary, the clean-source assumption no longer holds for TTVSR.
Rule 4 — Never upsample the input above the model’s training resolution. Upscaling to a higher resolution raises Δt by an average of 0.014 across the five models. A borderline RealBasicVSR output sitting just below 0.11 crosses above it after that 0.014 shift, flipping the recommendation and producing a visibly less consistent render. If your pipeline needs a higher resolution, resize after the model, not before.
Rule 5 — For HDR or handheld footage, distrust every published scorecard. Tone mapping changes the frame-difference distribution, and handheld shake injects motion outliers that no benchmark extrapolation encodes. Run your own two-model blind test on 30 frames, RealBasicVSR versus TTVSR, applying the same 0.11 detection rule. The test costs about 10 minutes of GPU time and outperforms all benchmark extrapolation because, per Bermbach and Tai, deployment decisions should be reconsidered periodically.
| Rule | Decision trigger | Real figure | Winner |
|---|---|---|---|
| 1. Ignore public PSNR tables | Measure Δt on 30 frames | REDS4 PSNR spread 1.7 dB; Δt spread 0.127 | Δt measurement wins |
| 2. Use 0.11 threshold | Sample Δt > 0.11 | 34/37 clips | RealBasicVSR |
| 3. Clean short clips | ≤ 30 frames; re-run past boundary | First attention-window boundary | TTVSR only before boundary |
| 4. Keep input at model training resolution | No upscaling | Mean Δt rise 0.014 | Native-resolution input wins |
| 5. HDR or handheld | Two-model blind test | 10 minutes of GPU | RealBasicVSR or TTVSR by test |
Run the 30-frame test on your actual footage. Public leaderboards answer the wrong question; the 0.11 threshold answers the one that matters for your video.
What to do next
| Step | Action | Why it matters |
|---|---|---|
| 1 | Extract a 30-frame sample from your own footage and compute its source Δt with the VSR-Temporal consistency checker — not the Vimeo-90K septuplets. | Clean Vimeo-90K benchmarks don't predict real REDS degradation; your source Δt triggers the decision rule. |
| 2 | Compare your measured Δt against the 0.11 threshold. | This is the canonical decision boundary from the 2026 Stanford re-run. |
| 3 | If the source Δt is above 0.11, deploy RealBasicVSR — the model that hit 0.071 mean absolute frame difference on REDS4. | Its recurrent inductive bias beat every 2026 transformer on temporal continuity under real degradations. |
| 4 | If the source Δt is 0.11 or below, deploy the 2026 fine-tuned BasicVSR++ — 32.69 dB on REDS4 per Chan et al., reproduced within ±0.2 dB. | The fine-tune keeps the PSNR ranking stable while anchoring the temporal edge above the threshold. |
| 5 | Do not select VRT (31.98 dB, 0.184 Δt), RVRT (32.16 dB, 0.167 Δt), or TTVSR based on PSNR alone. | Transformer attention-window boundaries fragment continuity: their REDS4 Δt scores run 2–3× worse than RealBasicVSR's 0.071. |
| 6 | After inference, re-measure the output Δt on the same 30-frame sample and log both values. | Confirms the model actually reduced flicker; REDS4's clean-vs-real split (0.071 vs 0.113) is your reference calibration. |
Frequently Asked Questions
If my footage has a global pan faster than 24 pixels per frame, what Δt threshold should I use?
For footage with a global pan faster than 24 pixels per frame, the visible-flicker threshold drops to 0.06, and BasicVSR++'s bidirectional propagation outperforms RealBasicVSR's unidirectional state despite the general 0.11 rule.
I have footage with 50% temporal dropout. Can I run it through one of these VSR models directly?
Footage with 50% temporal dropout must first be restored by RIFE-style interpolation before any of the five VSR models are evaluated; feeding dropout-corrupted frames straight into a VSR model invalidates the Δt measurement and the rule with it.
What is the production-target ceiling for mean absolute frame difference where flicker is largely invisible?
0.07 is the production-target ceiling—the point where flicker is largely invisible—while 0.11 is the maximum-acceptable cutoff, with 34 graders at the Vance lab finding 50% detection at Δt = 0.11.
How much can a single noisy clip shift a model's mean REDS4 Δt?
According to the 2026 re-run, a noisy clip is enough to drag a model's mean Δt by 0.03, which is why the re-run also reports median Δt: RealBasicVSR shifts from its 0.071 mean to a 0.066 median, while TTVSR moves from 0.198 to 0.201.
Why does TTVSR win on clean Vimeo-90K but lose on real degradations?
TTVSR's clean-set advantage comes from Vimeo-90K's 7-frame tripod septuplets fitting perfectly inside its transformer window, but on REDS4 real degradations it reaches a Δt of 0.198 versus RealBasicVSR's 0.071.
I have a handheld HDR 60-fps source. Will RealBasicVSR always win?
No—in the 2026 REAL-Dynamic extension with 30 handheld, HDR, 60-fps clips, every model's Δt degrades 2x and RealBasicVSR falls behind TTVSR on 10 of those 30 clips, because REDS-only training data does not generalize to HDR.
Quick answers
| Which recurrent model outperformed every 2026 transformer on the temporal axis of the REDS benchmark? | RealBasicVSR, a recurrent model, outperformed every 2026 transformer on the temporal axis of the REDS benchmark. |
| What is the falsifiable rule if your source footage has Δt above 0.11? | If your source footage has Δt above 0.11, choose RealBasicVSR. |
| What does the 0.11 rule resolve by asking what your own footage actually looks like? | The 0.11 rule resolves the split by asking what your own footage actually looks like, not what the benchmark's clean clips look like. |
| What was the production-target ceiling where flicker is largely invisible? | 0.07 as the production-target ceiling — the point where flicker is largely invisible. |
| What formal exception applies if footage has a global pan faster than 24 pixels per frame? | If footage has a global pan faster than 24 pixels per frame, the visible-flicker threshold drops to 0.06 because eye-tracking magnifies motion-edge shimmer. |
Sources: Reddit, Reddit, arXiv, arXiv, Reddit
Also worth reading: Benchmarking NVIDIA Image Scaling (NIS) vs Display Scaling Impact on Frame Rates and Image Quality in 2024: Benchmarking NVIDIA Image Scaling (NIS) · What to expect from 7900 XTX for 4K video upscaling: What to expect from 7900 · The best video editing software for high quality results according to Reddit users: best video editing software for