View Issue Details

IDProjectCategoryView StatusLast Update
0000655Cinelerra-GG[All Projects] Bugpublic2024-05-15 16:09
Reporterdeim Assigned ToPhyllisSmith  
PrioritynormalSeveritycrashReproducibilityalways
Status assignedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000655: SIGSEGV AV1 AOM encode
DescriptionWhen I encode to AV1 I often get SIGSEGV:
99% ETA: 0:00:10 ** segv at 0x7fe323058ce0 in pid 1482, tid 8658

dump attached
TagsAV1, Crash, encode, libAOM

Activities

Andrea_Paz

Andrea_Paz

2024-05-15 16:09

manager   ~0005633

I also tried batch rendering two pass with your presets and they work fine. In the first line of presets I replaced “libaom-av1” with “libsvtav1”.
I still can't use the command line render...
Andrea_Paz

Andrea_Paz

2024-05-15 12:03

manager   ~0005632

Following Andrew's instructions, I have an old ./configure made specifically to use only the system libraries, including ffmpeg (that is, excluding all .../thirdparty). It is as follows:

./configure --with-single-user --disable-static-build --without-thirdparty --without-libdpx--disable-libwebp --without-nv --without-lv2

Libaom 3.9.0 and system libsvtav1 2.0.0 are recognized and work (with av1.webm and av1_svt.webm presets; I haven't tried your “two pass” presets...). Performance seems slightly worse to me than with CinGG's internal libraries.
deim

deim

2024-05-15 10:11

reporter   ~0005631

I suppose the error could be caused by usage of system libraries found in compile time.
I learned some codec libraries could be included if there is supplied configuration for them in cmake config file.
=> So I suppose this behavior is feature not a bug.
Still I would love to figure out how to set svt-av1 system library to be recognized also since I like testing new versions of libraries promising speed and efficiency improvements.

How difficult is adding new versions?

libsvt-av1 2.0.0
https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases
libaom 3.9.0
https://gitlab.com/webmproject/libaom/-/tags

Thanks for effort :-)
deim

deim

2024-05-08 18:23

reporter   ~0005625

How could be please allowed use of system libraries for encoding for libsvtav1? I noticed that the others are from OS and labeled as shared
I'm puzzled since I don't know what values to add (I wanna give recent versions try):
--- a/configure.ac
+++ b/configure.ac
@@ -467,7 +467,7 @@
   [ usr/local/lib*/libaom*.a ],
   [ usr/local/include ])
 
