<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ZXing/zxing.git/core/src/test/resources, branch master</title>
<subtitle>ZXing ("Zebra Crossing") barcode scanning library for Java, Android (mirror)</subtitle>
<id>https://git.radix-linux.su/ZXing/zxing.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/ZXing/zxing.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/'/>
<updated>2026-04-30T23:28:58+00:00</updated>
<entry>
<title>Add reader initialization support for Data Matrix and PDF417 (#2069)</title>
<updated>2026-04-30T23:28:58+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2026-04-30T23:28:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=62a33ca7a328907dee602798043692ff1f83b0c0'/>
<id>urn:sha1:62a33ca7a328907dee602798043692ff1f83b0c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Code 128 reader initialization support (#2068)</title>
<updated>2026-04-30T21:56:28+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2026-04-30T21:56:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=577a919b8bdc975b52f72a3c1d3f18eaf9b2e65d'/>
<id>urn:sha1:577a919b8bdc975b52f72a3c1d3f18eaf9b2e65d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Aztec reader initialization support (#2066)</title>
<updated>2026-04-30T20:57:43+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2026-04-30T20:57:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=77e133234e8c3eeb1d4fd8e3942718f3876d2cc8'/>
<id>urn:sha1:77e133234e8c3eeb1d4fd8e3942718f3876d2cc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix QR decode failure for small/native-size images (#2061)</title>
<updated>2026-04-08T03:40:49+00:00</updated>
<author>
<name>Andrew Szeto</name>
<email>github@jabagawee.com</email>
</author>
<published>2026-04-08T03:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=282319c8134c132fddfc0c942981c41eea3311cb'/>
<id>urn:sha1:282319c8134c132fddfc0c942981c41eea3311cb</id>
<content type='text'>
* Fix QR decode failure for small/native-size images (#1976)

QRCodeWriter.encode(..., 0, 0) produces a 33x33 native-size QR that
ZXing cannot decode. The CENTER_QUORUM filter in selectBestPatterns()
(added in 110ef9e to fix #1567) removes finder patterns with count &lt; 2.
For small images, the row-skip interval (iSkip=3, MIN_SKIP) means the
scanner only crosses the top two finder pattern centers on a single row
each, giving them count=1. The bottom-left pattern gets count=2 because
it's scanned after iSkip drops to 2. The filter then removes the two
count=1 patterns, leaving 1 of the 3 needed, and throws
NotFoundException.

The fix: only apply the CENTER_QUORUM filter when either (a) at least 3
confirmed patterns would survive, or (b) the total candidate list
exceeds a size threshold. This preserves #1567 protection while
allowing small images through.

Why a size threshold: the filter was added to prevent O(n^3) blowup
in the triangle-selection loop when noisy images produce thousands of
spurious candidates. When the candidate list is small (&lt;= 25 entries,
yielding &lt;= ~2300 loop iterations), the cubic cost is negligible
regardless of whether the patterns are real or spurious. A clean
single-QR image produces ~3 candidates; even a noisy image below the
threshold is computationally trivial. Above the threshold, the filter
applies unconditionally, matching today's behavior.

Alternatives considered:
- Removing the filter entirely: all 561 existing tests pass, but
  re-opens #1567 for pathological images with thousands of spurious
  count=1 candidates.
- Reducing MIN_SKIP from 3 to 1 for small images: addresses the
  symptom (more scan rows = higher counts) but doesn't fix the
  fundamental interaction between iSkip and the quorum filter,
  and changes scan behavior for all small images.
- Fallback (try with filter, retry without on failure): re-opens
  #1567 whenever fewer than 3 confirmed patterns exist, which is
  exactly the scenario that produces thousands of unconfirmed
  candidates in noisy images.

* Increase noisy-image test timeout from 5s to 30s

GitHub shared runners timed out at 5s. Local measurement shows ~1.2s,
implying at least 4x slowdown on CI. 30s gives a comfortable margin
while still catching the O(n^3) regression from #1567.</content>
</entry>
<entry>
<title>Loosen ITF max variance for 3x module widths (#2014)</title>
<updated>2025-11-11T13:27:13+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2025-11-11T13:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=5481784650ebd49d4a823d98917bd40c49b94454'/>
<id>urn:sha1:5481784650ebd49d4a823d98917bd40c49b94454</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid decoding stacked row 1 of N independently (#1693)</title>
<updated>2023-09-16T13:15:21+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2023-09-16T13:15:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=2dd6cb43dda82757be64edec9dee3f007ff8bbc5'/>
<id>urn:sha1:2dd6cb43dda82757be64edec9dee3f007ff8bbc5</id>
<content type='text'>
* Avoid decoding stacked row 1 of N independently

* Avoid decoding stacked row 1 of N independently</content>
</entry>
<entry>
<title>Avoid 2 more RSS Expanded finder pattern false positive scenarios (#1692)</title>
<updated>2023-09-15T15:55:54+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2023-09-15T15:55:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=465753afe637ee3ad3bd0710005934236e86143b'/>
<id>urn:sha1:465753afe637ee3ad3bd0710005934236e86143b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Detect RSS Expanded finder pattern false positives by checking sequences (#1680)</title>
<updated>2023-09-03T21:16:39+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2023-09-03T21:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=60ae2ed949b705f642f217b0fdab4142f5a713b8'/>
<id>urn:sha1:60ae2ed949b705f642f217b0fdab4142f5a713b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix MaxiCode handling of vertical quiet zone (#1671)</title>
<updated>2023-07-30T17:58:44+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2023-07-30T17:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=254d4df557702086e56d78924932d32b18eebf02'/>
<id>urn:sha1:254d4df557702086e56d78924932d32b18eebf02</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add ResultMetadataType.ERRORS_CORRECTED and ERASURES_CORRECTED (#1657)</title>
<updated>2023-06-25T22:30:21+00:00</updated>
<author>
<name>Daniel Gredler</name>
<email>daniel.gredler@gmail.com</email>
</author>
<published>2023-06-25T22:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=282f5ba726dfe3ff770b0abdcaf7cfce9700758e'/>
<id>urn:sha1:282f5ba726dfe3ff770b0abdcaf7cfce9700758e</id>
<content type='text'>
* Add ResultMetadataType.ERRORS_CORRECTED and ERASURES_CORRECTED (2D barcodes)

* Maintain existing constructor on AztecDetectorResult

* Maintain existing ReedSolomonDecoder.decode method</content>
</entry>
</feed>
