[Cin] adding onevpl support for buildsystem

Terje J. Hanssen terjejhanssen at gmail.com
Fri Oct 25 16:05:25 CEST 2024




Den 25.10.2024 01:55, skrev Terje J. Hanssen:
>
>
>
> Den 25.10.2024 00:43, skrev Andrew Randrianasulu:

snip ...................
>>
>>>
>>>         -----------------------
>>>
>>>         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 ...
>
> I got this tweak to work for hdv09_04.m2t rendering to av1_vaapi.webm
>
>     cin_hw_dev=vaapi
>     g=30
>     profile=main
>     rc_mode=CQP
>
> Render::render_single: Session finished.
> ** rendered 5972 frames in 27.408 secs, 217.893 fps
> FFMPEG::open_decoder: some stream times estimated: 
> /Videoklipp/VAAPI/hdv09_04_av1_vaapi.webm
> FFMPEG::open_decoder: some stream times estimated: 
> /Videoklipp/VAAPI/hdv09_04_av1_vaapi.webm
> audio0 pad 64 -143 (207)
> audio0 pad 0 -143 (143)
> audio0 pad 0 -15 (15)
>
>
> while
>
> [av1_vaapi @ 0x7f8000317a40] Bitrate must be set for VBR RC mode.
> 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
>
>

I think this build uses ffmpeg 7.0 embedded, but is it a way to very 
which ffmpeg version in use via Cingg?

As already tested as working on my own build Cingg based on system 
ffmpeg 7.1,
https://lists.cinelerra-gg.org/pipermail/cin/2024-October/008932.html

this also shows to work on this 7.0(?) build:
hdv.m2t and hd.mov (prores 422 hq) rendering with to av1_vaapi.webm on 
Arc A750 works with

vprofile=high or vprofile=professional

but 10bit yuv422 are downscaled to 8bit yuv420 in the output, at least 
with this profile and/or without other parameters set


Render::render_single: Session finished.
** rendered 5972 frames in 28.582 secs, 208.943 fps
FFMPEG::open_decoder: some stream times estimated: 
/Videoklipp/VAAPI/hdv09_04_av1_vaapi.webm

Render::render_single: Session finished.
** rendered 1781 frames in 13.666 secs, 130.323 fps
FFMPEG::open_decoder: some stream times estimated: 
/Videoklipp/VAAPI/hd01_av1_vaapi.webm

/Videoklipp/VAAPI # ls -lht hdv* hd*
-rw-r--r-- 1 root  root  567M Oct 25 15:30 hd01_av1_vaapi.webm
-rw-r--r-- 1 root  root  1.5G Oct 25 15:11 hdv09_04_av1_vaapi.webm


ffprobe -hide_banner hd01_av1_vaapi.webm
Input #0, matroska,webm, from 'hd01_av1_vaapi.webm':
   Metadata:
     ENCODER         : Lavf61.1.100
   Duration: 00:01:11.28, start: 0.000000, bitrate: 67255 kb/s
   Stream #0:0: Video: av1 (libdav1d) (Main), yuv420p(tv, 
bt709/unknown/unknown), 1920x1080, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn
       Metadata:
         DURATION        : 00:01:11.243000000
   Stream #0:1: Audio: vorbis, 48000 Hz, 16 channels, fltp
       Metadata:
         DURATION        : 00:01:11.283000000


>
>
>>
>> so, vaapi works in more cases than qsv, it seems?

So far, yes

>>
>>
>>
>>
>>     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
>>>
>>>
snip ...........
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241025/be7056f7/attachment-0001.htm>


More information about the Cin mailing list