[Cin] New speed winner for hw tonemapping!

Terje J. Hanssen terjejhanssen at gmail.com
Mon Apr 28 16:20:27 CEST 2025


Den 27.04.2025 23:39, skrev Andrew Randrianasulu:
>
>
> вс, 27 апр. 2025 г., 23:58 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>     Den 26.04.2025 22:37, skrev Andrew Randrianasulu via Cin:
>>     RADV_PERFTEST=video_decode,video_encode time -p ./ffmpeg 
>>     -init_hw_device vulkan=vulkan -filter_hw_device vulkan   -hwaccel
>>     vulkan  -i
>>     ~/K38_sdcard1/Documents/iPhone11_4K-recorder_59.940HDR10.mov -vf
>>     libplacebo=w=1920:h=1080:force_original_aspect_ratio=decrease:normalize_sar=true:upscaler=ewa_lanczos:downscaler=ewa_lanczos:colorspace=bt709:color_primaries=bt709:color_trc=bt709:range=tv
>>     -c:a copy -c:v libx264  -f mp4 -benchmark
>>     /dev/shm/ffmpeg-git-libplacebo-vulkan-2k.mp4
>>
>>     frame= 1148 fps= 10 q=-1.0 Lsize=  30435KiB time=00:00:19.13
>>     bitrate=13029.3kbits/s speed=0.167x
>>     bench: utime=355.600s stime=25.878s rtime=114.342s
>>
>>     so nearly 10 fps with scaled to FHD input! (otherwise 32bit x264
>>     OOMs)
>>
>     ==================
>
>     I admit I'm not sure what's going on in every detail above and
>     below. But I've tried to adapt something similar or equivalent (?)
>     using my Google Pixel 7 Pro smartphone to record a small HDR10
>     video clip, and then using ffmpeg on my Intel Alder Lake cpu/DG2
>     gpu workstation. Comments are welcome for correction and learning?
>
>
> Well, 125 fps sounds fast ;)
>
> This line tries to convert HDR video to SDR version, same size (for 
> your case) but it now 10bit h264 instead of 10bit h265.
>
> You probably can add format=yuv420p before all other -vf liblacebo 
> options so resulting file will be more compatible 8bit h264.
>
> You can try to watch both vids side by side, I think mpv uses same 
> algorithm as libplacebo, so on SDR screen results must look close to 
> each other?
>


I tried also to convert adding -vf format=yuv420p, but both the 10bit 
and 8bit output files are distorted when playback with vlc, mpv or ffplay.
In comparison testing with my highest ProRes hq 10bit video file as 
input (not HDR), the output mp4 file looks fine with the same ffmpeg 
code line.

Was there a download site with small HDR10 test clips available, so we 
can test and compare using the same input?


time -p ffmpeg -hide_banner  -init_hw_device vulkan=vulkan 
-filter_hw_device vulkan -hwaccel vulkan  -i 
PXL_20250427_195356771.TS.mp4 -vf 
format=yuv420p,libplacebo=w=1920:h=1080:force_original_aspect_ratio=decrease:normalize_sar=true:upscaler=ewa_lanczos:downscaler=ewa_lanczos:colorspace=bt709:color_primaries=bt709:color_trc=bt709:range=tv 
-c:a copy -c:v libx264  -f mp4 -benchmark 
ffmpeg-libplacebo-PXL_20250427_195356771.TS.mp4
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x56364496c680] All samples in data stream 
index:id [3:4] have zero duration, stream set to be discarded by 
default. Override using AVStream->discard or -discard for ffmpeg command.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'PXL_20250427_195356771.TS.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 131072
     compatible_brands: isomiso2mp41
     creation_time   : 2025-04-27T19:54:05.000000Z
     SpecialTypeID   : 
com.google.android.apps.camera.gallery.specialtype.SpecialType-AMETHYST
     com.android.capture.fps: 30.000000
     com.android.model: Pixel 7 Pro
     com.android.manufacturer: Google
   Duration: 00:00:06.97, start: 0.000000, bitrate: 20255 kb/s
   Stream #0:0[0x1](eng): Data: none (mett / 0x7474656D), 47 kb/s (default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : MetaHandle
   Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 
