Ronald S. Bultje <[email protected]> added the comment:
It crashes (also in the C version) in this piece of code:
__asm__ volatile(
"1: \n"
CMUL(%0, %%xmm0, %%xmm1)
CMUL(%1, %%xmm4, %%xmm5)
Particularly, the second mulps in CMUL. That's a multiply with variables
in s->tsin/s->tcos, suggesting these aren't properly assigned.
(gdb) print tcos
$1 = <value temporarily unavailable, due to optimizations>
(gdb) print s
$2 = (FFTContext *) 0x2de2490
(gdb) print *s
$3 = {
nbits = 10,
inverse = 1,
revtab = 0x1842200,
tmp_buf = 0x183ca00,
mdct_size = 0,
mdct_bits = 0,
tcos = 0x1000,
tsin = 0xc,
fft_permute = 0x182a800,
fft_calc = 0x182b800,
imdct_calc = 0x45b6f0 <ff_imdct_calc_sse>,
imdct_half = 0x45b3f0 <ff_imdct_half_sse>,
mdct_calc = 0x225730 <ff_mdct_calc_c>,
permutation = 0
}
(gdb) print *s->tcos
$4 = -1.58164644e+38
(gdb) print *s->tsin
Cannot access memory at address 0xc
(gdb)
Where are these allocated, and by who? It looks like they're broke here.
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2082>
________________________________________________