avcodec/siren: Factorize category 5 and 6 noise computation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/371/head
Michael Niedermayer 4 years ago
parent 1208872946
commit e847cabb60
  1. 15
      libavcodec/siren.c

@ -625,7 +625,7 @@ static int decode_vector(SirenContext *s, int number_of_regions,
coefs_ptr = coefs + (region * REGION_SIZE);
if (category == 5) {
if (category == 5 || category == 6) {
i = 0;
for (j = 0; j < REGION_SIZE; j++) {
if (*coefs_ptr != 0)
@ -633,15 +633,10 @@ static int decode_vector(SirenContext *s, int number_of_regions,
coefs_ptr++;
}
noise = decoder_standard_deviation[region] * noise_category5[i];
} else if (category == 6) {
i = 0;
for (j = 0; j < REGION_SIZE; j++) {
if (*coefs_ptr++ != 0)
i++;
}
noise = decoder_standard_deviation[region] * noise_category6[i];
if (category == 5) {
noise = decoder_standard_deviation[region] * noise_category5[i];
} else
noise = decoder_standard_deviation[region] * noise_category6[i];
} else if (category == 7) {
noise = decoder_standard_deviation[region] * 0.70711f;
} else {

Loading…
Cancel
Save