# HG changeset patch # User jbr # Date 1185669330 0 # Node ID 9746c9a0384f636f47de815030c6549a0e067458 # Parent 28c20633db556e98fc709e9ecb167d809dbe1131 change 2 fields from context to local variables diff -r 28c20633db55 -r 9746c9a0384f ac3dec.c --- a/ac3dec.c Sat Jul 28 20:50:25 2007 +0000 +++ b/ac3dec.c Sun Jul 29 00:35:30 2007 +0000 @@ -89,8 +89,6 @@ int cplinu; int chincpl[AC3_MAX_CHANNELS]; int phsflginu; - int cplbegf; - int cplendf; int cplcoe; uint32_t cplbndstrc; int rematstr; @@ -801,23 +799,25 @@ ctx->cplinu = get_bits1(gb); ctx->cplbndstrc = 0; if (ctx->cplinu) { /* coupling in use */ + int cplbegf, cplendf; + for (i = 0; i < nfchans; i++) ctx->chincpl[i] = get_bits1(gb); if (acmod == AC3_ACMOD_STEREO) ctx->phsflginu = get_bits1(gb); //phase flag in use - ctx->cplbegf = get_bits(gb, 4); - ctx->cplendf = get_bits(gb, 4); + cplbegf = get_bits(gb, 4); + cplendf = get_bits(gb, 4); - if (3 + ctx->cplendf - ctx->cplbegf < 0) { - av_log(NULL, AV_LOG_ERROR, "cplendf = %d < cplbegf = %d\n", ctx->cplendf, ctx->cplbegf); + if (3 + cplendf - cplbegf < 0) { + av_log(NULL, AV_LOG_ERROR, "cplendf = %d < cplbegf = %d\n", cplendf, cplbegf); return -1; } - ctx->ncplbnd = ctx->ncplsubnd = 3 + ctx->cplendf - ctx->cplbegf; - ctx->cplstrtmant = ctx->cplbegf * 12 + 37; - ctx->cplendmant = ctx->cplendf * 12 + 73; + ctx->ncplbnd = ctx->ncplsubnd = 3 + cplendf - cplbegf; + ctx->cplstrtmant = cplbegf * 12 + 37; + ctx->cplendmant = cplendf * 12 + 73; for (i = 0; i < ctx->ncplsubnd - 1; i++) /* coupling band structure */ if (get_bits1(gb)) { ctx->cplbndstrc |= 1 << i; @@ -857,13 +857,13 @@ if (acmod == AC3_ACMOD_STEREO) {/* rematrixing */ ctx->rematstr = get_bits1(gb); if (ctx->rematstr) { - if (!(ctx->cplinu) || ctx->cplbegf > 2) + if (!(ctx->cplinu) || ctx->cplstrtmant > 61) for (rbnd = 0; rbnd < 4; rbnd++) ctx->rematflg[rbnd] = get_bits1(gb); - if (ctx->cplbegf > 0 && ctx->cplbegf <= 2 && ctx->cplinu) + if (ctx->cplstrtmant > 37 && ctx->cplstrtmant <= 61 && ctx->cplinu) for (rbnd = 0; rbnd < 3; rbnd++) ctx->rematflg[rbnd] = get_bits1(gb); - if (ctx->cplbegf == 0 && ctx->cplinu) + if (ctx->cplstrtmant == 37 && ctx->cplinu) for (rbnd = 0; rbnd < 2; rbnd++) ctx->rematflg[rbnd] = get_bits1(gb); }