diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2020-12-24 22:13:56 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-01-28 21:06:55 +0100 |
commit | e847cabb60a29c354512664022ad6833a907bf1b (patch) | |
tree | 0f40176d225005d7f99242a4de77b1e2d2fa383c /libavcodec/siren.c | |
parent | 1208872946c8c66a59df709c901b4dc1e84efb69 (diff) | |
download | ffmpeg-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.c | 15 |
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 { |