I was looking at why our application (cinelerra-gg) crashed at trying to use libplacebo
I found that libplacebo defines itself
as
so only output pad is defined, as far as I can see:
then when our code calls
avfilter_pad_get_type()
it promptly crashes.
BC_Signals::dump_stack
cin() [0x8b2c9e2]
linux-gate.so.1(__kernel_rt_sigreturn+0) [0xf7fb8590]
cin(avfilter_pad_get_type+0x14) [0x99266a4]
cin(_ZN13FFVideoStream13create_filterEPKc+0xbc) [0x865669c]
cin(_ZN6FFMPEG12open_decoderEv+0x80f) [0x865732f]
cin(_ZN10FileFFMPEG9check_sigEP5Asset+0x81) [0x8670071]
cin(_ZN4File5probeEv+0x376) [0x867cd86]
cin(_ZN4File9open_fileEP11PreferencesP5Assetii+0x378) [0x867d628]
cin(_ZN7MWindow14load_filenamesEP9ArrayListIPcEiii+0x250) [0x87301f0]
cin(_ZN17CommandLineThread3runEv+0x53) [0x86e2cd3]
cin(_ZN6Thread10entrypointEPv+0x41) [0x8b70c11]
/lib/libpthread.so.0(+0x7328) [0xf7df9328]
/lib/libc.so.6(clone+0x66) [0xf0373f06]
We still hope to get libplacebo's tonemapping + vulkan hevc decoding going, so any pointers how to talk to those dynamic_input filters will be useful. Even swscale is dynamic_input in ffmpeg 7.1+, so I (we) really hope to keep it working, too.
Code: