[Cin] adding onevpl support for buildsystem
Terje J. Hanssen
terjejhanssen at gmail.com
Thu Oct 24 21:31:26 CEST 2024
Den 24.10.2024 18:50, skrev Andrew Randrianasulu:
>
>
> чт, 24 окт. 2024 г., 19:29 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
> Den 24.10.2024 15:37, skrev Andrew Randrianasulu:
>>
>>
>> чт, 24 окт. 2024 г., 12:40 Terje J. Hanssen
>> <terjejhanssen at gmail.com>:
>>
>>
>>
>>
>> Den 23.10.2024 22:59, skrev Andrew Randrianasulu:
>>>
>>>
>>> ср, 23 окт. 2024 г., 23:44 Terje J. Hanssen
>>> <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>
>>> Den 23.10.2024 21:25, skrev Terje J. Hanssen:
>>>>
>>>>
>>>>
>>>> Den 18.10.2024 20:56, skrev Andrew Randrianasulu:
>>>>>
>>>>>
>>>>> пт, 18 окт. 2024 г., 21:45 Terje J. Hanssen
>>>>> <terjejhanssen at gmail.com>:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Den 18.10.2024 18:37, skrev Andrew Randrianasulu:
>>>>>>
>>>>>>
>>>>>> пт, 18 окт. 2024 г., 19:30 Terje J. Hanssen
>>>>>> <terjejhanssen at 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
>>>>
>>>>
>>> I applied
>>>
>>> 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
>>> <http://configure.ac:86>
>>> error: cinelerra-5.1/configure.ac <http://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
terje at 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
>
> https://cinelerra-gg.org/download/CinelerraGG_Manual/Build_CinGG_AppImage_from_s.html
>
> 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
>>>>>> <http://expanders.es> ffmpeg ladspa
>>>>>> lv2_blacklist.txt mplexlo plugins zmpeg3cat
>>>>>> zmpeg3show
>>>>>> README cin expanders.fr
>>>>>> <http://expanders.fr> hveg2enc locale lv2ui
>>>>>> msg shuttlerc zmpeg3cc2txt zmpeg3toc
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241024/1db63c02/attachment-0001.htm>
More information about the Cin
mailing list