47 static const int symbolRows[] = {10, 12, 14, 16, 18, 20, 22, 24, 26, 32, 36, 40, 44, 48, 52,
48 64, 72, 80, 88, 96, 104, 120, 132, 144, 8, 8, 12, 12, 16, 16};
50 static const int symbolCols[] = {10, 12, 14, 16, 18, 20, 22, 24, 26, 32, 36, 40, 44, 48, 52,
51 64, 72, 80, 88, 96, 104, 120, 132, 144, 18, 32, 26, 36, 36, 48};
53 static const int dataRegionRows[] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 14, 16, 18, 20, 22, 24,
54 14, 16, 18, 20, 22, 24, 18, 20, 22, 6, 6, 10, 10, 14, 14};
56 static const int dataRegionCols[] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 14, 16, 18, 20, 22, 24,
57 14, 16, 18, 20, 22, 24, 18, 20, 22, 16, 14, 24, 16, 16, 22};
59 static const int horizDataRegions[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
60 4, 4, 4, 4, 4, 4, 6, 6, 6, 1, 2, 1, 2, 2, 2};
62 static const int interleavedBlocks[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
63 2, 4, 4, 4, 4, 6, 6, 8, 10, 1, 1, 1, 1, 1, 1};
65 static const int symbolDataWords[] = {3, 5, 8, 12, 18, 22, 30, 36, 44, 62, 86, 114, 144, 174, 204,
66 280, 368, 456, 576, 696, 816, 1050, 1304, 1558, 5, 10, 16, 22, 32, 49};
68 static const int blockErrorWords[] = {5, 7, 10, 12, 14, 18, 20, 24, 28, 36, 42, 48, 56, 68, 42,
69 56, 36, 48, 56, 68, 56, 68, 62, 62, 7, 11, 14, 18, 24, 28};
71 static const int blockMaxCorrectable[] = {2, 3, 5, 6, 7, 9, 10, 12, 14, 18, 21, 24, 28, 34, 21,
72 28, 18, 24, 28, 34, 28, 34, 31, 31, 3, 5, 7, 9, 12, 14};
80 return symbolRows[sizeIdx];
82 return symbolCols[sizeIdx];
84 return dataRegionRows[sizeIdx];
86 return dataRegionCols[sizeIdx];
88 return horizDataRegions[sizeIdx];
94 return dataRegionCols[sizeIdx] * horizDataRegions[sizeIdx];
96 return interleavedBlocks[sizeIdx];
98 return blockErrorWords[sizeIdx];
100 return blockMaxCorrectable[sizeIdx];
102 return symbolDataWords[sizeIdx];
104 return blockErrorWords[sizeIdx] * interleavedBlocks[sizeIdx];
106 return blockMaxCorrectable[sizeIdx] * interleavedBlocks[sizeIdx];