Implement lms_predict()
This commit is contained in:
parent
03684c8ff3
commit
0faae518e9
@ -754,6 +754,23 @@ static void reset_codec(WmallDecodeCtx *s)
|
||||
|
||||
|
||||
|
||||
static int lms_predict(WmallDecodeCtx *s, int ich, int ilms)
|
||||
{
|
||||
int32_t pred, icoef;
|
||||
int recent = s->cdlms[ich][ilms].recent;
|
||||
|
||||
for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++)
|
||||
pred += s->cdlms[ich][ilms].coefs[icoef] *
|
||||
s->cdlms[ich][ilms].lms_prevvalues[icoef + recent];
|
||||
|
||||
pred += (1 << (s->cdlms[ich][ilms].scaling - 1));
|
||||
/* XXX: Table 29 has:
|
||||
iPred >= cdlms[iCh][ilms].scaling;
|
||||
seems to me like a missing > */
|
||||
pred >>= s->cdlms[ich][ilms].scaling;
|
||||
return pred;
|
||||
}
|
||||
|
||||
/**
|
||||
*@brief Decode a single subframe (block).
|
||||
*@param s codec context
|
||||
|
Loading…
Reference in New Issue
Block a user