Den 05.11.2024 14:20, skrev Andrew Randrianasulu:


вт, 5 нояб. 2024 г., 16:10 Terje J. Hanssen <terjejhanssen@gmail.com>:



Den 05.11.2024 04:45, skrev Andrew Randrianasulu:


вт, 5 нояб. 2024 г., 01:52 Terje J. Hanssen via Cin <cin@lists.cinelerra-gg.org>:
I upgraded my system Slowroll to

S  | Name                | Type    | Version                        | Arch   | Repository
---+---------------------+---------+--------------------------------+--------+----------------------
i+ | libSvtAv1Enc2       | package | 2.3.0-1.5                      | x86_64 | obs:multimedia:libs
i+ | SVT-AV1             | package | 2.3.0-1.5                      | x86_64 | obs:multimedia:libs


Version test:
# SvtAv1EncApp
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v2.3.0
Svt[info]: SVT [build]  :    GCC 14.2.1 20241007 [revision 4af44f2cf7d281f3e4f3957efce10e8b2ccb2ad3]     64 bit
Svt[info]: LIB Build date: Oct 29 2024 22:11:44
Svt[info]: -------------------------------------------


File list for
rpm -ql libSvtAv1Enc2
/usr/lib64/libSvtAv1Enc.so.2
/usr/lib64/libSvtAv1Enc.so.2.3.0
/usr/share/licenses/libSvtAv1Enc2
/usr/share/licenses/libSvtAv1Enc2/LICENSE.md
/usr/share/licenses/libSvtAv1Enc2/PATENTS.md

I tested first that SVT-AV1 v. 2.3.0 encoding worked OK with my existing system ffmpeg v. 7.1

I'm not sure I ever have tested av1_svt rendering with my single-user build Cingg before now.
But when I tried now to render the same hdv file as with ffmpeg, Cingg failed with
int FFMPEG::open_encoder(const char*, const char*):
cant find codec libsvtav1:/Videoklipp/AV1/hdv09_04_m2t_svt-av1_230.webm

Shouldn't Cingg be able to work with the system upgraded libSvtAv1Enc2 v. 2-3-0 automatically as well as ffmpeg does?
Or if necessary  via a simple "update", without complete rebuild?
-------------

I had a look at my last rebuild of Cingg for using ffmpeg 7.1 :
Does "disabled  libsvtav1" say something?

# ./configure --with-single-user --disable-static-build --without-thirdparty --without-libdpx
configure: loading site script /usr/share/site/x86_64-pc-linux-gnu
..........snip
checking for /usr/local/cuda/include/cuda.h... no
checking cuda sdk... no
checking for dlopen in -ldl... yes
checking for numa_alloc in -lnuma... yes
checking for openexr available... yes
  Reason                  Package
  ------                  -------
  disabled                encore
  disabled                audiofile
  disabled                esound
  disabled                libsvtav1
...snip...


strange, I think it should work, while I have't tried such upgrade in practice ......

"disable" line here talks about internal ffmpeg, and it all should be dynamic in ffmpeg.C ...


mystery!

Yeah.
I found back in my notes that I rendered a single av1_svt dv file 12/10 with my previous (first) built Cingg based on ffmpeg 7.02 and libSvtAv1Enc2 v.2.2.1.

I think I ran into some dependice conflicts during upgrade to ffmpeg 7.1 and had to uninstall some packages, this was before rebuilding the current Cingg based on ffmpeg 7.1

Regarding libSvtAv1Enc2 and SVT-AV1 v. 2.3.0 upgrade to new version and vendor change, I have now installed (+i)

# zypper se -s libSvtAv1Enc2 SVT-AV1
Loading repository data...
Reading installed packages...

S  | Name                    | Type       | Version     | Arch   | Repository
---+-------------------------+------------+-------------+--------+----------------------
i+ | libSvtAv1Enc2           | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
v  | libSvtAv1Enc2           | package    | 2.2.1-1.1   | x86_64 | openSUSE-Slowroll-Oss
   | libSvtAv1Enc2-debuginfo | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
i+ | SVT-AV1                 | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
v  | SVT-AV1                 | package    | 2.2.1-1.1   | x86_64 | openSUSE-Slowroll-Oss
   | SVT-AV1                 | srcpackage | 2.3.0-1.5   | noarch | obs:multimedia:libs
   | SVT-AV1-debuginfo       | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
   | SVT-AV1-debugsource     | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
   | SVT-AV1-devel           | package    | 2.3.0-1.5   | x86_64 | obs:multimedia:libs
   | SVT-AV1-devel           | package    | 2.2.1-1.1   | x86_64 | openSUSE-Slowroll-Oss
   | svt-av1-psy             | package    | 2.2.1.B-1.2 | x86_64 | obs:multimedia:libs
   | svt-av1-psy             | package    | 2.2.1.B-1.2 | i586   | obs:multimedia:libs
   | svt-av1-psy             | srcpackage | 2.2.1.B-1.2 | noarch | obs:multimedia:libs
   | svt-av1-psy-debuginfo   | package    | 2.2.1.B-1.2 | x86_64 | obs:multimedia:libs
   | svt-av1-psy-debuginfo   | package    | 2.2.1.B-1.2 | i586   | obs:multimedia:libs
   | svt-av1-psy-debugsource | package    | 2.2.1.B-1.2 | x86_64 | obs:multimedia:libs
   | svt-av1-psy-debugsource | package    | 2.2.1.B-1.2 | i586   | obs:multimedia:libs
   | svt-av1-psy-devel       | package    | 2.2.1.B-1.2 | x86_64 | obs:multimedia:libs
   | svt-av1-psy-devel       | package    | 2.2.1.B-1.2 | i586   | obs:multimedia:libs



