Сижу я тут и потихоньку пытаюсь обратно скомпилировать предка Cinelerra - broadcast2000:
https://github.com/Randrianasulu/broadcast2000
С уровнем оптимизации O0 оно даже вроде работает, но крашится в недрах libjpeg-turbo-1.5.3 при попытке декодировать mjpeg yuv422 mov созданный ffmpeg. Свои собственные mjpeg-и кушает нормально.
Интересно, это libjpeg-у буфера недодали? Потому что либа известная, её все используют, отключение именно simd через JSIMD_FORCENONE=1 не помогло.
[Thread 0xf52feb00 (LWP 27205) exited]
decode 1
decode 1 5b48
decode 2 5b48
decode 3 5b48
decode 6 ffd8 ffd8
[New Thread 0xf52feb00 (LWP 27207)]
decompress_field 1
decompress_field 2 0
decompress_field 3
Thread 59 "bcast2000" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf52feb00 (LWP 27207)]
0x081a1881 in jpeg_idct_islow (cinfo=0x83130a4, compptr=0xf4904a24, coef_block=0xf4902050, output_buf=0x832ba60, output_col=0) at jidctint.c:386
386 outptr[0] = range_limit[(int) DESCALE(tmp10 + tmp3,
(gdb) bt full
#0 0x081a1881 in jpeg_idct_islow (cinfo=0x83130a4, compptr=0xf4904a24,
coef_block=0xf4902050, output_buf=0x832ba60, output_col=0)
at jidctint.c:386
tmp0 = 72320
tmp1 = 205984
tmp2 = 308256
tmp3 = 363616
tmp10 = -6815744
tmp11 = -6815744
tmp12 = -6815744
tmp13 = -6815744
z1 = -235936
z2 = 0
z3 = 308256
z4 = 205984
z5 = 308256
inptr = 0xf4902060
quantptr = 0xf49051c0
wsptr = 0xf52fe174
outptr = 0x0
range_limit = 0xf4904c50 "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—\230™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэю", 'я' <repeats 73 times>...
--Type <RET> for more, q to quit, c to continue without paging--
ctr = 2
workspace = {-832, 32, 0, 0, 0, 0, 0, 0, -832, 32, 0, 0, 0, 0, 0, 0,
-832, 32, 0, 0, 0, 0, 0, 0, -832, 32, 0, 0, 0, 0, 0, 0, -832, 32, 0,
0, 0, 0, 0, 0, -832, 32, 0, 0, 0, 0, 0, 0, -832, 32, 0, 0, 0, 0, 0,
0, -832, 32, 0, 0, 0, 0, 0, 0}
#1 0x08196a15 in decompress_onepass (cinfo=0x83130a4, output_buf=0x8313550)
at jdcoefct.c:143
coef = 0xf49054a0
MCU_col_num = 0
last_MCU_col = 39
last_iMCU_row = 29
blkn = 5
ci = 1
xindex = 0
yindex = 1
yoffset = 0
useful_width = 1
output_ptr = 0x832ba60
start_col = 0
output_col = 0
compptr = 0xf4904a24
inverse_DCT = 0x81a0f82 <jpeg_idct_islow>
#2 0x081713c4 in jpeg_read_raw_data (cinfo=0x83130a4, data=0x8313550,
--Type <RET> for more, q to quit, c to continue without paging--
max_lines=480) at jdapistd.c:572
lines_per_iMCU_row = 16
#3 0x0812c304 in decompress_field ()
No symbol table info available.
#4 0x0812c3c3 in mjpeg_decompress_loop ()
No symbol table info available.
#5 0xf7e19328 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6 0xf7955f06 in clone () from /lib/libc.so.6
No symbol table info available.
(gdb)