|
|
|
@ -525,8 +525,8 @@ static void build_sb_samples_from_noise(QDM2Context *q, int sb) |
|
|
|
|
* @param channels number of channels |
|
|
|
|
* @param coding_method q->coding_method[0][0][0] |
|
|
|
|
*/ |
|
|
|
|
static void fix_coding_method_array(int sb, int channels, |
|
|
|
|
sb_int8_array coding_method) |
|
|
|
|
static int fix_coding_method_array(int sb, int channels, |
|
|
|
|
sb_int8_array coding_method) |
|
|
|
|
{ |
|
|
|
|
int j, k; |
|
|
|
|
int ch; |
|
|
|
@ -534,6 +534,8 @@ static void fix_coding_method_array(int sb, int channels, |
|
|
|
|
|
|
|
|
|
for (ch = 0; ch < channels; ch++) { |
|
|
|
|
for (j = 0; j < 64; ) { |
|
|
|
|
if (coding_method[ch][sb][j] < 8) |
|
|
|
|
return -1; |
|
|
|
|
if ((coding_method[ch][sb][j] - 8) > 22) { |
|
|
|
|
run = 1; |
|
|
|
|
case_val = 8; |
|
|
|
@ -579,6 +581,7 @@ static void fix_coding_method_array(int sb, int channels, |
|
|
|
|
j += run; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -840,7 +843,11 @@ static void synthfilt_build_sb_samples(QDM2Context *q, GetBitContext *gb, |
|
|
|
|
if (q->coding_method[1][sb][j] > q->coding_method[0][sb][j]) |
|
|
|
|
q->coding_method[0][sb][j] = q->coding_method[1][sb][j]; |
|
|
|
|
|
|
|
|
|
fix_coding_method_array(sb, q->nb_channels, q->coding_method); |
|
|
|
|
if (fix_coding_method_array(sb, q->nb_channels, |
|
|
|
|
q->coding_method)) { |
|
|
|
|
build_sb_samples_from_noise(q, sb); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
channels = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|