stereo, fltp, 192 kb/s (default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : SoundHandle
         vendor_id       : [0][0][0][0]
   Stream #0:2[0x3](eng): Video: hevc (Main 10) (hvc1 / 0x31637668), 
yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 1920x1080, 20010 kb/s, 
SAR 1:1 DAR 16:9, 29.99 fps, 30 tbr, 90k tbn (default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : VideoHandle
         vendor_id       : [0][0][0][0]
   Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D) (default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : MetaHandle
File 'ffmpeg-libplacebo-PXL_20250427_195356771.TS.mp4' already exists. 
Overwrite? [y/N] y
Stream mapping:
   Stream #0:2 -> #0:0 (hevc (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
MESA-INTEL: warning: ../src/intel/vulkan/anv_formats.c:834: FINISHME: 
support more multi-planar formats with DRM modifiers
[libx264 @ 0x563644986d40] using SAR=1/1
[libx264 @ 0x563644986d40] using cpu capabilities: MMX2 SSE2Fast SSSE3 
SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x563644986d40] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x563644986d40] 264 - core 164 - H.264/MPEG-4 AVC codec - 
Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: 
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 
psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 
cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=30 
lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0 
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf 
mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 
aq=1:1.00
Output #0, mp4, to 'ffmpeg-libplacebo-PXL_20250427_195356771.TS.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 131072
     compatible_brands: isomiso2mp41
     com.android.manufacturer: Google
     SpecialTypeID   : 
com.google.android.apps.camera.gallery.specialtype.SpecialType-AMETHYST
     com.android.capture.fps: 30.000000
     com.android.model: Pixel 7 Pro
     encoder         : Lavf61.7.100
   Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, 
progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn 
(default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : VideoHandle
         vendor_id       : [0][0][0][0]
         encoder         : Lavc61.19.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
   Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 
stereo, fltp, 192 kb/s (default)
       Metadata:
         creation_time   : 2025-04-27T19:54:05.000000Z
         handler_name    : SoundHandle
         vendor_id       : [0][0][0][0]
[out#0/mp4 @ 0x56364496f940] video:3480KiB audio:163KiB subtitle:0KiB 
other streams:0KiB global headers:0KiB muxing overhead: 0.242542%
frame=  209 fps=116 q=-1.0 Lsize=    3651KiB time=00:00:06.90 
bitrate=4335.2kbits/s speed=3.83x
bench: utime=14.435s stime=0.739s rtime=1.804s
bench: maxrss=1455376KiB
[libx264 @ 0x563644986d40] frame I:2     Avg QP:18.68  size:105708
[libx264 @ 0x563644986d40] frame P:66    Avg QP:23.77  size: 32017
[libx264 @ 0x563644986d40] frame B:141   Avg QP:31.40  size:  8783
[libx264 @ 0x563644986d40] consecutive B-frames:  7.2%  6.7%  5.7% 80.4%
[libx264 @ 0x563644986d40] mb I  I16..4: 32.3% 25.8% 41.9%
[libx264 @ 0x563644986d40] mb P  I16..4:  0.4%  0.5%  1.2% P16..4: 
16.7%  8.0%  5.6%  0.0%  0.0%    skip:67.5%
[libx264 @ 0x563644986d40] mb B  I16..4:  0.0%  0.0%  0.0% B16..8: 
12.9%  4.5%  1.4%  direct: 1.8%  skip:79.2%  L0:46.1% L1:47.2% BI: 6.8%
[libx264 @ 0x563644986d40] 8x8 transform intra:23.8% inter:36.3%
[libx264 @ 0x563644986d40] coded y,uvDC,uvAC intra: 56.1% 64.0% 50.1% 
inter: 6.8% 6.4% 2.8%
[libx264 @ 0x563644986d40] i16 v,h,dc,p: 53% 44%  2%  1%
[libx264 @ 0x563644986d40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 16% 16%  
2%  1%  0%  0%  0% 21%
[libx264 @ 0x563644986d40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 56% 12%  
1%  1%  1%  1%  1%  7%
[libx264 @ 0x563644986d40] i8c dc,h,v,p: 42% 45% 13%  1%
[libx264 @ 0x563644986d40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x563644986d40] ref P L0: 68.8%  8.1% 12.7% 10.4%
[libx264 @ 0x563644986d40] ref B L0: 88.9%  8.3%  2.8%
[libx264 @ 0x563644986d40] ref B L1: 94.5%  5.5%
[libx264 @ 0x563644986d40] kb/s:4091.33
real 4,76
user 14,49
sys 0,77


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250428/a9173e83/attachment-0001.htm>


More information about the Cin mailing list