If the SVT-AV1-devel packages (2.2.1) were missing when Cingg was rebuild for ffmpeg 7.1, can this have causes that Cingg doesn't find the av1_svt codec now?


I think absent svt-devel package only important for building ffmpeg itself, if you use binary packages it all should be handled by maintainers .....


I have to close this open issue because it was clarified in another thread
https://lists.cinelerra-gg.org/pipermail/cin/2024-November/009004.html

My mistake above is that I used a preliminar, static rebuild of Cingg dedicated for onevpl and also without internal libSvtAv1Enc.
When I now start my previous dynamic build from backup, it finds the system libSvtAv1Enc v. 2.3.0 and renders two test files:

localhost:/Cin/bin_use_system_ffmpeg-71 # bin/cin
Cinelerra Infinity - built: Oct 20 2024 21:21:06


1) DV --> AV1-SVT
-----------------------------
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v2.3.0
Svt[info]: SVT [build]  :    GCC 14.2.1 20241007 [revision 4af44f2cf7d281f3e4f3957efce10e8b2ccb2ad3]     64 bit
Svt[info]: LIB Build date: Oct 29 2024 22:11:44
Svt[info]: -------------------------------------------
Svt[info]: Level of Parallelism: 5
Svt[info]: Number of PPCS 140
Svt[info]: [asm level on system : up to avx2]
Svt[info]: [asm level selected : up to avx2]
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: main profile    tier (auto)    level (auto)
Svt[info]: SVT [config]: width / height / fps numerator / fps denominator         : 720 / 576 / 25 / 1
Svt[info]: SVT [config]: bit-depth / color format                     : 8 / YUV420
Svt[info]: SVT [config]: preset / tune / pred struct                     : 6 / PSNR / random access
Svt[info]: SVT [config]: gop size / mini-gop size / key-frame type             : 161 / 32 / key frame
Svt[info]: SVT [config]: BRC mode / rate factor                     : CRF / 35
Svt[info]: SVT [config]: AQ mode / variance boost                     : 2 / 0
Svt[info]: -------------------------------------------
Svt[warn]: Failed to set thread priority: Invalid argument
FFStream::encode_frame: encode failed.
file: /Videoklipp/AV1/dv01_07_svt-av1_230.webm
  err: Resource temporarily unavailable
FFStream::flush failed
:file:/Videoklipp/AV1/dv01_07_svt-av1_230.webm
  err: Operation not permitted
Render::render_single: Session finished.
** rendered 2832 frames in 24.436 secs, 115.895 fps
FFMPEG::open_decoder: some stream times estimated: /Videoklipp/AV1/dv01_07_svt-av1_230.webm
FFMPEG::open_decoder: some stream times estimated: /Videoklipp/AV1/dv01_07_svt-av1_230.webm
audio0 pad 32 -335 (367)


 2) HDV --> AV1-SVT
--------------------------------
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: main profile    tier (auto)    level (auto)
Svt[info]: SVT [config]: width / height / fps numerator / fps denominator         : 1440 / 1080 / 25 / 1
Svt[info]: SVT [config]: bit-depth / color format                     : 8 / YUV420
Svt[info]: SVT [config]: preset / tune / pred struct                     : 6 / PSNR / random access
Svt[info]: SVT [config]: gop size / mini-gop size / key-frame type             : 161 / 32 / key frame
Svt[info]: SVT [config]: BRC mode / rate factor                     : CRF / 35
Svt[info]: SVT [config]: AQ mode / variance boost                     : 2 / 0
Svt[info]: -------------------------------------------
Svt[warn]: Failed to set thread priority: Invalid argument
FFStream::encode_frame: encode failed.
file: /Videoklipp/AV1/hdv09_04_m2t_svt-av1_230.webm
  err: Resource temporarily unavailable
FFStream::flush failed
:file:/Videoklipp/AV1/hdv09_04_m2t_svt-av1_230.webm
  err: Operation not permitted
Render::render_single: Session finished.
** rendered 5972 frames in 93.191 secs, 64.083 fps
FFMPEG::open_decoder: some stream times estimated: /Videoklipp/AV1/hdv09_04_m2t_svt-av1_230.webm
FFMPEG::open_decoder: some stream times estimated: /Videoklipp/AV1/hdv09_04_m2t_svt-av1_230.webm
audio0 pad 64 -335 (399)