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]
cone-533 has joined #ffmpeg-devel
<cone-533> ffmpeg Zhao Zhili master:e7f44f8cd863: avcodec/ohdec: Add h264/hevc OpenHarmony decoders
<cone-533> ffmpeg Zhao Zhili master:fbda5ffb9538: avutil/hwcontext: Add ohcodec device and pixel format
<cone-533> ffmpeg Zhao Zhili master:fa0080bf2ea2: avcodec/ohenc: Add h264/hevc OpenHarmony encoders
bsFFFFFF has joined #ffmpeg-devel
bsFFFFFF has quit [Ping timeout: 260 seconds]
bsFFFFFF has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 265 seconds]
rvalue- is now known as rvalue
<haasn> kasper93: default -O3
<haasn> on clang 20
<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
cone-533 has quit [Quit: transmission timeout]
<JEEB> haasn: hmm, I'm seeing FATE source check getting barf
witchymary has quit [Ping timeout: 244 seconds]
<JEEB> seemingly +libavfilter/vf_blackdetect.h so that file was not added to it?
<JEEB> right, it fails the "Files without standard license headers" check :)
<JEEB> uhh, no
<JEEB> actually since libavcodec/bitstream_template.h is before it, it's > Headers without standard inclusion guards:
<JEEB> hmm, there is a ifndef/define there :D
<JEEB> is it only checking the very beginning of the file
<JEEB> `tests/fate/source-check.sh` is the file that contains that check
<kasper93> already fixed on ML
<JEEB> ah, good
<JEEB> just happened to be running FATE
<JEEB> if no-one else has LGTM'd it by the time I get back from swimming I will do that :D
cone-620 has joined #ffmpeg-devel
<cone-620> ffmpeg Zhao Zhili master:a218cafe4d3b: avfilter/vf_blackdetect: Fix header guard
<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
<Lynne> wonder why it embeds a jpeg copy too, but with a very slightly smaller resolution but in 422
ccawley2011 has quit [Ping timeout: 248 seconds]
ccawley2011 has joined #ffmpeg-devel
mkver has quit [Ping timeout: 248 seconds]
<jamrial> Lynne: the second thumbnail weighs more than the hevc photo, lol
<Lynne> the jpeg quality setting is replaced by heif quality setting, which probably means the jpeg backups are normal quality
<cone-332> ffmpeg James Almer master:ade02f992c87: tests/fate/mov: add a test for HEIF files with multiple thumbnails
ccawley2011_ has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 260 seconds]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
Kwiboo has quit [Ping timeout: 244 seconds]
BradleyS has quit [Read error: Connection reset by peer]
BradleyS has joined #ffmpeg-devel
Kwiboo has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
mkver has quit [Ping timeout: 265 seconds]
jamrial_ has joined #ffmpeg-devel
jamrial has quit [Read error: Connection reset by peer]
ccawley2011_ has quit [Ping timeout: 265 seconds]
ccawley2011_ has joined #ffmpeg-devel
ccawley2011_ has quit [Read error: Connection reset by peer]
<cone-332> ffmpeg James Almer master:36b8c200fb78: avformat/hevc: don't print parameter_set_id for SEI NALUs
witchymary has joined #ffmpeg-devel
bsFFFFFF has quit [Ping timeout: 245 seconds]
bsFFFFFF has joined #ffmpeg-devel
minimal has joined #ffmpeg-devel
iive has joined #ffmpeg-devel
bsFFFFFF has quit [Quit: bsFFFFFF]
<kasper93> jamrial_: shouldn't it be checking for dst2013[i] ?
<kasper93> in af9b434
<kasper93> it has different order than dst
<jamrial_> kasper93: index 3 is the only one that may be NULL, and it's the same in both arrays
<kasper93> ok, in this case it's only cosmetic.
<cone-332> ffmpeg Kacper Michajłow master:85ae10575b9a: configure: allow multiple sanitizers in --toolchain
<cone-332> ffmpeg Kacper Michajłow master:1bed76cdcd04: configure: add -fno-omit-frame-pointer when sanitizers are used
<cone-332> ffmpeg Kacper Michajłow master:c6ce05cec365: configure: allow -ubsan in toolchain
<cone-332> ffmpeg Kacper Michajłow master:e1665fd71d36: configure: add -fuzz support to --toolchain
<cone-332> ffmpeg Kacper Michajłow master:bf2bb119a7e7: configure: remove ossfuzz sanitizer flags
<cone-332> ffmpeg Kacper Michajłow master:39e11fa70041: avcodec/sonic: remove dead code
<cone-332> ffmpeg Kacper Michajłow master:806186e9ad7d: avcodec/sonic: move code closer to use to avoid unused warnings
<cone-332> ffmpeg Kacper Michajłow master:6302ff1fd926: avfilter/vaf_spectrumsynth: don't use uninitialized variable as scale
TheVibeCoder has quit [Ping timeout: 276 seconds]