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];
56 uint32_t mCoeffsFB[mIRate];
57 uint32_t mStateTable[mIRate][2*mIStates];
58 uint32_t mGeneratorTable[2*mIStates];
80 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
88 vCand mSurvivors[mIStates];
89 vCand mCandidates[2*mIStates];
94 unsigned iRate()
const {
return mIRate; }
95 uint32_t
cMask()
const {
return mCMask; }
96 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
97 unsigned deferral()
const {
return mDeferral; }
109 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
114 void branchCandidates();
117 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
120 void pruneCandidates();
123 const vCand& minCost()
const;
129 void computeStateTables(
unsigned g);
135 void computeGeneratorTable();
152 static const unsigned mIRate = 3;
153 static const unsigned mOrder = 4;
157 static const unsigned mIStates = 0x01 << mOrder;
158 static const uint32_t mSMask = mIStates-1;
159 static const uint32_t mCMask = (mSMask<<1) | 0x01;
160 static const uint32_t mOMask = (0x01<<mIRate)-1;
161 static const unsigned mNumCands = mIStates*2;
162 static const unsigned mDeferral = 6*mOrder;
168 uint32_t mCoeffs[mIRate];
169 uint32_t mCoeffsFB[mIRate];
170 uint32_t mStateTable[mIRate][2*mIStates];
171 uint32_t mGeneratorTable[2*mIStates];
193 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
201 vCand mSurvivors[mIStates];
202 vCand mCandidates[2*mIStates];
207 unsigned iRate()
const {
return mIRate; }
208 uint32_t
cMask()
const {
return mCMask; }
209 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
222 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
227 void branchCandidates();
230 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
233 void pruneCandidates();
236 const vCand& minCost()
const;
242 void computeStateTables(
unsigned g);
248 void computeGeneratorTable();
266 static const unsigned mIRate = 3;
267 static const unsigned mOrder = 6;
271 static const unsigned mIStates = 0x01 << mOrder;
272 static const uint32_t mSMask = mIStates-1;
273 static const uint32_t mCMask = (mSMask<<1) | 0x01;
274 static const uint32_t mOMask = (0x01<<mIRate)-1;
275 static const unsigned mNumCands = mIStates*2;
276 static const unsigned mDeferral = 5*mOrder;
282 uint32_t mCoeffs[mIRate];
283 uint32_t mCoeffsFB[mIRate];
284 uint32_t mStateTable[mIRate][2*mIStates];
285 uint32_t mGeneratorTable[2*mIStates];
307 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
315 vCand mSurvivors[mIStates];
316 vCand mCandidates[2*mIStates];
321 unsigned iRate()
const {
return mIRate; }
322 uint32_t
cMask()
const {
return mCMask; }
323 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
336 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
341 void branchCandidates();
344 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
347 void pruneCandidates();
350 const vCand& minCost()
const;
356 void computeStateTables(
unsigned g);
362 void computeGeneratorTable();
380 static const unsigned mIRate = 3;
381 static const unsigned mOrder = 4;
385 static const unsigned mIStates = 0x01 << mOrder;
386 static const uint32_t mSMask = mIStates-1;
387 static const uint32_t mCMask = (mSMask<<1) | 0x01;
388 static const uint32_t mOMask = (0x01<<mIRate)-1;
389 static const unsigned mNumCands = mIStates*2;
390 static const unsigned mDeferral = 6*mOrder;
396 uint32_t mCoeffs[mIRate];
397 uint32_t mCoeffsFB[mIRate];
398 uint32_t mStateTable[mIRate][2*mIStates];
399 uint32_t mGeneratorTable[2*mIStates];
421 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
429 vCand mSurvivors[mIStates];
430 vCand mCandidates[2*mIStates];
435 unsigned iRate()
const {
return mIRate; }
436 uint32_t
cMask()
const {
return mCMask; }
437 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
450 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
455 void branchCandidates();
458 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
461 void pruneCandidates();
464 const vCand& minCost()
const;
470 void computeStateTables(
unsigned g);
476 void computeGeneratorTable();
494 static const unsigned mIRate = 4;
495 static const unsigned mOrder = 4;
499 static const unsigned mIStates = 0x01 << mOrder;
500 static const uint32_t mSMask = mIStates-1;
501 static const uint32_t mCMask = (mSMask<<1) | 0x01;
502 static const uint32_t mOMask = (0x01<<mIRate)-1;
503 static const unsigned mNumCands = mIStates*2;
504 static const unsigned mDeferral = 6*mOrder;
510 uint32_t mCoeffs[mIRate];
511 uint32_t mCoeffsFB[mIRate];
512 uint32_t mStateTable[mIRate][2*mIStates];
513 uint32_t mGeneratorTable[2*mIStates];
535 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
543 vCand mSurvivors[mIStates];
544 vCand mCandidates[2*mIStates];
549 unsigned iRate()
const {
return mIRate; }
550 uint32_t
cMask()
const {
return mCMask; }
551 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
564 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
569 void branchCandidates();
572 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
575 void pruneCandidates();
578 const vCand& minCost()
const;
584 void computeStateTables(
unsigned g);
590 void computeGeneratorTable();
608 static const unsigned mIRate = 4;
609 static const unsigned mOrder = 6;
613 static const unsigned mIStates = 0x01 << mOrder;
614 static const uint32_t mSMask = mIStates-1;
615 static const uint32_t mCMask = (mSMask<<1) | 0x01;
616 static const uint32_t mOMask = (0x01<<mIRate)-1;
617 static const unsigned mNumCands = mIStates*2;
618 static const unsigned mDeferral = 5*mOrder;
624 uint32_t mCoeffs[mIRate];
625 uint32_t mCoeffsFB[mIRate];
626 uint32_t mStateTable[mIRate][2*mIStates];
627 uint32_t mGeneratorTable[2*mIStates];
649 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
657 vCand mSurvivors[mIStates];
658 vCand mCandidates[2*mIStates];
663 unsigned iRate()
const {
return mIRate; }
664 uint32_t
cMask()
const {
return mCMask; }
665 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
678 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
683 void branchCandidates();
686 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
689 void pruneCandidates();
692 const vCand& minCost()
const;
698 void computeStateTables(
unsigned g);
704 void computeGeneratorTable();
722 static const unsigned mIRate = 5;
723 static const unsigned mOrder = 4;
727 static const unsigned mIStates = 0x01 << mOrder;
728 static const uint32_t mSMask = mIStates-1;
729 static const uint32_t mCMask = (mSMask<<1) | 0x01;
730 static const uint32_t mOMask = (0x01<<mIRate)-1;
731 static const unsigned mNumCands = mIStates*2;
732 static const unsigned mDeferral = 6*mOrder;
738 uint32_t mCoeffs[mIRate];
739 uint32_t mCoeffsFB[mIRate];
740 uint32_t mStateTable[mIRate][2*mIStates];
741 uint32_t mGeneratorTable[2*mIStates];
763 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
771 vCand mSurvivors[mIStates];
772 vCand mCandidates[2*mIStates];
777 unsigned iRate()
const {
return mIRate; }
778 uint32_t
cMask()
const {
return mCMask; }
779 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
792 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
797 void branchCandidates();
800 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
803 void pruneCandidates();
806 const vCand& minCost()
const;
812 void computeStateTables(
unsigned g);
818 void computeGeneratorTable();
836 static const unsigned mIRate = 5;
837 static const unsigned mOrder = 6;
841 static const unsigned mIStates = 0x01 << mOrder;
842 static const uint32_t mSMask = mIStates-1;
843 static const uint32_t mCMask = (mSMask<<1) | 0x01;
844 static const uint32_t mOMask = (0x01<<mIRate)-1;
845 static const unsigned mNumCands = mIStates*2;
846 static const unsigned mDeferral = 5*mOrder;
852 uint32_t mCoeffs[mIRate];
853 uint32_t mCoeffsFB[mIRate];
854 uint32_t mStateTable[mIRate][2*mIStates];
855 uint32_t mGeneratorTable[2*mIStates];
877 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
885 vCand mSurvivors[mIStates];
886 vCand mCandidates[2*mIStates];
891 unsigned iRate()
const {
return mIRate; }
892 uint32_t
cMask()
const {
return mCMask; }
893 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
906 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
911 void branchCandidates();
914 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
917 void pruneCandidates();
920 const vCand& minCost()
const;
926 void computeStateTables(
unsigned g);
932 void computeGeneratorTable();
Definition BitVector.h:116
Definition BitVector.h:328
Definition AmrCoder.h:145
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:209
unsigned iRate() const
Definition AmrCoder.h:207
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
struct ViterbiTCH_AFS10_2::candStruct vCand
unsigned deferral() const
Definition AmrCoder.h:210
uint32_t cMask() const
Definition AmrCoder.h:208
void vitClear(vCand &v)
Definition AmrCoder.h:188
uint32_t cMask() const
Definition AmrCoder.h:95
void vitClear(vCand &v)
Definition AmrCoder.h:75
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:96
unsigned deferral() const
Definition AmrCoder.h:97
unsigned iRate() const
Definition AmrCoder.h:94
struct ViterbiTCH_AFS12_2::candStruct vCand
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
Definition AmrCoder.h:829
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:893
uint32_t cMask() const
Definition AmrCoder.h:892
unsigned iRate() const
Definition AmrCoder.h:891
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
unsigned deferral() const
Definition AmrCoder.h:894
struct ViterbiTCH_AFS4_75::candStruct vCand
void vitClear(vCand &v)
Definition AmrCoder.h:872
Definition AmrCoder.h:715
unsigned deferral() const
Definition AmrCoder.h:780
void vitClear(vCand &v)
Definition AmrCoder.h:758
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:779
uint32_t cMask() const
Definition AmrCoder.h:778
struct ViterbiTCH_AFS5_15::candStruct vCand
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
unsigned iRate() const
Definition AmrCoder.h:777
Definition AmrCoder.h:601
struct ViterbiTCH_AFS5_9::candStruct vCand
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:665
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
unsigned deferral() const
Definition AmrCoder.h:666
uint32_t cMask() const
Definition AmrCoder.h:664
void vitClear(vCand &v)
Definition AmrCoder.h:644
unsigned iRate() const
Definition AmrCoder.h:663
Definition AmrCoder.h:487
void vitClear(vCand &v)
Definition AmrCoder.h:530
struct ViterbiTCH_AFS6_7::candStruct vCand
uint32_t cMask() const
Definition AmrCoder.h:550
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:551
unsigned iRate() const
Definition AmrCoder.h:549
unsigned deferral() const
Definition AmrCoder.h:552
Definition AmrCoder.h:373
uint32_t cMask() const
Definition AmrCoder.h:436
unsigned deferral() const
Definition AmrCoder.h:438
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:437
struct ViterbiTCH_AFS7_4::candStruct vCand
unsigned iRate() const
Definition AmrCoder.h:435
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
void vitClear(vCand &v)
Definition AmrCoder.h:416
Definition AmrCoder.h:259
struct ViterbiTCH_AFS7_95::candStruct vCand
unsigned deferral() const
Definition AmrCoder.h:324
uint32_t cMask() const
Definition AmrCoder.h:322
uint32_t stateTable(unsigned g, unsigned i) const
Definition AmrCoder.h:323
unsigned iRate() const
Definition AmrCoder.h:321
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
void vitClear(vCand &v)
Definition AmrCoder.h:302
Definition AmrCoder.h:180
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:182
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:181
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:184
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:183
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:70
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:71
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:68
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:69
Definition AmrCoder.h:864
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:866
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:865
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:868
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:867
Definition AmrCoder.h:750
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:754
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:752
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:753
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:751
Definition AmrCoder.h:636
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:637
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:638
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:640
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:639
Definition AmrCoder.h:522
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:523
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:524
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:526
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:525
Definition AmrCoder.h:408
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:412
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:410
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:411
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:409
Definition AmrCoder.h:294
uint32_t iState
encoder input associated with this candidate
Definition AmrCoder.h:295
char rState[mIRate]
real states of encoders associated with this candidate
Definition AmrCoder.h:297
float cost
cost (metric value), float to support soft inputs
Definition AmrCoder.h:298
uint32_t oState
encoder output associated with this candidate
Definition AmrCoder.h:296