On Sat, 5 Aug 2023, Lynne wrote:

Aug 5, 2023, 11:15 by d...@lynne.ee:

Aug 5, 2023, 10:33 by c...@passwd.hu:

Improves the audio corruption regression caused by
6ba0aa1770ba29eb4126c6a706f6b0cd3809648f reported in ticket #10029.

There is still however a noticable audio glitch, so the FFT conversion to AVTX
probably also needs some modifications.

Signed-off-by: Marton Balint <c...@passwd.hu>
---
 libavcodec/on2avc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c
index 74be1dcb60..474adb149d 100644
--- a/libavcodec/on2avc.c
+++ b/libavcodec/on2avc.c
@@ -700,7 +700,7 @@ static int on2avc_reconstruct_channel_ext(On2AVCContext *c, 
AVFrame *dst, int of
 break;
 case WINDOW_TYPE_EXT5:
 c->wtf(c, buf, in, 512);
-            c->mdct_half_fn(c->mdct, buf + 512, in + 512, sizeof(float));
+            c->mdct_half_fn(c->mdct_half, buf + 512, in + 512, sizeof(float));
 for (i = 0; i < 256; i++) {
 FFSWAP(float, buf[i + 512], buf[1023 - i]);
 }


LGTM
Thanks


Actually, looking at it, the WINDOW_TYPE_EXT7 branch, something
weird's going on there as well:

-            c->mdct.imdct_half(&c->mdct, buf, in);
+            c->mdct_fn(c->mdct, buf, in, sizeof(float));

The original misused the context. Maybe this
should be both half as well?

I thought that is just the old API where you have to use the imdct_half function to get the useful half-sized IMDCT. But the old code really means to use the 11-bit context to calculate 1024 samples not the 10-bit one confusingly called c->mdct_half to calculate 512 samples.

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to