Commit afd930dc authored by Mashiat Sarker Shakkhar's avatar Mashiat Sarker Shakkhar Committed by Michael Niedermayer

Implement lms_predict()

(cherry picked from commit 83e31db195b9d0a07b0526eab5780817d8ce9444)
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f12f1896
......@@ -757,6 +757,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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment