From 628133d2dd90a982836e63842db76bfb6222834d Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Fri, 23 Jun 2017 01:01:36 +0200 Subject: [PATCH] Don't jitter if frame height differes by less than 3 lines. --- src/emucore/tia/FrameManager.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/emucore/tia/FrameManager.cxx b/src/emucore/tia/FrameManager.cxx index e1a26f531..36ba7a9f3 100644 --- a/src/emucore/tia/FrameManager.cxx +++ b/src/emucore/tia/FrameManager.cxx @@ -37,7 +37,8 @@ enum Metrics: uInt32 { initialGarbageFrames = 10, framesForModeConfirmation = 5, minStableFrames = 10, - maxStabilizationFrames = 20 + maxStabilizationFrames = 20, + minDeltaForJitter = 3 }; static constexpr uInt32 @@ -255,7 +256,11 @@ void FrameManager::finalizeFrame() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void FrameManager::handleJitter(Int32 scanlineDifference) { - if (scanlineDifference == 0 || !myJitterEnabled || myTotalFrames < Metrics::initialGarbageFrames) return; + if ( + abs(scanlineDifference) < minDeltaForJitter || + !myJitterEnabled || + myTotalFrames < Metrics::initialGarbageFrames + ) return; myVblankManager.setJitter(scanlineDifference); }