29 #ifndef PARITY2D_4x4_H
30 #define PARITY2D_4x4_H
68 TABLE_SIZE = 1 << DATA_BITS,
69 INDEX_MASK = TABLE_SIZE - 1,
70 ECC_MASK = (1 << ECC_BITS) - 1
98 return eccTable[dataBits&INDEX_MASK];
101 static u32 ComputeParitySlow(u32 dataBits);
110 return (dataBits&INDEX_MASK) | (
Compute2DParity(dataBits) << DATA_BITS);
128 dataBits = corrected&INDEX_MASK;
146 u32 eccBits = (allBits>>DATA_BITS) & ECC_MASK;
147 u32 dataBits = allBits&INDEX_MASK;
168 u32 eccBits = (allBits>>DATA_BITS) & ECC_MASK;
169 u32 dataBits = allBits&INDEX_MASK;
192 static const u8 indices2D[H + 1][W + 1];
195 static const u16 eccTable[TABLE_SIZE];
196 static const u32 masks[H + 1 + W + 1];
static u32 Add2DParity(u32 dataBits)
Definition: Parity2D_4x4.h:109
static bool Remove2DParity(u32 allBits, u32 &dataBits)
Definition: Parity2D_4x4.h:124
Definition: Parity2D_4x4.h:60
static u32 Correct2DParityIfPossible(u32 allBits)
Definition: Parity2D_4x4.cpp:18
static u32 Compute2DParity(u32 dataBits)
Definition: Parity2D_4x4.h:97
static bool Check2DParity(const u32 allBits)
Definition: Parity2D_4x4.h:145
static u32 CheckAndCorrect2DParity(const u32 allBits)
Definition: Parity2D_4x4.h:167