mirror of
https://github.com/zxing/zxing.git
synced 2025-03-05 20:48:51 -08:00
Update DataMask.java (#653)
Further micro-optimize QR data mask recognition; more comment for earlier such changes.
This commit is contained in:
parent
7b1e1ccadb
commit
e9e2bd280b
|
@ -85,6 +85,7 @@ enum DataMask {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 101: mask bits for which xy mod 2 + xy mod 3 == 0
|
* 101: mask bits for which xy mod 2 + xy mod 3 == 0
|
||||||
|
* equivalently, such that xy mod 6 == 0
|
||||||
*/
|
*/
|
||||||
DATA_MASK_101() {
|
DATA_MASK_101() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -95,17 +96,18 @@ enum DataMask {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0
|
* 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0
|
||||||
|
* equivalently, such that xy mod 6 < 3
|
||||||
*/
|
*/
|
||||||
DATA_MASK_110() {
|
DATA_MASK_110() {
|
||||||
@Override
|
@Override
|
||||||
boolean isMasked(int i, int j) {
|
boolean isMasked(int i, int j) {
|
||||||
int temp = i * j;
|
return ((i * j) % 6) < 3;
|
||||||
return ((temp + (temp % 3)) & 0x01) == 0;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0
|
* 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0
|
||||||
|
* equivalently, such that (x + y + xy mod 3) mod 2 == 0
|
||||||
*/
|
*/
|
||||||
DATA_MASK_111() {
|
DATA_MASK_111() {
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue