Hi
The following two fixes (which are merged in one diff
cause i'm a bit lazy) remedies most of the click/pop
issues related to EIGHT_SHORT_SEQUENCE.
I say 'most' because there are still small audible
clicks with some of my test content.
But this is a vast improvement for sure.
I understand that there is no current maintainer of AAC
so unless someone objects I'll just apply the patches (split in two)
later today or tomorrow.
--- soc/aac.c 2007-11-09 18:05:16.000000000 +0100
+++ trunk/libavcodec/aac.c 2007-11-10 18:18:35.000000000 +0100
@@ -1293,13 +1293,15 @@
for (gp = 0; gp < ics->group_len[g]; gp++) {
for (i = 0; i < ics->max_sfb; i++) {
if (ms->mask[g][i]) {
- for (k = offsets[i] + gp*128; k < offsets[i+1] + gp*128; k++) {
+ for (k = offsets[i]; k < offsets[i+1]; k++) {
float tmp = ch0[k] - ch1[k];
ch0[k] += ch1[k];
ch1[k] = tmp;
}
}
}
+ ch0 += 128;
+ ch1 += 128;
}
//av_log(ac->avccontext, AV_LOG_INFO, "\n");
}
@@ -1745,7 +1747,7 @@
memcpy(saved, buf + 1024, 448 * sizeof(float));
for (i = 448; i < 576; i++) buf[i + 1024] *= 0.125; // normalize
ac->dsp.vector_fmul_reverse(saved + 448, buf + 1024 + 448, swindow, 128);
- //for (i = 576; i < 1024; i++) saved[i] = 0.0;
+ for (i = 576; i < 1024; i++) saved[i] = 0.0;
}
} else {
int i;
@@ -1763,13 +1765,14 @@
vector_fmul_add_add_add(ac, out + 4*128, buf + 8*128, swindow, saved + 4*128, ac->revers + 3*128, ac->add_bias, 64);
//for (i = -448; i < 1024 - 448; i++)
// out[i] = ac->add_bias;
+ saved -= 448;
buf += 1024;
ac->dsp.vector_fmul_add_add(saved, buf + 64, swindow, ac->revers + 3*128+64, 0, 64, 1);
ac->dsp.vector_fmul_add_add(saved + 64, buf + 2*128, swindow, ac->revers + 4*128, 0, 128, 1);
ac->dsp.vector_fmul_add_add(saved + 192, buf + 4*128, swindow, ac->revers + 5*128, 0, 128, 1);
ac->dsp.vector_fmul_add_add(saved + 320, buf + 6*128, swindow, ac->revers + 6*128, 0, 128, 1);
memcpy( saved + 448, ac->revers + 7*128, 128 * sizeof(float));
- //for (i = 576; i < 1024; i++) saved[i] = 0.0;
+ for (i = 576; i < 1024; i++) saved[i] = 0.0;
}
}
_______________________________________________
FFmpeg-soc mailing list
[email protected]
http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc