simplify code and comment regarding determination whether or not AHT is used.
Originally committed as revision 15101 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7d5fdf900b
commit
f07fe6e78a
@ -420,21 +420,21 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
|
||||
|
||||
/* determine which channels use AHT */
|
||||
if (parse_aht_info) {
|
||||
/* AHT is only available when there are 6 blocks in the frame.
|
||||
The coupling channel can only use AHT when coupling is in use for
|
||||
all blocks.
|
||||
reference: Section E3.3.2 Bit Stream Helper Variables */
|
||||
/* For AHT to be used, all non-zero blocks must reuse exponents from
|
||||
the first block. Furthermore, for AHT to be used in the coupling
|
||||
channel, all blocks must use coupling and use the same coupling
|
||||
strategy. */
|
||||
s->channel_uses_aht[CPL_CH]=0;
|
||||
for (ch = (num_cpl_blocks != 6); ch <= s->channels; ch++) {
|
||||
int nchregs = 0;
|
||||
for (blk = 0; blk < 6; blk++) {
|
||||
if (ch)
|
||||
nchregs += (s->exp_strategy[blk][ch] != EXP_REUSE);
|
||||
else
|
||||
nchregs += s->cpl_strategy_exists[blk] ||
|
||||
(s->exp_strategy[blk][CPL_CH] != EXP_REUSE);
|
||||
int use_aht = 1;
|
||||
for (blk = 1; blk < 6; blk++) {
|
||||
if ((s->exp_strategy[blk][ch] != EXP_REUSE) ||
|
||||
(!ch && s->cpl_strategy_exists[blk])) {
|
||||
use_aht = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
s->channel_uses_aht[ch] = (nchregs == 1) && get_bits1(gbc);
|
||||
s->channel_uses_aht[ch] = use_aht && get_bits1(gbc);
|
||||
}
|
||||
} else {
|
||||
memset(s->channel_uses_aht, 0, sizeof(s->channel_uses_aht));
|
||||
|
Loading…
Reference in New Issue
Block a user