avcodec/siren: Factorize category 5 and 6 noise computation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-12-24 22:13:56 +01:00
parent 1208872946
commit e847cabb60
1 changed files with 5 additions and 10 deletions

View File

@ -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 {