[FFmpeg-devel] [PATCH] avcodec/on2avc: use the matching AVTX context for the 512 sized iMDCT

Lynne dev at lynne.ee
Sat Aug 5 12:38:24 EEST 2023


Aug 5, 2023, 11:15 by dev at lynne.ee:

> Aug 5, 2023, 10:33 by cus at 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 <cus at 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?


More information about the ffmpeg-devel mailing list