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
Kimapr_ has quit [Read error: Connection reset by peer]
<jamrial_>
that's a weird way to report a tag was made
<jamrial_>
but no weirder than what cone used to do
iive has quit [Quit: They came for me...]
<Lynne>
BtbN: volk's code is literally equivalent to what we do
<BtbN>
Doesn't help me though to get something to work that links -lvulkan
<Lynne>
its not an alternative, it just dlopens the loader and loads function pointers
<BtbN>
jamrial_: I guess I have to implement specific "tag made" logic. Cause making a tag is still a push, and that's what the bot listens for, and then gets confused
<BtbN>
though it is technically accurately reporting on what happened
<Lynne>
btw, we also have --enable-vulkan-static which instead of dlopening statically links
<BtbN>
FFmpeg is not the problem. whisper is
<BtbN>
it just directly links the loader. So if I want it to not hard-depend on it, I need a shim loader for the loader
<Lynne>
I guess you could compile volk statically, at runtime initialize it globally, and from it give ffmpeg the single function pointer which finds function pointers
<Lynne>
though I'm not sure what this gains
<Lynne>
also, does code.ffmpeg.org's CI run on github? I thought we had our own runners
<BtbN>
wtf, the UPX folks have some "magic sauce" in their release binaries, and seemingly intentionally nerf any self-built variant: https://github.com/upx/upx/issues/924
<BtbN>
that's one project to avoid, that's shady as hell
minimal has quit [Read error: Connection reset by peer]
Guest99 has joined #ffmpeg-devel
<BtbN>
Asking about it just gets no response and the issue closed.
minimal has joined #ffmpeg-devel
Kimapr has joined #ffmpeg-devel
Kimapr_ has quit [Remote host closed the connection]
<BtbN>
There's traces in the code behind WITH_NRV, but injecting that define results in unresolved symbols. So it's not just disabled, but the code is actively missing
<nevcairiel>
upx was always somewhat shady and many AV tools blanket flag them
<BtbN>
i.e. the binaries they publish are built from secret code
<BtbN>
while being GPL-2+
<BtbN>
Like, you can see the code use upx_nrv_test_overlap(), but it's not implemented anywhere
<BtbN>
and the same for a bunch of other functions
<BtbN>
Well, upx gets abused by malware, that's not their fault
Guest99 has quit [Quit: Client closed]
<BtbN>
Not too sure about GPL, but it sounds like a plain violation to me?
<BtbN>
It's impossible to reproduce the binaries they distribute
<BtbN>
In theory I could now, on the basis of the GPL, request the source code from them, couldn't I?
Kimapr has quit [Remote host closed the connection]
<JEEB>
if you have a binary that is GPL licensed, yes. of course if they own all the copyright they could have dual licensing for their own binaries
<nevcairiel>
The owner of the code can really do anything
<BtbN>
People asked me for support to UPX the ffmpeg binaries from my builds, so I thought about including it as an option
<BtbN>
but I'm not gonna bundle their binaries. That's ultra shady, specially with this behaviour
<Traneptora>
I don't understand how open source software has "secret sauce"
<Traneptora>
that's just not open source
<BtbN>
Well, it has parts of the code "#if SOME_DEFINE"ed off
<BtbN>
and then there is some secret code somewhere with a significantly better compression algorithm, which they use for the binary releases
<BtbN>
it makes no sense
<Traneptora>
yea, that's just... not open source
<BtbN>
Well, they say it's GPL-2+
<Traneptora>
well, if the releases aren't compiled from the published source, that's not open source
<BtbN>
I really wonder how that works out, license wise
<BtbN>
Everything on that repo suggests it's GPL-2+, but the binaries can't be
<BtbN>
Wouldn't surprise me if that issue I opened get silently deleted in a while
<JEEB>
yea they'd have to be under a separate license and that'd only work if one entity has all the copyright and thus can relicense at need. I mean, that's one way of getting corporate licensees
<JEEB>
but would be good if they actually mentioned that
<JEEB>
"Our release binaries are under a separate license and contain proprietary optimizations" or so
<BtbN>
not sure if they have a contributor CLA or something
<BtbN>
Cause if not, any contributor whose code is in those binaries can for sure sue the source code under GPL-2+ out of them
<BtbN>
I also don't understand why they would DO that, what do they gain? It's freeware either way
<JEEB>
if it's not corporate licensing, then it's just the usual "my secret sauce", which we have seen with plenty of various formats. audio etc
<JEEB>
plenty of free but not open source things
<BtbN>
I wonder if zstd or something wouldn't outperform their secret sauce anyway
<Traneptora>
sure but freeware (e.g. WinRAR) is not pretending to be Open Source
<BtbN>
but the only difference for all I can see is that they allow the free usage of their stub loader they put into the compressed binaries no matter what you do with those binaries
<BtbN>
Which seems like a good plan to me
<BtbN>
Otherwise, it's all GPL-2+
<CounterPillow>
UPX'ing random .exes is still relevant in the day and age where people ship 200 megabytes of electron bloat?
<BtbN>
Well, my static ffmpeg.exe is approaching 200MB fast
<BtbN>
upx brings it down to 30MB
<BtbN>
But only with their secret algorithm
<Traneptora>
even stripped?
<BtbN>
I did not disable stripping, so yeah
<BtbN>
There's like 50+ libraries linked into it statically
<Traneptora>
ah
<BtbN>
A debug build is almost 10GB
<BtbN>
And full global LTO takes over an hour to link
<Traneptora>
I'm not sure what their sauce is but xz takes it to 36 MB from 134 MB
<Traneptora>
Zst takes it to 40 MB
<BtbN>
The advantage of their algorithm is that it's super fast to decompress
<BtbN>
using xz for it would lead to noticeable startup lag
<BtbN>
They have some code in their loader that can decompress and run the code on the fly
<Traneptora>
ah, I see
<Traneptora>
lz4 takes it to 60M but it's crazy fast
indecisiveturtle has quit [Ping timeout: 260 seconds]
<Traneptora>
I still don't trust whatever they did
<Traneptora>
if it's not FOSS
indecisiveturtle has joined #ffmpeg-devel
<Traneptora>
CounterPillow: I think people like upxing flatpak garbage