Skip to content
This repository was archived by the owner on Jun 21, 2021. It is now read-only.

Commit 62b32cb

Browse files
committed
sbr_make_f_master(): Simplify f_master n_master error adjustment
1 parent 0894221 commit 62b32cb

File tree

1 file changed

+5
-15
lines changed

1 file changed

+5
-15
lines changed

libavcodec/aacsbr.c

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -368,21 +368,11 @@ static int sbr_make_f_master(AACContext *ac, SpectralBandReplication *sbr,
368368
sbr->f_master[k] = dk;
369369

370370
k2diff = sbr->k[2] - sbr->k[0] - sbr->n_master * dk;
371-
if (k2diff) {
372-
int incr;
373-
if (k2diff < 0) {
374-
incr = 1;
375-
k = 1;
376-
} else {
377-
incr = -1;
378-
k = sbr->n_master;
379-
}
380-
381-
while (k2diff) {
382-
sbr->f_master[k] -= incr;
383-
k += incr;
384-
k2diff += incr;
385-
}
371+
if (k2diff < 0) {
372+
sbr->f_master[1]--;
373+
sbr->f_master[2]-= (k2diff < 1);
374+
} else if (k2diff) {
375+
sbr->f_master[sbr->n_master]++;
386376
}
387377

388378
sbr->f_master[0] = sbr->k[0];

0 commit comments

Comments
 (0)