Open Jamaika1 opened 4 weeks ago
Why does svt-jpeg-xs have thread functions in common with svt-av1 for ffmpeg?
Thank you for reporting issue. With regards to svt-jpeg-xs have thread functions in common with svt-av1 this issue will be resolved in next release. With regards to svt jpeg xs doesn't create file I cannot reproduce your issue, From logs "Lavf61.3.104" suggest that you are using ffmpeg 7.0 release. Could you check if the same issue happen with recommended 6.1 ?
Hi, @Jamaika1!
Why does svt-jpeg-xs have thread functions in common with svt-av1 for ffmpeg?
I had same problem, but there were many multiple definitions. To avoid multiple definitions, we have to change from svt_full_object
like this into svt_jpegxs_full_object
for codes.
See the full details when linking FFmpeg latest with along SVT-AV1 and SVT-JPEG-XS:
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x0): multiple definition of `svt_create_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x30): multiple definition of `svt_destroy_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x30): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x60): multiple definition of `svt_create_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x70): multiple definition of `svt_post_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x70): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xa0): multiple definition of `svt_block_on_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xa0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xc0): multiple definition of `svt_destroy_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xc0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xe0): multiple definition of `svt_create_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xe0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xf0): multiple definition of `svt_release_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x110): multiple definition of `svt_block_on_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x110): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x130): multiple definition of `svt_destroy_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x130): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x150): multiple definition of `svt_create_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x180): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x1a0): multiple definition of `svt_set_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x1b0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x220): multiple definition of `svt_wait_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x1f0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x20): multiple definition of `svt_muxing_queue_dctor'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x20): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x140): multiple definition of `svt_object_wrapper_dctor'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x140): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x6d0): multiple definition of `svt_object_release_enable'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x6d0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x710): multiple definition of `svt_object_release_disable'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x710): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x750): multiple definition of `svt_object_inc_live_count'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x750): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x7a0): multiple definition of `svt_system_resource_ctor'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x7a0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xaa0): multiple definition of `svt_system_resource_get_producer_fifo'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xaa0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xab0): multiple definition of `svt_system_resource_get_consumer_fifo'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xab0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xac0): multiple definition of `svt_shutdown_process'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xac0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xb40): multiple definition of `svt_post_full_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xb40): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xbb0): multiple definition of `svt_release_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xbb0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xc60): multiple definition of `svt_release_dual_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xc60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xd10): multiple definition of `svt_get_empty_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xd10): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xee0): multiple definition of `svt_get_full_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xdf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xfb0): multiple definition of `svt_get_full_object_non_blocking'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xec0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x0): multiple definition of `svt_create_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x30): multiple definition of `svt_destroy_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x30): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x60): multiple definition of `svt_create_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x70): multiple definition of `svt_post_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x70): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/lda0): : multiple definition of `svt_block_on_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:/opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x0): multiple definition of `(.text+0xa0)svt_create_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x30): multiple definition of `svt_destroy_thread'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x30): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x60): multiple definition of `svt_create_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x70): multiple definition of `svt_post_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x70): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xc0): multiple definition of `svt_destroy_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xc0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x: first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xa0): multiple definition of `svt_block_on_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xa0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):e0): multiple definition of `svt_create_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xSvtThreads.c:(.text+0xc0): multiple definition of `svt_destroy_semaphore'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xc0e0): first defined here
): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0xf0): multiple definition of `svt_release_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj): /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(:svt_threads.c:(.text+0xf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x110): multiple definition of `svt_block_on_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x110): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x130): multiple definition of `.text+0xe0): multiple definition of `svt_create_mutexsvt_destroy_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):'; svt_threads.c:/opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x130): first defined here
(.text+0xe0/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x): first defined here
150): multiple definition of `svt_create_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x180): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x1a0): multiple definition of `svt_set_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:1b0)(.text+0x: first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(f0): multiple definition of `svt_release_mutex.text+0x220): multiple definition of `svt_wait_cond_var'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x1f0): first defined here
'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0xf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x110): multiple definition of `/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ldsvt_block_on_mutex'; : /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj)/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)::SystemResourceManager.c:svt_threads.c:((.text.text+0x+0x20110)): multiple definition of `: first defined heresvt_muxing_queue_dctor
'; /opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj):SvtThreads.c:(.text+0x130): multiple definition of `svt_destroy_mutex'; /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj):svt_threads.c:(.text+0x130): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj): :/opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj)sys_resource_manager.c::(SvtThreads.c:.text(+0x.text20+0x)150: first defined here)
: multiple definition of `svt_create_cond_var'/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld; : /opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj)/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)::svt_threads.c:SystemResourceManager.c:((.text.text+0x+0x180140)): first defined here: multiple definition of `
svt_object_wrapper_dctor'; /opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj): :/opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj)sys_resource_manager.c::(SvtThreads.c:.text(+0x.text140+0x)1a0: first defined here)
: multiple definition of `svt_set_cond_var/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld': ; /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)/opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj)::SystemResourceManager.c:svt_threads.c:((.text.text+0x+0x6d01b0)): multiple definition of `: first defined heresvt_object_release_enable
'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj)/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld:: sys_resource_manager.c:/opt/ffbuild/lib/libSvtJpegxs.a(SvtThreads.c.obj)(:.textSvtThreads.c:+0x(6d0.text)+0x: first defined here220
): multiple definition of `/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ldsvt_wait_cond_var: '/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj); :/opt/ffbuild/lib/libSvtAv1Enc.a(svt_threads.c.obj)SystemResourceManager.c::(svt_threads.c:.text(+0x.text710+0x)1f0: multiple definition of `)svt_object_release_disable: first defined here'
; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x710): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x750): multiple definition of `svt_object_inc_live_count'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x750): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x7a0): multiple definition of `svt_system_resource_ctor'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x7a0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xaa0): multiple definition of `svt_system_resource_get_producer_fifo'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xaa0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xab0): multiple definition of `svt_system_resource_get_consumer_fifo'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)(:SystemResourceManager.c:(.text+0x20).text: multiple definition of `+0xsvt_muxing_queue_dctorab0'); : first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj)+0x:ac0sys_resource_manager.c:)(: multiple definition of `.text+0xsvt_shutdown_process20'): first defined here
; /opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj): :sys_resource_manager.c:/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)(:.textSystemResourceManager.c:+0x(ac0.text): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:+0x140): multiple definition of `svt_object_wrapper_dctor'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x140): first defined here
(.text+0xb40): multiple definition of `svt_post_full_object'/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld; : /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj)::SystemResourceManager.c:sys_resource_manager.c:((.text.text+0x+0x6d0b40)): multiple definition of `: first defined heresvt_object_release_enable'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj)
:sys_resource_manager.c:(/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: .text/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xbb0): multiple definition of `svt_release_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:+0x6d0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld(.text+0xbb0): first defined here: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0x710): multiple definition of `svt_object_release_disable'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xc60): multiple definition of `+0x710): first defined heresvt_release_dual_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ldc60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xd10): multiple definition of `: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xsvt_get_empty_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):750): multiple definition of `svt_object_inc_live_count'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj)sys_resource_manager.c:(.text+0xd10): first defined here
:sys_resource_manager.c:(.text/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xee0+0x750): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld): multiple definition of `svt_get_full_object'; : /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x7a0(.text): multiple definition of `svt_system_resource_ctor'; +0xdf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0x7a0): first defined here
/opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xaa0): multiple definition of `svt_system_resource_get_producer_fifoSystemResourceManager.c:(.text+0x'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.textfb0): multiple definition of `svt_get_full_object_non_blocking+0xaa0): first defined here
'; /opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj)/opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text:SystemResourceManager.c:(.text+0xab0+0xec0): first defined here
): multiple definition of `svt_system_resource_get_consumer_fifo'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xab0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xac0): multiple definition of `svt_shutdown_process'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xac0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xb40): multiple definition of `svt_post_full_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xb40): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xbb0): multiple definition of `svt_release_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xbb0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xc60): multiple definition of `svt_release_dual_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xc60): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xd10): multiple definition of `svt_get_empty_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xd10): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xee0): multiple definition of `svt_get_full_object'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xdf0): first defined here
/opt/ct-ng/lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: /opt/ffbuild/lib/libSvtJpegxs.a(SystemResourceManager.c.obj):SystemResourceManager.c:(.text+0xfb0): multiple definition of `svt_get_full_object_non_blocking'; /opt/ffbuild/lib/libSvtAv1Enc.a(sys_resource_manager.c.obj):sys_resource_manager.c:(.text+0xec0): first defined here
Here's what I fixed multiple definitions renaming from svt into jpegxs_svt:
https://github.com/MartinEesmaa/SVT-JPEG-XS/tree/fix-multiple-definitions
Hi Martin Theoretically svt-av1 codec changed all function names in version 2.1.1. Unfortunately creator of the thread omitted it. I guessed and changed the names myself. I had to modify the plugin to ffmpeg 7.0.1 but codec still doesn't work. https://www.sendspace.com/file/x7wioc https://www.sendspace.com/file/eh99z5 https://www.sendspace.com/file/c9whtp https://www.sendspace.com/file/8r0g2r
ffmpeg_avx.exe -v debug -i "image_21447_24bit.png" -y -f image2 -c:v libsvtjpegxs -an -frames:v 1 -bpp 24 -pix_fmt rgb24 output_jxs.jxs