чт, 24 окт. 2024 г., 22:31 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 24.10.2024 18:50, skrev Andrew Randrianasulu:
чт, 24 окт. 2024 г., 19:29 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 24.10.2024 15:37, skrev Andrew Randrianasulu:
чт, 24 окт. 2024 г., 12:40 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 23.10.2024 22:59, skrev Andrew Randrianasulu:
ср, 23 окт. 2024 г., 23:44 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 23.10.2024 21:25, skrev Terje J. Hanssen:
I applied
Den 18.10.2024 20:56, skrev Andrew Randrianasulu:
пт, 18 окт. 2024 г., 21:45 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 18.10.2024 18:37, skrev Andrew Randrianasulu:
пт, 18 окт. 2024 г., 19:30 Terje J. Hanssen <terjejhanssen@gmail.com>:
Den 18.10.2024 09:08, skrev Andrew Randrianasulu:
Can you try attached patch?
default to off, so should be safe?
Can you detail the basic steps to do it?
as always
backup what you think is important (qsv/vaapi profiles, notably)
Will my custom built Cingg using my system ffmpeg be overwritten?
yes, so
1) put this bin folder away somewhere
2) may be try to use appimage tool for making your own appimage out of it.
make clean
git am patch
Does this comprise just the onevpl.patch or also other patches on the current list?
localhost:/Cin # ls -1 *.patch
0001-Add-nv12-as-def.-pixformat-for-qsv-profiles-clarify-.patch
0001-Fix-build-in-makeappimage-for-boost-1.85.patch
0001-Qsv-encoders-for-testing.patch
0001-Update-README-build-instructions.patch
0002-Add-BUGS.patch
0002-Modify-remaining-_qsv-orofiles-to-use-nv12-fix-typo-.patch
0002-makeappimage-tool-add-algorithm-incl-into-core.cpp.patch
0003-Add-DESCRIPTION.patch
alt_shortcuts.patch
onevpl.patch
git am onevpl.patch
first, before "make clean", and a second time after "make clean" in case this order was necessary.
Then I got this output:
localhost:/Cin # git am onevpl.patch
Applying: Add onevpl support to build system
error: patch failed: cinelerra-5.1/configure.ac:86
error: cinelerra-5.1/configure.ac: patch does not apply
error: patch failed: cinelerra-5.1/thirdparty/Makefile:136
error: cinelerra-5.1/thirdparty/Makefile: patch does not apply
Patch failed at 0001 Add onevpl support to build system
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Is this message due to the second attempt, and is safe to continue from here with the next steps below?
yeah, you only need to apply patch once.
Should I apply more than than the onevpl.patch?
I think no? At least I was testing it standalone
if you have "gitk" installed you can run that and observe content of top patch or any patch in tree in tcl/tk gui.
./autogen.sh
./configure --with-single-user --with-onevpl
What's broken here, lvpl no - onevpl error?
localhost:/Cin # ./configure --with-single-user --with-onevpl
configure: loading site script /usr/share/site/x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
.........snip
checking for vaGetDisplayDRM in -lva-drm... yes
checking for MFXCreateSession in -lvpl... no
configure: error: requires onevpl support.
hm, do you have -devel package from onevpl installed?
No, at least not currently
# zypper se libvpl
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
---+---------------------+---------------------------------------------------------------------------+-----------
| libvpl | oneAPI Video Processing Library (oneVPL) dispatcher, tools, and examples | package
| libvpl-devel | Development files for oneAPI Video Processing Library (oneVPL) dispatcher | package
| libvpl-tools | Intel Video Processing Library (Intel VPL) Tools | srcpackage
i+ | libvpl-tools | Intel Video Processing Library (Intel VPL) Tools | package
| libvpl-tools-devel | Development files for libvpl-tools | package
i | libvpl2 | oneAPI Video Processing Library (oneVPL) dispatcher | package
| libvpl_wayland1_0_0 | Runtime library for libvpl-tools | package
Not sure about libvpl vs libvpl2, but add-installed the rest of not available libvpl- packages
# zypper in libvpl libvpl-devel libvpl-tools-devel libvpl_wayland1_0_0
what "pkg-config --libs vpl" /"pkg-config --cflags vpl" say?
Then
# pkg-config --libs vpl
-L/usr/lib64/pkgconfig/../ -lvpl -ldl -lstdc++
# pkg-config --cflags vpl
-I/usr/lib64/pkgconfig/../../include -I/usr/lib64/pkgconfig/../../include/vpl
Reconfigure
localhost:/Cin # ./configure --with-single-user --with-onevpl 2>&1 | tee configure_onevpl_support.log
No errors found in the log file
localhost:/Cin # make 2>&1 | tee make_onevpl_support.log
No errors found in the log file
localhost:/Cin # make install 2>&1 | tee make_install_onevpl_support.log
-----------------
> return qsv profiles you saved before to bin/ffmpeg/video
localhost:/Cin/bin/ffmpeg/video # cp /Cin/bin_use_system_ffmpeg-71/ffmpeg/video/*qsv* .
-----------------------
localhost:/Cin # bin/cin
Cinelerra Infinity - built: Oct 24 2024 16:26:16
Tested with similar results as my previous ffmpeg_71 build:
SD-DV to av1_qsv, hevc_qsv and h264_qsv nv12 works
HDV to hevc_qsv works with nv12, p010le and yuv422 works
HDV to av1_qsv and to h264_qsv don't work
does av1_vaapi work for HDV case?
Yes, I test-rendered HDV (hdv09_04) to hevc_vaapi, av1_vaapi, h264_vaapi, all i .mp4 below
Also FHD (hd01) to av1_vaapi.mp4 worked, see ffprobe below
Testing .webm type breaks with the following output:
[av1_vaapi @ 0x7f5f74122a80] Driver does not support QVBR RC mode (supported modes: CQP, CBR, VBR, ICQ).
FFMPEG::open_encoder err: Invalid argument
int FFMPEG::open_encoder(const char*, const char*):
open failed av1_vaapi:/Videoklipp/VAAPI/hdv09_04_av1_vaapi.webm
hm, you probably need to tweak this profile for your driver then ...
cin_hw_dev=vaapiRender::render_single: Session finished.
g=30
profile=main
rc_mode=CQP
so, vaapi works in more cases than qsv, it seems?
terje@localhost:/Videoklipp/VAAPI> ls -lt hd*
-rw-r--r-- 1 root root 349812400 okt. 24 20:54 hdv09_04_hevc_vaapi.mp4
-rw-r--r-- 1 root root 112467398 okt. 24 20:42 hd01_av1_vaapi.mp4
-rw-r--r-- 1 root root 606029742 okt. 24 20:35 hdv09_04_h264_vaapi.mp4
-rw-r--r-- 1 root root 378664255 okt. 24 20:28 hdv09_04_av1_vaapi.mp4
ffprobe -hide_banner hdv09_04_hevc_vaapi.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hdv09_04_hevc_vaapi.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf61.7.100
Duration: 00:03:58.88, start: 0.000000, bitrate: 11715 kb/s
Stream #0:0[0x1](und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, bt470bg/unknown/unknown, top coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], 11580 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
ffprobe -hide_banner hd01_av1_vaapi.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hd01_av1_vaapi.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomav01iso2mp41
encoder : Lavf61.1.100
Duration: 00:01:11.28, start: 0.000000, bitrate: 12622 kb/s
Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt470bg/unknown/unknown, top coded first (swapped)), 1920x1080, 12246 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 16 channels, fltp, 378 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
can you add auto-scale filter to HDV cases so it will be full HD and not 1440*1080 ? or another similar rescaling ....
again, thanks for testing.
But as with any experimentation we get some new questions instead of pure answers ....
===================================
In separate posts:
Can you possibly setup guideline detail procedure on how to build an appimage and a rpm package of this build,
to possible install and test it on my legacy Skylake and Kabylake platforms?
===================================
I think basic procedure at
starting from
2- The script bld_appimage.sh uses a platform specific version of appimagetool so that it can create appimages for x86_64, i686, aarch64, or armv7l architecture. We need to add appimagetool-(platform).AppImage to the /{path to cinelerra- 5.1}/tools directory, or somewhere in your path. You can download the tool for your system (e.g. appimagetool-x86_64.AppImage) from git: https://github.com/AppImage/AppImageKit/releases
for rpm build I think we need to wait for this patch to land in git and then become part of monthly src tarball.
Then you can edit .spec file with soecifix date-based filename to fetch and run
rpmbuild -bb ("build binary") our_spec_file.spec
make
and here?
# make
make: *** No targets specified and no makefile found. Stop.
make install
return qsv profiles you saved before to bin/ffmpeg/video
bin/cin
My system is
/home/cinelerra/cinelerra-5.1 # ls bin
COPYING applications doc expanders.txt info lv2 models pixmaps tips zmpeg3ifochk
Cinelerra_factory bdwrite expanders.es ffmpeg ladspa lv2_blacklist.txt mplexlo plugins zmpeg3cat zmpeg3show
README cin expanders.fr hveg2enc locale lv2ui msg shuttlerc zmpeg3cc2txt zmpeg3toc