From 63e949332d0ac866160e1f888110bf1aa49e31b7 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Thu, 1 Jan 2015 18:57:01 +0100 Subject: [PATCH] do correct sync extrapolation --- app/src/main/rs/decoder.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/rs/decoder.rs b/app/src/main/rs/decoder.rs index 3e60a3b..dacac26 100644 --- a/app/src/main/rs/decoder.rs +++ b/app/src/main/rs/decoder.rs @@ -186,6 +186,13 @@ void decode(int samples) { seperator_counter = 0; continue; } + if (hpos >= maximum_length) { + hpos -= scanline_length; + prev_sync_pos = sync_pos; + sync_pos += scanline_length; + } else { + hpos = buffer_pos - sync_pos; + } switch (current_decoder) { case decoder_robot36: robot36_decoder(); @@ -202,12 +209,6 @@ void decode(int samples) { default: raw_decoder(); } - if (hpos >= maximum_length) { - hpos -= scanline_length; - sync_pos = prev_sync_pos + scanline_length; - } else { - hpos = buffer_pos - sync_pos; - } ++vpos; if (vpos == bitmap_height) save_buffer();