-PKG_3RD([libsvtav1],[no],
+PKG_3RD([libsvtav1],[auto],
   [libsvtav1-v1.8.0],
   [ usr/local/lib*/libSvtAv1Enc.a ],
   [ usr/local/include/svt-av1 ])
@@ -668,6 +668,8 @@
 CHECK_HEADERS([opus], [libopus headers], [opus/opus_multistream.h])
 CHECK_LIB([libaom], [aom], [aom_codec_version])
 CHECK_HEADERS([libaom], [libaom headers], [aom/aom.h])
+CHECK_LIB([SvtAv1Enc], [SvtAv1Enc], [version])
+CHECK_HEADERS([SvtAv1Enc], [SvtAv1Enc headers], [svt-av1/EbSvtAv1Enc.h])
 CHECK_LIB([dav1d], [dav1d], [dav1d_version])
 CHECK_HEADERS([dav1d], [libdav1d headers], [dav1d/dav1d.h])
 CHECK_LIB([libwebp], [webp], [WebPGetEncoderVersion])

cat /usr/lib64/pkgconfig/SvtAv1Enc.pc
prefix=/usr
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib64

Name: SvtAv1Enc
Description: SVT (Scalable Video Technology) for AV1 encoder library
Version: 2.0.0
Libs: -L${libdir} -lSvtAv1Enc
Libs.private: -lpthread -lm
Cflags: -I${includedir}/svt-av1 -DEB_DLL
Cflags.private: -UEB_DLL
deim

deim

2024-05-08 15:24

reporter   ~0005623

Batch rendering is sensitive to actual position, in-out points and selections in project file. Best to set actual position to start and unset in-out points and selections - it's feature not a bug :-)
I'll try svt-av1 codec to see if problem could be there also.

BTW I'm possibly done with little bench program and now I'm trying to compare some codecs. I'll share results when it's done.
Andrea_Paz

Andrea_Paz

2024-05-06 13:39

manager   ~0005621

Doing the encoding from the CinGG GUI, using the presets from Deim (2 pass), and using the Render batch without Render Farm, I encountered no problems and the resulting rendering works fine.
From the terminal with cin -r does not work:

** rendered 0 frames in 0.000 secs, 0.000 fps
Session time: 0:00:00
Cpu time: user: 0:00:00.066 sys: 0:00:00.020

I am not familiar with batch renders and have never done terminal renders; so I am definitely wrong in something.
PhyllisSmith

PhyllisSmith

2024-05-05 23:38

manager   ~0005620

Last edited: 2024-05-05 23:40

View 2 revisions

@deim
@Andrea_Paz

Using deim's pass1/pass2 avi/webm render formats, I am able to easily reproduce a render failure on pass1 although it does not crash for me. I see "void AssetPicon::create_objects():" in the terminal window. This is definitely a problem but I can not say it is the same as deim's.

Workaround fix that for me results in a render completion (pass1 and pass2) is to "turn off Draw Media" during the render in the patchbay -- I assume for all video tracks but I only had 1 video track and no audio tracks. "Draw Media" is the 3rd icon from the left after "Play Track" and "Arm Track".

Deim, could you test this workaround?

It does not fail for me on small resolution files. Input file is Elecard's 4K example which is of size 409458359 and I renamed as cows_4k.webm. Maybe Andrea can test on Arch? My test before turning off "Draw Media" would fail on pass1 in about 8 minutes. When it worked, the first pass took 5 minutes and the second pass took 1 hour 32 minutes.

PhyllisSmith

PhyllisSmith

2024-05-05 13:40

manager   ~0005619

IgorBeg also is having no problem as reported on the Mailing List:

"On my UbuntuStudio_16.04 using
CinGG-20240229-x86_64-older-distros.AppImage NO crash BUT,...
it works for FFMPEG | webm, video-> av1.webm,"

I will be testing with the 2 pass parameters to see if I can get it to fail today.
Andrea_Paz

Andrea_Paz

2024-05-02 08:58

manager   ~0005618

It doesn't solve your crashing problem, but try modifying the e-build by inserting "--enable-libsvtav1", then use the "av1_svt.webm" preset (which you can customize as needed).
Libaom is really too slow in encoding. However, CinGG uses its own internal libaom library and is therefore not the most up-to-date: /cinelerra5/cinelerra-5.1/thirdparty/libaom-v3.8.0

I don't know if disabling libaom in the e-build makes it possible to use system libaom.

I am very interested in your comparative codec tests. Thanks.
deim

deim

2024-05-02 07:52

reporter   ~0005617

Also since I'm on Gentoo I'm using custom ebuild actually as in attachment with media-libs/libaom version 3.8.1 (I suppose Cinelerra takes system libaom)
(just for info I'm preparing some quality/speed/size comparison of some codecs if You're interested I could share when it's done)

cinelerraGG-202402.ebuild (1,856 bytes)
deim

deim

2024-05-02 07:47

reporter   ~0005616

I'm using this custom two-pass settings in batch: cin -r batch.j

pass1of2_av1.webm (345 bytes)
pass2of2_av1.webm (345 bytes)
Andrea_Paz

Andrea_Paz

2024-05-01 08:00

manager   ~0005615

Last edited: 2024-05-01 08:03

View 3 revisions

I did some tests with the appimage 20240229. The av1.webm preset works but with
reduced performance (5 fps rendering). The preset av1_svt.webm does not work with
the appimage because it is not active by default. I have a processor that supports AVX2
(similar to your) and in my CinGG compiled with svt the rendering comes in at 35 fps). The
av1_vaapi.webm preset is not active in my system because the GPU does not support it.
We would need to know what version of CinGG you use and what presets you tried.
As for the dump, I'm sorry but I can't interpret it. Try running from terminal and report
the error messages that appear there.

PhyllisSmith

PhyllisSmith

2024-05-01 01:04

manager   ~0005614

@deim
Unfortunately it is not failing for me, but I will try some different input. So that I make sure I am using the same parameters, I am rendering using these:
   File format: ffmpeg webm
   Video wrench: av1.webm with just the defaults
   Audio wrench: not checked
If I should be testing with different parameters, please reply what they are.
Do you have a small test case that almost always fails? If so, please add it here or if concerned about publicly sharing, you can send to me privately at: [email protected]
deim

deim

2024-04-30 15:04

reporter  

cinelerra_batch1482.dmp (4,096 bytes)

Issue History

Date Modified Username Field Change
2024-04-30 15:04 deim New Issue
2024-04-30 15:04 deim Tag Attached: AV1
2024-04-30 15:04 deim Tag Attached: Crash
2024-04-30 15:04 deim Tag Attached: encode
2024-04-30 15:04 deim Tag Attached: libAOM
2024-04-30 15:04 deim File Added: cinelerra_batch1482.dmp
2024-05-01 01:04 PhyllisSmith Assigned To => PhyllisSmith
2024-05-01 01:04 PhyllisSmith Status new => acknowledged
2024-05-01 01:04 PhyllisSmith Note Added: 0005614
2024-05-01 08:00 Andrea_Paz Note Added: 0005615
2024-05-01 08:02 Andrea_Paz Note Edited: 0005615 View Revisions
2024-05-01 08:03 Andrea_Paz Note Edited: 0005615 View Revisions
2024-05-02 07:47 deim File Added: pass1of2_av1.webm
2024-05-02 07:47 deim File Added: pass2of2_av1.webm
2024-05-02 07:47 deim Note Added: 0005616
2024-05-02 07:52 deim File Added: cinelerraGG-202402.ebuild
2024-05-02 07:52 deim Note Added: 0005617
2024-05-02 08:58 Andrea_Paz Note Added: 0005618
2024-05-05 13:40 PhyllisSmith Note Added: 0005619
2024-05-05 23:38 PhyllisSmith Status acknowledged => feedback
2024-05-05 23:38 PhyllisSmith Note Added: 0005620
2024-05-05 23:40 PhyllisSmith Note Edited: 0005620 View Revisions
2024-05-06 13:39 Andrea_Paz Note Added: 0005621
2024-05-08 15:24 deim Note Added: 0005623
2024-05-08 15:24 deim Status feedback => assigned
2024-05-08 18:23 deim Note Added: 0005625
2024-05-15 10:11 deim Note Added: 0005631
2024-05-15 12:03 Andrea_Paz Note Added: 0005632
2024-05-15 16:09 Andrea_Paz Note Added: 0005633