@@ -624,7 +624,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)
@@ -632,15 +632,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 {
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/siren.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)