aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/siren.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-12-24 22:13:56 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-01-28 21:06:55 +0100
commite847cabb60a29c354512664022ad6833a907bf1b (patch)
tree0f40176d225005d7f99242a4de77b1e2d2fa383c /libavcodec/siren.c
parent1208872946c8c66a59df709c901b4dc1e84efb69 (diff)
downloadffmpeg-e847cabb60a29c354512664022ad6833a907bf1b.tar.gz
avcodec/siren: Factorize category 5 and 6 noise computation
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/siren.c')
-rw-r--r--libavcodec/siren.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/libavcodec/siren.c b/libavcodec/siren.c
index 2d72fb9572..6c7a8e8b34 100644
--- a/libavcodec/siren.c
+++ b/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 {