34 static const unsigned mIRate = 2;
35 static const unsigned mOrder = 4;
39 static const unsigned mIStates = 0x01 << mOrder;
40 static const uint32_t mSMask = mIStates-1;
41 static const uint32_t mCMask = (mSMask<<1) | 0x01;
42 static const uint32_t mOMask = (0x01<<mIRate)-1;
43 static const unsigned mNumCands = mIStates*2;
44 static const unsigned mDeferral = 6*mOrder;
50 uint32_t mCoeffs[mIRate];
51 uint32_t mCoeffsFB[mIRate];
52 uint32_t mStateTable[mIRate][2*mIStates];
53 uint32_t mGeneratorTable[2*mIStates];
75 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
83 vCand mSurvivors[mIStates];
84 vCand mCandidates[2*mIStates];
89 unsigned iRate()
const {
return mIRate; }
90 uint32_t
cMask()
const {
return mCMask; }
91 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
92 unsigned deferral()
const {
return mDeferral; }
104 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
109 void branchCandidates();
112 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
115 void pruneCandidates();
118 const vCand& minCost()
const;
124 void computeStateTables(
unsigned g);
130 void computeGeneratorTable();
147 static const unsigned mIRate = 3;
148 static const unsigned mOrder = 4;
152 static const unsigned mIStates = 0x01 << mOrder;
153 static const uint32_t mSMask = mIStates-1;
154 static const uint32_t mCMask = (mSMask<<1) | 0x01;
155 static const uint32_t mOMask = (0x01<<mIRate)-1;
156 static const unsigned mNumCands = mIStates*2;
157 static const unsigned mDeferral = 6*mOrder;
163 uint32_t mCoeffs[mIRate];
164 uint32_t mCoeffsFB[mIRate];
165 uint32_t mStateTable[mIRate][2*mIStates];
166 uint32_t mGeneratorTable[2*mIStates];
188 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
196 vCand mSurvivors[mIStates];
197 vCand mCandidates[2*mIStates];
202 unsigned iRate()
const {
return mIRate; }
203 uint32_t
cMask()
const {
return mCMask; }
204 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
217 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
222 void branchCandidates();
225 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
228 void pruneCandidates();
231 const vCand& minCost()
const;
237 void computeStateTables(
unsigned g);
243 void computeGeneratorTable();
261 static const unsigned mIRate = 3;
262 static const unsigned mOrder = 6;
266 static const unsigned mIStates = 0x01 << mOrder;
267 static const uint32_t mSMask = mIStates-1;
268 static const uint32_t mCMask = (mSMask<<1) | 0x01;
269 static const uint32_t mOMask = (0x01<<mIRate)-1;
270 static const unsigned mNumCands = mIStates*2;
271 static const unsigned mDeferral = 5*mOrder;
277 uint32_t mCoeffs[mIRate];
278 uint32_t mCoeffsFB[mIRate];
279 uint32_t mStateTable[mIRate][2*mIStates];
280 uint32_t mGeneratorTable[2*mIStates];
302 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
310 vCand mSurvivors[mIStates];
311 vCand mCandidates[2*mIStates];
316 unsigned iRate()
const {
return mIRate; }
317 uint32_t
cMask()
const {
return mCMask; }
318 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
331 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
336 void branchCandidates();
339 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
342 void pruneCandidates();
345 const vCand& minCost()
const;
351 void computeStateTables(
unsigned g);
357 void computeGeneratorTable();
375 static const unsigned mIRate = 3;
376 static const unsigned mOrder = 4;
380 static const unsigned mIStates = 0x01 << mOrder;
381 static const uint32_t mSMask = mIStates-1;
382 static const uint32_t mCMask = (mSMask<<1) | 0x01;
383 static const uint32_t mOMask = (0x01<<mIRate)-1;
384 static const unsigned mNumCands = mIStates*2;
385 static const unsigned mDeferral = 6*mOrder;
391 uint32_t mCoeffs[mIRate];
392 uint32_t mCoeffsFB[mIRate];
393 uint32_t mStateTable[mIRate][2*mIStates];
394 uint32_t mGeneratorTable[2*mIStates];
416 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
424 vCand mSurvivors[mIStates];
425 vCand mCandidates[2*mIStates];
430 unsigned iRate()
const {
return mIRate; }
431 uint32_t
cMask()
const {
return mCMask; }
432 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
445 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
450 void branchCandidates();
453 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
456 void pruneCandidates();
459 const vCand& minCost()
const;
465 void computeStateTables(
unsigned g);
471 void computeGeneratorTable();
489 static const unsigned mIRate = 4;
490 static const unsigned mOrder = 4;
494 static const unsigned mIStates = 0x01 << mOrder;
495 static const uint32_t mSMask = mIStates-1;
496 static const uint32_t mCMask = (mSMask<<1) | 0x01;
497 static const uint32_t mOMask = (0x01<<mIRate)-1;
498 static const unsigned mNumCands = mIStates*2;
499 static const unsigned mDeferral = 6*mOrder;
505 uint32_t mCoeffs[mIRate];
506 uint32_t mCoeffsFB[mIRate];
507 uint32_t mStateTable[mIRate][2*mIStates];
508 uint32_t mGeneratorTable[2*mIStates];
530 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
538 vCand mSurvivors[mIStates];
539 vCand mCandidates[2*mIStates];
544 unsigned iRate()
const {
return mIRate; }
545 uint32_t
cMask()
const {
return mCMask; }
546 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
559 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
564 void branchCandidates();
567 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
570 void pruneCandidates();
573 const vCand& minCost()
const;
579 void computeStateTables(
unsigned g);
585 void computeGeneratorTable();
603 static const unsigned mIRate = 4;
604 static const unsigned mOrder = 6;
608 static const unsigned mIStates = 0x01 << mOrder;
609 static const uint32_t mSMask = mIStates-1;
610 static const uint32_t mCMask = (mSMask<<1) | 0x01;
611 static const uint32_t mOMask = (0x01<<mIRate)-1;
612 static const unsigned mNumCands = mIStates*2;
613 static const unsigned mDeferral = 5*mOrder;
619 uint32_t mCoeffs[mIRate];
620 uint32_t mCoeffsFB[mIRate];
621 uint32_t mStateTable[mIRate][2*mIStates];
622 uint32_t mGeneratorTable[2*mIStates];
644 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
652 vCand mSurvivors[mIStates];
653 vCand mCandidates[2*mIStates];
658 unsigned iRate()
const {
return mIRate; }
659 uint32_t
cMask()
const {
return mCMask; }
660 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
673 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
678 void branchCandidates();
681 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
684 void pruneCandidates();
687 const vCand& minCost()
const;
693 void computeStateTables(
unsigned g);
699 void computeGeneratorTable();
717 static const unsigned mIRate = 5;
718 static const unsigned mOrder = 4;
722 static const unsigned mIStates = 0x01 << mOrder;
723 static const uint32_t mSMask = mIStates-1;
724 static const uint32_t mCMask = (mSMask<<1) | 0x01;
725 static const uint32_t mOMask = (0x01<<mIRate)-1;
726 static const unsigned mNumCands = mIStates*2;
727 static const unsigned mDeferral = 6*mOrder;
733 uint32_t mCoeffs[mIRate];
734 uint32_t mCoeffsFB[mIRate];
735 uint32_t mStateTable[mIRate][2*mIStates];
736 uint32_t mGeneratorTable[2*mIStates];
758 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
766 vCand mSurvivors[mIStates];
767 vCand mCandidates[2*mIStates];
772 unsigned iRate()
const {
return mIRate; }
773 uint32_t
cMask()
const {
return mCMask; }
774 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
787 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
792 void branchCandidates();
795 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
798 void pruneCandidates();
801 const vCand& minCost()
const;
807 void computeStateTables(
unsigned g);
813 void computeGeneratorTable();
831 static const unsigned mIRate = 5;
832 static const unsigned mOrder = 6;
836 static const unsigned mIStates = 0x01 << mOrder;
837 static const uint32_t mSMask = mIStates-1;
838 static const uint32_t mCMask = (mSMask<<1) | 0x01;
839 static const uint32_t mOMask = (0x01<<mIRate)-1;
840 static const unsigned mNumCands = mIStates*2;
841 static const unsigned mDeferral = 5*mOrder;
847 uint32_t mCoeffs[mIRate];
848 uint32_t mCoeffsFB[mIRate];
849 uint32_t mStateTable[mIRate][2*mIStates];
850 uint32_t mGeneratorTable[2*mIStates];
872 for (
unsigned i = 0; i < mIRate; i++) v.
rState[i] = 0;
880 vCand mSurvivors[mIStates];
881 vCand mCandidates[2*mIStates];
886 unsigned iRate()
const {
return mIRate; }
887 uint32_t
cMask()
const {
return mCMask; }
888 uint32_t
stateTable(
unsigned g,
unsigned i)
const {
return mStateTable[g][i]; }
901 const vCand&
step(uint32_t inSample,
const float *probs,
const float *iprobs);
906 void branchCandidates();
909 void getSoftCostMetrics(uint32_t inSample,
const float *probs,
const float *iprobs);
912 void pruneCandidates();
915 const vCand& minCost()
const;
921 void computeStateTables(
unsigned g);
927 void computeGeneratorTable();
struct ViterbiTCH_AFS7_4::candStruct vCand
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:405
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:91
unsigned iRate() const
Definition: AmrCoder.h:89
uint32_t cMask() const
Definition: AmrCoder.h:203
Definition: AmrCoder.h:482
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
Definition: AmrCoder.h:710
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
Definition: AmrCoder.h:745
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:520
struct ViterbiTCH_AFS4_75::candStruct vCand
Definition: AmrCoder.h:859
Definition: AmrCoder.h:824
Definition: AmrCoder.h:289
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:519
void vitClear(vCand &v)
Definition: AmrCoder.h:525
Definition: AmrCoder.h:140
uint32_t cMask() const
Definition: AmrCoder.h:773
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:178
unsigned iRate() const
Definition: AmrCoder.h:544
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
Definition: AmrCoder.h:27
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:204
unsigned iRate() const
Definition: AmrCoder.h:886
unsigned iRate() const
Definition: AmrCoder.h:772
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:406
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:521
unsigned iRate() const
Definition: AmrCoder.h:658
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:407
Definition: BitVector.h:120
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
struct ViterbiTCH_AFS5_15::candStruct vCand
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:432
void vitClear(vCand &v)
Definition: AmrCoder.h:183
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:293
unsigned deferral() const
Definition: AmrCoder.h:433
struct ViterbiTCH_AFS5_9::candStruct vCand
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:749
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:634
unsigned iRate() const
Definition: AmrCoder.h:430
Definition: AmrCoder.h:631
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:63
struct ViterbiTCH_AFS10_2::candStruct vCand
Definition: BitVector.h:333
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:747
Definition: AmrCoder.h:62
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:774
unsigned deferral() const
Definition: AmrCoder.h:92
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:66
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:518
uint32_t cMask() const
Definition: AmrCoder.h:887
unsigned deferral() const
Definition: AmrCoder.h:775
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:748
uint32_t cMask() const
Definition: AmrCoder.h:659
unsigned iRate() const
Definition: AmrCoder.h:316
unsigned deferral() const
Definition: AmrCoder.h:661
Definition: AmrCoder.h:175
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:660
void vitClear(vCand &v)
Definition: AmrCoder.h:867
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:862
unsigned deferral() const
Definition: AmrCoder.h:319
uint32_t cMask() const
Definition: AmrCoder.h:317
unsigned deferral() const
Definition: AmrCoder.h:205
unsigned iRate() const
Definition: AmrCoder.h:202
uint32_t cMask() const
Definition: AmrCoder.h:545
Definition: AmrCoder.h:596
uint32_t cMask() const
Definition: AmrCoder.h:90
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:546
unsigned deferral() const
Definition: AmrCoder.h:547
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:318
void vitClear(vCand &v)
Definition: AmrCoder.h:411
Definition: AmrCoder.h:517
struct ViterbiTCH_AFS7_95::candStruct vCand
unsigned deferral() const
Definition: AmrCoder.h:889
uint32_t stateTable(unsigned g, unsigned i) const
Definition: AmrCoder.h:888
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:179
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:65
struct ViterbiTCH_AFS12_2::candStruct vCand
struct ViterbiTCH_AFS6_7::candStruct vCand
void vitClear(vCand &v)
Definition: AmrCoder.h:70
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:632
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:404
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:861
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:860
uint32_t cMask() const
Definition: AmrCoder.h:431
Definition: AmrCoder.h:368
void vitClear(vCand &v)
Definition: AmrCoder.h:753
void vitClear(vCand &v)
Definition: AmrCoder.h:297
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:635
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:290
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:176
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:64
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:633
Definition: AmrCoder.h:403
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:291
char rState[mIRate]
real states of encoders associated with this candidate
Definition: AmrCoder.h:292
void vitClear(vCand &v)
Definition: AmrCoder.h:639
Definition: AmrCoder.h:254
float cost
cost (metric value), float to support soft inputs
Definition: AmrCoder.h:863
uint32_t iState
encoder input associated with this candidate
Definition: AmrCoder.h:746
const vCand & step(uint32_t inSample, const float *probs, const float *iprobs)
uint32_t oState
encoder output associated with this candidate
Definition: AmrCoder.h:177