Go to the documentation of this file.
22 #ifndef _VITERBIR204_H_
23 #define _VITERBIR204_H_ 1
39 static const unsigned mIRate = 2;
40 static const unsigned mOrder = 4;
44 static const unsigned mIStates = 0x01 << mOrder;
45 static const uint32_t mSMask = mIStates-1;
46 static const uint32_t mCMask = (mSMask<<1) | 0x01;
47 static const uint32_t mOMask = (0x01<<mIRate)-1;
48 static const unsigned mNumCands = mIStates*2;
49 static const unsigned mDeferral = 6*mOrder;
55 uint32_t mCoeffs[mIRate];
58 uint32_t mStateTable[mIRate][2*mIStates];
60 uint32_t mGeneratorTable[2*mIStates];
91 vCand mSurvivors[mIStates];
92 vCand mCandidates[2*mIStates];
97 unsigned iRate()
const {
return mIRate; }
98 uint32_t
cMask()
const {
return mCMask; }
99 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
112 const vCand*
vstep(uint32_t inSample,
const float *probs,
const float *iprobs,
bool isNotTailBits);
117 void branchCandidates();
120 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
123 void pruneCandidates();
126 const vCand& minCost()
const;
132 void computeStateTables(
unsigned g);
138 void computeGeneratorTable();
Definition: BitVector.h:116
uint32_t cMask() const
Definition: ViterbiR204.h:98
struct ViterbiR2O4::candStruct vCand
const vCand * vstep(uint32_t inSample, const float *probs, const float *iprobs, bool isNotTailBits)
int bitErrorCnt
number of bit errors in the encoded vector being decoded.
Definition: ViterbiR204.h:74
void vitClear(vCand &v)
Definition: ViterbiR204.h:78
void encode(const BitVector &in, BitVector &target) const
uint32_t iState
encoder input associated with this candidate
Definition: ViterbiR204.h:71
float cost
cost (metric value), float to support soft inputs
Definition: ViterbiR204.h:73
Definition: BitVector.h:328
unsigned iRate() const
Definition: ViterbiR204.h:97
uint32_t stateTable(unsigned g, unsigned i) const
Definition: ViterbiR204.h:99
unsigned deferral() const
Definition: ViterbiR204.h:100
uint32_t oState
encoder output associated with this candidate
Definition: ViterbiR204.h:72
void decode(const SoftVector &in, BitVector &target)
Definition: ViterbiR204.h:32
int getBEC()
Definition: ViterbiR204.h:143
Definition: ViterbiR204.h:70