resist scan lines much different than the locked one

This commit is contained in:
Ahmet Inan 2024-05-03 12:08:37 +02:00
parent 0a2a1a2666
commit c6b9809a09

View file

@ -357,7 +357,6 @@ public class Decoder {
return false;
if (scanLineStdDev(lines, mean) > scanLineToleranceSamples)
return false;
float frequencyOffset = (float) frequencyOffsetMean(freqOffs);
boolean pictureChanged = false;
if (imageBuffer.line < 0 || imageBuffer.line >= imageBuffer.height) {
Mode prevMode = lastMode;
@ -365,12 +364,15 @@ public class Decoder {
pictureChanged = lastMode != prevMode
|| Math.abs(lastScanLineSamples - scanLineSamples) > scanLineToleranceSamples
|| Math.abs(lastSyncPulseIndex + scanLineSamples - pulses[pulses.length - 1]) > syncPulseToleranceSamples;
} else if (Math.abs(scanLineSamples - lastMode.getScanLineSamples()) > scanLineToleranceSamples) {
return false;
}
if (pictureChanged) {
drawLines(0xff000000, 10);
drawLines(0xff00ffff, 8);
drawLines(0xff000000, 10);
}
float frequencyOffset = (float) frequencyOffsetMean(freqOffs);
if (pulses[0] >= scanLineSamples && pictureChanged) {
int endPulse = pulses[0];
int extrapolate = endPulse / scanLineSamples;