void FormatModule(void) { int i, j; int nMinPenalty, nPenalty; memset(m_byModuleData, 0, sizeof(m_byModuleData)); SetFunctionModule(); SetCodeWordPattern(); if (m_nMaskingNo == -1) { m_nMaskingNo = 0; SetMaskingPattern(m_nMaskingNo); SetFormatInfoPattern(m_nMaskingNo); nMinPenalty = CountPenalty(); for (i = 1; i <= 7; ++i) { SetMaskingPattern(i); SetFormatInfoPattern(i); nPenalty = CountPenalty(); if (nPenalty < nMinPenalty) { nMinPenalty = nPenalty; m_nMaskingNo = i; } } } SetMaskingPattern(m_nMaskingNo); SetFormatInfoPattern(m_nMaskingNo); for (i = 0; i < m_nSymbleSize; ++i) { for (j = 0; j < m_nSymbleSize; ++j) { m_byModuleData[i][j] = (BYTE)((m_byModuleData[i][j] & 0x11) != 0); } } }
void FormatModule(void) { int i, j; memset(m_byModuleData, 0, sizeof(m_byModuleData)); // Function module placement SetFunctionModule(); // Data placement SetCodeWordPattern(); if (m_nMaskingNo == -1) { // Select the best pattern masking m_nMaskingNo = 0; SetMaskingPattern(m_nMaskingNo); // Masking SetFormatInfoPattern(m_nMaskingNo); // Placement pattern format information int nMinPenalty = CountPenalty(); for (i = 1; i <= 7; i++) { SetMaskingPattern(i); // Masking SetFormatInfoPattern(i); // Placement pattern format information int nPenalty = CountPenalty(); if (nPenalty < nMinPenalty) { nMinPenalty = nPenalty; m_nMaskingNo = i; } } } SetMaskingPattern(m_nMaskingNo); // Masking SetFormatInfoPattern(m_nMaskingNo); // Placement pattern format information // The module pattern converted to a Boolean value for (i = 0; i < m_nSymbleSize; i++) { for (j = 0; j < m_nSymbleSize; j++) { m_byModuleData[i][j] = (uint8_t)((m_byModuleData[i][j] & 0x11) != 0); } } }