michaelni changed the topic of #ffmpeg-devel to: Welcome to the FFmpeg development channel | Questions about using FFmpeg or developing with libav* libs should be asked in #ffmpeg | This channel is publicly logged | FFmpeg 7.1.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
galad has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
<haasn>
kasper93: gcc 15
<haasn>
And clang 20
<kasper93>
clang 20 here
<kasper93>
then you probably use unfair flags for those comparision ;)
minimal has quit [Quit: Leaving]
cone-724 has joined #ffmpeg-devel
<cone-724>
ffmpeg Eric Joyner master:fb163eb28bd0: avformat/mov: Support multiple thumbnails in HEIF
<cone-724>
ffmpeg Eric Joyner master:291ec0faf3b1: avformat/mov: Enable jpeg streams in HEIF MOVContext
<jamrial>
Lynne: see heif fix i just sent
<kasper93>
I see that gcc cannot vectorize reductions, that's silly
<kasper93>
pretty basic thing to have optimization pass for
<kasper93>
clang does it well, llvm as always wins
novaphoenix has quit [Quit: i quit]
novaphoenix has joined #ffmpeg-devel
<fflogger>
[newticket] rix: Ticket #11673 ([avformat] Incorrect written MP4 Sample Description Entry for DTS codec family) created https://trac.ffmpeg.org/ticket/11673
<cone-724>
ffmpeg wangbin master:7b13d17b6d88: avdevice/android_camera: Set image linesize aligment to 1
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
_whitelogger has joined #ffmpeg-devel
jamrial has quit []
_whitelogger has joined #ffmpeg-devel
jarthur has quit [Ping timeout: 276 seconds]
Flat has quit [Quit: Rip internet]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
Flat has joined #ffmpeg-devel
cone-724 has quit [Quit: transmission timeout]
MisterMinister has quit [Ping timeout: 248 seconds]
microlappy has joined #ffmpeg-devel
microlappy has quit [Client Quit]
quietvoid has quit [Ping timeout: 276 seconds]
quietvoid has joined #ffmpeg-devel
indecisiveturtle has quit [Remote host closed the connection]
indecisiveturtle has joined #ffmpeg-devel
indecisiveturtle has quit [Ping timeout: 248 seconds]
<haasn>
I can match your numbers only with -march=znver5
<haasn>
and only on clang
<cone-533>
ffmpeg Niklas Haas master:75cd42c48a1d: avfilter/vf_blackdetect: add AVX2 SIMD version
<cone-533>
ffmpeg Niklas Haas master:bfab02629805: tests/checkasm: add test for vf_blackdetect
TheVibeCoder has joined #ffmpeg-devel
<kasper93>
haasn: sure, I tested with znver4. I think comparing vectorized code to each other give better overview of performance delta.
<kasper93>
not saying to do full performance overview pdf, but I think if there is so big delta between march=generic and -avx512 it is important information to show also
indecisiveturtle has joined #ffmpeg-devel
<haasn>
sure
<haasn>
though it's worth pointing out that I could not find a mainstream distro that compiles ffmpeg with clang
<haasn>
and gcc even with znver5 does not perform well here
<haasn>
I also want to disagree with your claim that clang/LLVM always wins
<haasn>
I can show you more than a handful of examples of code that GCC just straight up vectorizes better than clang
<haasn>
I was investigating this quite thoroughly in the context of my swscale rewrite
<haasn>
where I initially attempted to avoid having to write SIMD at all
<kasper93>
that part was not so serious, don't stress about it
<haasn>
fair, I just used to have the assumption that clang/LLVM is better than GCC in my head until I sat down and compared them a lot
<kasper93>
though at least on x86 I get better results with clang, on arm and expecially 32-bit gcc is still better, but ymmv on workload and everything
<kierank>
clang is a cult
<kierank>
chris fettner followed ffmpeg on X and then I think unfollowed because I regularly show how bad the compiler is
<haasn>
somehow I ran FATE on all commits except that one
jamrial has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
<Lynne>
TheVibeCoder: still looking at the stairsteps
<Lynne>
they're in the ACs for sure
<Lynne>
I'm half-convinced they're artifacts from the log colorspace of the camera
<Lynne>
but if there's any non-linearity in the dequant:quant ratio, it should be visible in graphs, and I see nothing but perfect linearity
<haasn>
TheVibeCoder: can you explain to me why vf_premultiply is adding ((a >> 1) & 1) to the alpha value?
<haasn>
it leads to the calculated luma value being off by 1 when premultiplying a solid white input
<haasn>
and I cannot for the life of me figure out what purpose it could serve
<TheVibeCoder>
i found formula on web
<kasper93>
vibe coding before it was trendy
jamrial has quit [Ping timeout: 265 seconds]
jamrial has joined #ffmpeg-devel
HarshK23 has joined #ffmpeg-devel
<kasper93>
notekierank: you are drifting from the initial topic. Of course hand optimized asm will be faster and we should have it.
<kasper93>
However reporting that it's 30x-100x times faster because baseline is code generated for Pentium 4, while we are speaking about AVX512, is really comparing apples to oranges.
<kasper93>
of course compilers often borks, like we seen yesterday, but that's even more reason to be specific that it was compiled with options that doesn't cripple it and the gain is fully because hand code is better.
<kasper93>
kierank ^
<TheVibeCoder>
kierank: you must apologize in public
<kierank>
kasper93: its not
<kierank>
because the avx512 is hand enabled
<kierank>
we have runtime detection
<kierank>
if compiler runtime detection was used it 1) would be compiler specific and ugly and 2) would downclock
<kierank>
"compiling ffmpeg with avx512" means it only runs on avx512
<kierank>
and furthermore downclocks on some systems
<kasper93>
asm code doesn't get faster, because you baseline is slower.
<kasper93>
just figure out the -fno-tree-vectorize situation and we won't have this problem
cone-620 has quit [Quit: transmission timeout]
<kasper93>
I guess you can agree that sse2 is allowable target for *all* users and does't cause downclocks
<jamrial>
sse2 is implicit on x86_64, which is what anyone on intel/amd is using
ccawley2011 has quit [Ping timeout: 265 seconds]
MisterMinister has joined #ffmpeg-devel
bsFFFFFF has quit [Read error: Connection reset by peer]
bsFFFFFF has joined #ffmpeg-devel
<haasn>
“In fact, that would be a great test, if someone took the pure C version of this filter, compiled it with GCC and full optimizations, took the AVX-512 hand optimized version and compared the quality of the video produced using PSNR, SSIM and VMAF.”
<haasn>
This has got to be ragebait right?
<kasper93>
good one
<kasper93>
almost as good as hwdec=vulkan is not bitexact, only d3d11 is safe
<TheVibeCoder>
kierank: you must apologize in public
<kierank>
TheVibeCoder: you must apologise and bow down to leadership
<kierank>
for your evil fork
cone-332 has joined #ffmpeg-devel
<cone-332>
ffmpeg James Almer master:f263192f0e97: avfilter/x86/vf_blackdetect: don't use rax to return a 32bit integer
<cone-332>
ffmpeg James Almer master:ee4ff3f706f5: avfilter/x86/vf_blackdetect_init: don't enable the ASM functions on targets where it's known they will be slower
<haasn>
if ffmpeg absorbs librempeg does it finally turn into ffmpreg?
ccawley2011 has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 276 seconds]
bsFFFFFF has quit [Ping timeout: 265 seconds]
HarshK23 has quit [Quit: Connection closed for inactivity]
<TheVibeCoder>
kierank: you must apologize in public, you have missguided the X community and multimedia followers
<kierank>
I didn't
bsFFFFFF has joined #ffmpeg-devel
<Lynne>
someone's trying to implement an inspection tool again
<Lynne>
utter disregard for the API we spent time designing
<Lynne>
just bitstream parameters go in structs, h264 only codec year 2025
ccawley2011 has joined #ffmpeg-devel
<Lynne>
the gut to call it "generic" disgusts me
<BtbN>
On the ML?
<TheVibeCoder>
merge it!
<jamrial>
i recall telling him to use the existing lavu api for this in a previous version of the set
<BBB>
maybe he doesn't understand?
<BBB>
introspection isn't a concept everyone is familiar with
<cone-332>
ffmpeg James Almer master:af9b43455a97: swscale/swscale_unscaled: don't add offsets to NULL pointers
<cone-332>
ffmpeg James Almer master:585a8d53576f: avcodec/motion_est: don't add offsets to NULL pointers
<cone-332>
ffmpeg Dawid Kozinski master:8baa691e5fa6: avformat/mov_muxer: Extended MOV muxer to handle APV video content
<cone-332>
ffmpeg James Almer master:3cd5672bfeb7: fate/lavf-container: add test for APV in MP4
<cone-332>
ffmpeg James Almer master:e32264a1e17a: avformat/mov: don't assume iloc and iinf entries for each item_id will be in the same order
<jamrial>
Lynne: think you can make a sample with more than one thumnail and with iloc/iinf having different order of entries that's not 5mb?
<jamrial>
so i can upload it to fate and make a test
<jamrial>
use the lowest quality/res option in your camera maybe
mkver has joined #ffmpeg-devel
<TheVibeCoder>
kierank: ever heard about HDMV LPCM in MPEG-PS?
<Lynne>
jamrial: sure, give me a sec
ngaullier has quit [Remote host closed the connection]
<galad>
libri
<galad>
wrong window
<cone-332>
ffmpeg James Almer master:85f29118917b: avfilter/x86/vf_blackdetect: add missing preprocessor check