[Cin] SVT-AV1 encoding quite fast on x86_64
Terje J. Hanssen
terjejhanssen at gmail.com
Fri Dec 29 19:27:04 CET 2023
Den 29.12.2023 11:56, skrev Andrew Randrianasulu:
>
>
> пт, 29 дек. 2023 г., 05:01 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
> Den 17.12.2023 00:05, skrev Andrew Randrianasulu:
>>
>>
>> пт, 15 дек. 2023 г., 21:10 Terje J. Hanssen via Cin
>> <cin at lists.cinelerra-gg.org>:
>>
>>
>>
>> Anyway, apparently SVT-AV1 libsvtav1 shines as the superiour
>> fastest and simple to use CPU based AV1 encoder (before GPU
>> hwaccels)
>>
>>
>> After rebuilding SVT-AV1 on termux for Neon acceleration I tried
>> three variations of same file:
>>
>> du -h av1-1.8.0*
>> 5.0M av1-1.8.0-pr12.webm
>> 4.3M av1-1.8.0-pr2.webm
>> 4.6M av1-1.8.0.webm
>>
>> all on crf 30
>>
>> ffmpeg -i 20081103140154.m2t -c:v libsvtav1 -an -preset 2 -crf 30
>> av1-1.8.0-pr2.webm
>>
>> this one run at 0.2 fps
>>
>> ffmpeg -i 20081103140154.m2t -c:v libsvtav1 -an -preset 12 -crf
>> 30 av1-1.8.0-pr12.webm
>>
>> this one run up to 9.4 fps!
>>
>> ffmpeg -i 20081103140154.m2t -c:v libsvtav1 -an -preset 6 -crf
>> 30 av1-1.8.0.webm
>>
>> and this one run at 1.3 fps.
>>
>> all files encoded from same input:
>>
>> Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] /
>> 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR
>> 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn
>>
>> So, I guess on aarch64 tablet this one definitely not as fast as
>> on desktop (x86_64) Intel.
>>
>>
>
>
> AV1 Encoding/Rendering:
> ======================
>
> To compare encoding with FFmpeg/SVT-AV1 v. 1.7.0 and rendering
> with the current CinGG/AOM-AV1 (v. 3.1.1?), I used a medium length
> 1080i HDV clip (ca. 7 min duration) as input file:
> 1,3G hdv07_05.m2t
>
>
> 239M hdv07_05_m2t_svt-av1_pr10.webm
> ffmpeg -i hdv07_05.m2t -c:v libsvtav1 -preset 10 -crf 35 -c:a
> libvorbis hdv07_05_m2t_svt-av1_pr10.webm
> frame=10240 fps= 68 q=27.0 Lsize= 244069kB time=00:06:58.24
> bitrate=4780.5kbits/s speed=2.78x
>
>
> 235M hdv07_05_cingg_aom-av1.webm
> Rendering with CinGG/AOM-AV1
> Rendering took 0:37:06 = 2226 sek
> FPS=10240/2226=4.6
>
>
> Rendering speed results:
> ------------------------
> 68 FPS vs 4.6 FPS
>
>
> FFplay playback:
> ===============
>
> hdv07_05_m2t_svt-av1_pr10.webm
> ------------------------------
> ffplay -hide_banner hdv07_05_m2t_svt-av1_pr10.webm
> [libdav1d @ 0x7fe318004880] libdav1d 1.3.0 0KB sq= 0B f=0/0
> Input #0, matroska,webm, from 'hdv07_05_m2t_svt-av1_pr10.webm':
> Metadata:
> ENCODER : Lavf60.3.100
> Duration: 00:06:58.28, start: 0.000000, bitrate: 4780 kb/s
> Stream #0:0: Video: av1 (Main), yuv420p(tv, bt709), 1440x1080,
> SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 1k tbn
> Metadata:
> ENCODER : Lavc60.3.100 libsvtav1
> DURATION : 00:06:58.283000000
> Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp
> Metadata:
> ENCODER : Lavc60.3.100 libvorbis
> DURATION : 00:06:57.939000000
> [libdav1d @ 0x7fe3180d5b80] libdav1d 1.3.0
> 20.51 A-V: -0.032 fd= 0 aq= 12KB vq= 310KB sq= 0B f=0/0
>
>
> hdv07_05_cingg_aom-av1.webm
> ----------------------------
> ffplay -hide_banner hdv07_05_cingg_aom-av1.webm
> [libdav1d @ 0x7f3650004640] libdav1d 1.3.0 0KB sq= 0B f=0/0
> Input #0, matroska,webm, from 'hdv07_05_cingg_aom-av1.webm':f=0/0
> Metadata:
> ENCODER : Lavf60.16.100
> Duration: 00:06:58.08, start: 0.000000, bitrate: 4708 kb/s
> Stream #0:0: Video: av1 (Main), yuv420p(tv,
> bt470bg/unknown/unknown), 1440x1080, SAR 1:1 DAR 4:3, 25 fps, 25
> tbr, 1k tbn
> Metadata:
> DURATION : 00:06:58.043000000
> Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp
> Metadata:
> DURATION : 00:06:58.082000000
> [libdav1d @ 0x7f36500da540] libdav1d 1.3.0
> 24.95 A-V: -0.008 fd= 3 aq= 21KB vq= 583KB sq= 0B f=0/0
>
>
> VLC Playback (copied codec info from GUI Tool tab)
> ============
>
> vlc hdv07_05_m2t_svt-av1_pr10.webm
> ----------------------------------
> Stream 0
> Codec: AOMedia's AV1 Video (av01)
> Type: Video
> Video resolution: 1440x1080
> Buffer dimensions: 1536x1152
> Frame rate: 25
> Decoded format: Planar 4:2:0 YUV
> Orientation: Top left
> Color primaries: ITU-R BT.709
> Color transfer function: ITU-R BT.709
> Stream 1
> Codec: Vorbis Audio (vorb)
> Type: Audio
> Channels: Stereo
> Sample rate: 48000 Hz
> Bits per sample: 32
> Bitrate: 112 kb/s
> encoder: Lavc60.3.100
>
>
> vlc hdv07_05_cingg_aom-av1.webm
> -------------------------------
> Stream 0
> Codec: AOMedia's AV1 Video (av01)
> Type: Video
> Video resolution: 1440x1080
> Buffer dimensions: 1536x1152
> Frame rate: 25
> Decoded format: Planar 4:2:0 YUV
> Orientation: Top left
> Color space: ITU-R BT.601 Range
> Stream 1
> Codec: Vorbis Audio (vorb)
> Type: Audio
> Channels: Stereo
> Sample rate: 48000 Hz
> Bits per sample: 32
> Bitrate: 112 kb/s
> encoder: Lavc60.31.102
>
>
> Playback results:
> -----------------
>
> hdv07_05_m2t_svt-av1_pr10.webm
> ------------------------------
> FFplay and VLC: Correct playback of HDV 16:9 (DAR) Video and
> correct Audio
> BT.709 Colors should be correct for HD(V) video
>
>
> hdv07_05_cingg_aom-av1.webm
> ----------------------------
> FFplay and VLC: wrong playback of HDV 4:3 (DAR) Video,
> and som screeching (scratch) sound on Audio
> BT.601 colors is seemingly for (older) SD video
> That said, I just loaded the HDV clip in Cin-GG without change of
> the default Preferences,
> so this can probably be corrected/tuned.
>
>
> well, lack of correct (display) aspect ratio on output, as well as
> distorted sound is concerning!
>
> Can you try another audio encoder, and may be manually set 'format'
> parameters, if container-level aspect ratio still not set up
> automatically?
>
>
Within Settings | Format I selected "our" Preset "HDV 1080i/25".
The Color model changed from RGB-8 bit to YUVA-8 bit. but I didn't see
it change of geometry parameters.
Still the Canvas size was: Width:1440, Height:1080, W Ratio:1.0, H
Ratio:1.0, Aspect Ratio:16.0:9.0
If the latter Aspect Ratio is equivalent to FFmpeg's DAR 16:9,
shouldn't W Ratio and H Ratio be equivalent to FFmpegs pixel aspect
ratio SAR 4:3 as in the svt-av1 encoded file?
Or generic: Would it be possible to automatic get the format parameters
identical to how FFmpeg (FFprobe) read the source file?
And like SVT-AV1: By default SVT-AV1 will encode 10-bit sources to
10-bit outputs and 8-bit to 8-bit.
---------------
I tested also Cin-GG/aom-av1 rendering of 20081103140154.m2t hdv file
(you used above with ffmpeg.)
The same result, display aspect ratio is 4:3. Actually as soon the files
are saved to disk, Gnome File manager show them visually like the 4:3 SD
icons.
Could you possibly try to render the same file using CinGG av1.webm to
verify what happends ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20231229/e7b3590b/attachment.htm>
More information about the Cin
mailing list