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
mkver has quit [Ping timeout: 265 seconds]
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg-devel
jdek has quit [Ping timeout: 265 seconds]
minimal has quit [Quit: Leaving]
jdek has joined #ffmpeg-devel
Guest24 has joined #ffmpeg-devel
Guest24 has quit [Client Quit]
Xaldafax has joined #ffmpeg-devel
Xaldafax has quit [Quit: Bye...]
Xaldafax has joined #ffmpeg-devel
Xaldafax has quit [Client Quit]
Xaldafax has joined #ffmpeg-devel
Xaldafax has quit [Client Quit]
psilokos has quit [Ping timeout: 268 seconds]
jamrial has quit []
Martchus_ has joined #ffmpeg-devel
Anthony_ZO has joined #ffmpeg-devel
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
xvaclav has quit [Ping timeout: 244 seconds]
xvaclav has joined #ffmpeg-devel
System_Error has quit [Quit: Leaving]
DVedaa has quit [Ping timeout: 248 seconds]
System_Error has joined #ffmpeg-devel
<fflogger> [editedticket] zcybercomputing: Ticket #11462 ([undetermined] Cannot embed .scc file into .mp4 using -c:s copy) updated https://trac.ffmpeg.org/ticket/11462#comment:36
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
thardin has quit [Read error: Connection reset by peer]
ngaullier has joined #ffmpeg-devel
thardin has joined #ffmpeg-devel
Anthony_ZO has quit [Remote host closed the connection]
MisterMinister has quit [Remote host closed the connection]
MisterMinister has joined #ffmpeg-devel
<fflogger> [editedticket] joe: Ticket #11512 ([ffmpeg] pocketsphinx not found using pkg-config) updated https://trac.ffmpeg.org/ticket/11512#comment:6
mkver has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
derpydoo has quit [Ping timeout: 252 seconds]
IndecisiveTurtle has quit [Quit: IndecisiveTurtle]
Lynne has quit [Remote host closed the connection]
Lynne has joined #ffmpeg-devel
Lynne has quit [Remote host closed the connection]
Lynne has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
<haasn> ramiro: I decided to get rid of block_h again; causing too many headaches when refactoring this code and not really useful
odrling has quit [Remote host closed the connection]
odrling has joined #ffmpeg-devel
<fflogger> [newticket] jasperE: Ticket #11553 ([undetermined] Task finished with error code: -558323010) created https://trac.ffmpeg.org/ticket/11553
blb has quit [Ping timeout: 252 seconds]
blb has joined #ffmpeg-devel
bilboed has quit [Ping timeout: 248 seconds]
<Xe> just wondering before I try to do it, but what do you think the potential problems would be in embedding ffmpeg in webassembly in an application?
<Xe> I'm looking at doing some cursed nonsense involving ffmpeg embedded into anubis to use the browser's DRM stack as a proof of work bypass
<sfan5> for one it will be very slow
<sfan5> but people have done it https://github.com/ffmpegwasm/ffmpeg.wasm
<Xe> how slow are we talking?
<haasn> Do we have a policy about stack size? Is putting 4K on the stack okay?
<JEEB> sfan5: fun enough the configure in master has wasm as an architecture listed there
<JEEB> also someone added wasm SIMD for HEVC...
<jamrial> haasn: as long as fate passes on every target (windows, linux and osx on arm and x86, etc), it should be fine i guess
<Lynne> for video, I think we could hook up the acceleration code
<Lynne> so you'd have ffmpeg->browser->ffmpeg loop
<BtbN> Why even use ffmpeg then?
<BtbN> Usually people wasm ffmpeg to remux stuff cause browsers only speak mp4
<wbs> haasn: 4K is definitely ok; ffv1 hit issues recently when it used up over 1 MB
<JEEB> :D
<haasn> the alternative in this case would be a static _Thread_local buffer
<haasn> (I need it for scratch memory for fixing misaligned/unpadded inputs)
mkver has quit [Ping timeout: 244 seconds]
<wbs> haasn: anything below 64K in total stack usage is totally fine for essentially every use case. a couple 100 KB works but is not ideal
mkver has joined #ffmpeg-devel
<haasn> actually, I only need 1K in the worst case
<wbs> (for dav1d, we required up to 500 KB before, but worked it down to <64K for some esoteric google internal(?) use case)
<sfan5> ffmpeg could start using -Wstack-usage= if this matters
bilboed has joined #ffmpeg-devel
<kierank> haasn: why not malloc?
<haasn> could use malloc, just would require some extra bit of complexity since we'd need a unique buffer per thread slice
<haasn> (unless we malloc+free every frame, but then what's the reason to not just use the stack?)
<kierank> because the stack is limited
ngaullier has quit [Remote host closed the connection]
<BtbN> I really wish C would adopt some concept of a stack-destructor
<sfan5> like __attribute__((cleanup))?
<Gramner> no large TLS buffers please
<Gramner> but yes, 4K is not an issue whatsoever
<BtbN> yes, but actually standardized
<BtbN> Another thing from C++ I wish C would officially adopt would be the abolition of UB
<BtbN> It's just a pointless magnet for miscompiled code that can cause security flaws
<BtbN> Someone actually made a research paper about LLVMs aggressive UB-using optimization
<BtbN> it's single-digit performance benefits, for a huge risk of miscompiling code compared to what the author intended/expected
<Gramner> do you want "for (int i ..." loop to be a lot slower? because no UB means you'd need to do sign-extension every time such iterator is used for an array index etc. whereas signed overflow being UB means you can currently use a pointer-sized register for it
<haasn> no UB means the compiler would have to insert a range check before every array access
<BtbN> does it? Sounds just like implementation-defined to me
<BtbN> C++ managed to get rid of UB in the standard, and it didn't turn atrociously slow when doing so
<haasn> ramiro: I implemented the "fuse lines when strides are compatible" optimization on the ops.c level but one thing to note is that it totally breaks SWS_OP_DITHER (since that one depends on the exact x/y coordinates)
<haasn> so most likely we would need to couple this with a mechanism for establishing whether the x/y coordinates matter or not
<psykose> > C++ managed to get rid of UB in the standard
<psykose> huh, what did i miss?
<haasn> which seems like a bit of a hack
<BtbN> I think it's not actually in the standard yet, but it's a proposal that'll likely be in the next iteration
<BtbN> wtf is that
<haasn> I think I'd rather outsource that decision logic to the implementation, and make the entrypoint basically just take the base pointers and the x/y coordinate range
<haasn> I may even nuke SwsOpExec entirely
Thulinma has quit [Quit: Laters]
___nick___ has joined #ffmpeg-devel
Thulinma has joined #ffmpeg-devel
<thardin> getting rid of UB sounds good to me. it's weird that the compiler is free to assume a program terminates
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 245 seconds]
mkver has quit [Ping timeout: 244 seconds]
rvalue- is now known as rvalue
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
beastd has quit [Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Client Quit]
___nick___ has joined #ffmpeg-devel
<jkqxz> Getting rid of UB sounds like a terrible idea. What will the implementation do with a pointer received from outside the translation unit? Scan the memory map of the program to make sure it's in an "allowed" range of some kind before you're allowed to dereference it?
<BtbN> Just dereference it?
<BtbN> I really don't see the problem there. Leacing it to the platform and implementation to define the final behaviour is fine
<BtbN> It just needs to be defined how exactly the language behaves, up to its boundaries
<BtbN> So that stuff like optimizing away null checks or other nonsense like strict aliasing that completely messes with with programmer expectations can't happen
<jkqxz> How does the implementation define what happens when it might overwrite the implementation's internal structures?
<jkqxz> Saying that the implementation is allowed to say that implementation-defined behaviour is undefined defeats both the point of implementation-defined behaviour and also the attempt to remove undefined behaviour.
<BtbN> Well, if you overwrite it in the right way, it does what what you wrote did
<BtbN> Doing it is a terrible idea, but hey
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
beastd has joined #ffmpeg-devel
___nick___ has quit [Ping timeout: 272 seconds]
beastd has quit [Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/]
beastd has joined #ffmpeg-devel
<fflogger> [newticket] weihuaqd: Ticket #11554 ([ffmpeg] ffmpeg does not respect A/V start_pts in the input file while transcoding to HLS/fmp4, the output has A/V sync issue) created https://trac.ffmpeg.org/ticket/11554
thilo has quit [Ping timeout: 265 seconds]
thilo has joined #ffmpeg-devel
<ramiro> haasn: that's what I did with asmjit. I only keep track of x/y when dither is used.
Kwiboo has quit [Quit: .]
Kwiboo has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]