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 8.0 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
_whitelogger has joined #ffmpeg-devel
Compn has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
mkver has quit [Ping timeout: 260 seconds]
aaabbb has quit [Ping timeout: 255 seconds]
aaabbb has joined #ffmpeg-devel
Martchus_ has joined #ffmpeg-devel
jamrial has quit []
Martchus has quit [Ping timeout: 256 seconds]
_whitelogger has joined #ffmpeg-devel
Kei_N has joined #ffmpeg-devel
Kei_N_ has quit [Ping timeout: 248 seconds]
NullSound has quit [Quit: Textual IRC Client: www.textualapp.com]
NullSound has joined #ffmpeg-devel
<nevcairiel> BtbN: an array texture is what d3d11 hwdecoding requires basically, yes
MisterMinister has quit [Ping timeout: 256 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-5991) by G⁠yanD
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20200 FFmpeg AAC encoder produces harsh noise on specific voice (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20200#issuecomment-5992) by B⁠alling
<fflogger> [editedticket] Balling: Ticket #6023 ([avcodec] support Transfer characteristic in DPX encoder) updated https://trac.ffmpeg.org/ticket/6023#comment:5
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20365 dpxenc: map AVCodecContext color transfer and color primaries fields (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20365#issuecomment-5993) by B⁠alling
BradleyS has quit [Quit: quit]
BradleyS has joined #ffmpeg-devel
signalhunter has quit [Read error: Connection reset by peer]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20437 avutil/hwcontext_d3d12va: added resource and heap flags to DeviceContext (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20437#issuecomment-5995) by j⁠ianhuaw
signalhunter has joined #ffmpeg-devel
Kwiboo has quit [Ping timeout: 260 seconds]
Kwiboo has joined #ffmpeg-devel
derpydoo has joined #ffmpeg-devel
Arcitec has quit [Quit: Arcitec]
Arcitec has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20361 Desktop capture using Windows.Graphics.Capture on Windows (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20361#issuecomment-5997) by c⁠alocenrieti
GewoonLeon has joined #ffmpeg-devel
_whitelogger has joined #ffmpeg-devel
Teukka has quit [Quit: Not to know is bad; not to wish to know is worse. -- African Proverb]
Teukka has joined #ffmpeg-devel
Teukka has quit [Changing host]
Teukka has joined #ffmpeg-devel
kepstin has quit [Remote host closed the connection]
kepstin has joined #ffmpeg-devel
GewoonLeon has quit [Quit: GewoonLeon]
GewoonLeon has joined #ffmpeg-devel
derpydoo has quit [Quit: derpydoo]
DauntlessOne4985 has quit [Ping timeout: 265 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20200 FFmpeg AAC encoder produces harsh noise on specific voice (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20200#issuecomment-5998) by g⁠cp
mkver has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-5999) by G⁠yanD
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6000) by B⁠tbN
GewoonLeon has quit [Ping timeout: 258 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6001) by G⁠yanD
DauntlessOne4985 has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
Arcitec has quit [Quit: Arcitec]
MisterMinister has joined #ffmpeg-devel
minimal has joined #ffmpeg-devel
aaabbb has quit [Remote host closed the connection]
aaabbb has joined #ffmpeg-devel
b50d has joined #ffmpeg-devel
b50d has quit [Client Quit]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6014) by B⁠tbN
b50d has joined #ffmpeg-devel
b50d_ has joined #ffmpeg-devel
b50d has quit [Ping timeout: 256 seconds]
aaabbb has quit [Ping timeout: 256 seconds]
aaabbb has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6026) by B⁠tbN
<kasper93> haasn: why swscale force vectorization? Could we take care about warning spam when it fails during compilation?
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6027) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6028) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6029) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6030) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6031) by B⁠tbN
<BtbN> kasper93: you need to do review comments below the code you want to review. https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6018 Or it ends up like this.
<kasper93> BtbN: I did, not my fault forgejo cannot track code changes
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6032) by B⁠tbN
<kasper93> honestly I don't know how this review tool is useful without ability to pin comments
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6033) by B⁠tbN
<BtbN> The comments should refer to code from the commit they were made on for sure
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6034) by B⁠tbN
b50d_ has quit [Quit: Leaving]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6035) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6036) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6037) by k⁠asper93
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6038) by k⁠asper93
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6039) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6040) by k⁠asper93
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6041) by k⁠asper93
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6042) by k⁠asper93
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6043) by k⁠asper93
secondcreek has quit [Ping timeout: 258 seconds]
<BtbN> kasper93: also the reason why I avoided to use a lot of lavu functions is that mixed with C++ that can throw exceptions it's a rather annoying to make sure not to leak anything
<BtbN> Kinda have to wrap everything in smart pointers
<kasper93> using c from c++ shouldn't be an issue generally
<BtbN> It's a lot of extra boilerplate, need to craft a smart pointer that calls the appropiate free function every single time
<BtbN> Cause if a C++ memory allocation fails, it'll throw an exception, and be gone. If stuff is not in smart pointers then, it's leaked.
<JEEB> and std::nothrow only helps with your code, not something in a library
<BtbN> And I'm torn about using the lavu wchar to utf8 wrappers. Inlining them allows to avoid almost all memory allocations
<BtbN> Using the lavu one would force me to wrap its output into a smart pointer as well
<Traneptora> is this the only C++ module that would be using this code?
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6044) by B⁠tbN
<BtbN> Traneptora: yeah
<BtbN> the only other C++ is decklink
<Traneptora> ah okay
<Traneptora> I'm wondering why we're not linking with the C or C++ compiler anyway?
<BtbN> we do
<BtbN> LD is CC usually
<Traneptora> I'm confused about the commit with "link using CXX if -lstdc++ is present" because I feel like that's a bad litmus test for C++ existing
<BtbN> it first tests if LD == CC, and then checks if -lstdc++ is on the commandline
<BtbN> if both are true, it links with CXX instead of CC
<BtbN> and removed -lstdc++ from the invocation
<Traneptora> why are we relying on heuristics though to detemine if we should use C++
<BtbN> The problem is that throwing -lstdc++ into LDFLAGS has become the standard way to signal "We're linking C++"
<BtbN> not just of our configure, but a ton of .pc files also contain it
<BtbN> And it explodes horribly if you use libc++ or something else
<Traneptora> so if the libary has a C api, a C abi, but internally uses C++, it still needs -lstdc++?
<Traneptora> or is this for libaries that explicitly have C++ API/ABIs
<BtbN> If anything you link in uses the C++ standard library, of course you need to link it
<BtbN> otherwise you get linker errors that stuff like operator new or operator delete were not found.
<Traneptora> for example, libjxl is a C++ libary but it has a C api/abi. it doesn't pull in -lstdc++
<BtbN> It does
<BtbN> it has -lstdc++ in its .pc file Libs.private
rvalue- has joined #ffmpeg-devel
<BtbN> so if you link it statically, -lstdc++ appears on your linker commandline
<Traneptora> ah, it's in Libs.private
<BtbN> If you link against its shared lib, you don't need to link its dependencies
<BtbN> the .so already links them
rvalue has quit [Ping timeout: 258 seconds]
<Traneptora> I was thinking of shared, mb
<Traneptora> but how are you supposed to use any other C++ standard library
<BtbN> Pretty much exactly the way I implemented it
<BtbN> filter out -lstdc++, and switch to linking with CXX
<Traneptora> ah, okay
<BtbN> CXX knows what its standard library is, it auto-links it
<Traneptora> I see how that makes sense, but what if a library just "does it properly" or something and doesn't add -lstdc++ to its Libs.private
<Traneptora> how are we supposed to know that we actually need to link with CXX instead of C
<BtbN> As long as it has the _correct_ c++ standard library there, that's perfectly fine
<BtbN> The problem is just that a lot of projects just hardcode -lstdc++ into their .pc files
<Traneptora> how should the project do it instead?
<Traneptora> (not us, but them)
<BtbN> Figure out what the C++ standard library it uses is, somehow, and have that in Libs.private
<BtbN> Which is not always an easy task
<BtbN> .pc has no mechanism to signal "Link with C++", so -lstdc++ kinda became it
rvalue- is now known as rvalue
_whitelogger has quit [*.net *.split]
_whitelogger_ has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
Kwiboo has joined #ffmpeg-devel
wyatt8740 has joined #ffmpeg-devel
srikanth has joined #ffmpeg-devel
s55 has joined #ffmpeg-devel
CoreX has joined #ffmpeg-devel
quietvoid has joined #ffmpeg-devel
zsoltiv_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6046) by B⁠tbN
HarshK23 has joined #ffmpeg-devel
CoreX- has joined #ffmpeg-devel
CoreX has quit [Ping timeout: 258 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6047) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6048) by B⁠tbN
CoreX- has quit [Quit: Computer Say's Goodbye]
GewoonLeon has quit [Ping timeout: 258 seconds]
<BtbN> kasper93: https://github.com/alvinhochun/mingw-w64-cppwinrt exists, but isn't the most actively maintained, and needs C++20 on top of it. It apparently also needs build system integration, calling an upstream generator .exe file to generate the bindings.
<BtbN> So yeah, if we care about non-MSVC, which I do, cppwinrt isn't happening
<BtbN> I don't think it's too big of a deal anyway. The runtime loading of functions neccesitates manual calling anyway, and it's really not a lot of winrt functions that are being called. I don't think it'd safe many lines of code, if any.
<BtbN> And yes, the runtime loading is needed, cause otherwise FFmpeg built against this would not work on any but the latest Windows versions.
CoreX has joined #ffmpeg-devel
<BtbN> People complained when I used SetThreadDpiAwarenessContext in ddagrab already, so it had to be runtime-loaded
<BtbN> and that's a much older API compared to stuff like CreateDirect3D11DeviceFromDXGIDevice
Kwiboo has quit [Quit: .]
CoreX has quit [Client Quit]
Kwiboo has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
CoreX has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6052) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6053) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6054) by B⁠tbN
Meralex has joined #ffmpeg-devel
Meralex has quit [Remote host closed the connection]
Meralex has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20455 Add Windows.Graphics.Capture based video source filter (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20455#issuecomment-6056) by B⁠tbN
microchip_ has quit [Read error: Connection reset by peer]
microchip_ has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
<BtbN> kasper93: the compat/w32pthreads.h actually isn't C++ compatible
<BtbN> though the reason looks trivial
<BtbN> typedef struct pthread_t {} *pthread_t; is invalid in C++
<BtbN> error: conflicting declaration ‘typedef struct pthread_t* pthread_t’
<fjlogger> [FFmpeg/FFmpeg] Issue #20456 opened: Cannot specify hevc_qsv encoding level (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20456) by h⁠maarrfk
GewoonLeon has quit [Ping timeout: 256 seconds]
<Traneptora> BtbN: can you change that to struct ptherad_t { }; typedef struct pthread_t * pthread_t;
<Traneptora> i.e. two statements
<BtbN> I had just renamed the first ont
<BtbN> works fine as well
<BtbN> Pretty sure C++ will be unhappy about your approach as well
<BtbN> cause then pthread_t is defined twice again
<BtbN> once as struct, once as pointer
<BtbN> It only works in C because the first type is "struct pthread_t", and not just pthread_t
<Traneptora> ah, and in C++, "struct foo" is just an alias for "foo" once you define it?
<BtbN> yeah, the whole "struct abc" is not a thing in C++
<Traneptora> same with union and enum?
<BtbN> yes
<BtbN> you always define the type right away in C++
<Traneptora> what if you do, e.g.: typedef struct { int bar; } pthread_t;
<Traneptora> would that work
<BtbN> I've just made it typedef struct w32pthread_t { ... } *pthread_t;
<Traneptora> how do you do anonymous struct pointers then in C++?
<Traneptora> e.g. struct foo; int bar(struct foo *baz); in a header file
<BtbN> that works just fine
<Traneptora> it's specifically the fact that "struct foo" and "foo" are aliased in C++, so there's a collision there that isn't in C?
<Traneptora> we do this all over the codebase though, and in various header files
<BtbN> I don't think they're aliased
<BtbN> and no, we don't do that everywhere
<BtbN> the problem is that it's a _pointer_ to the struct
<BtbN> "typedef struct pthread_t { ... } pthread_t;" would be perfectly fine. "typedef struct pthread_t { ... } *pthread_t;" is not
<Traneptora> ... why does one create a collision and not the other one?
<BtbN> Cause one just defines the type as the same thing twice, which is a normal thing to do
<BtbN> and the later defines the same name as two different things in one line
<Traneptora> is it cause in one case they're identical and in the other case, they're not?
<Traneptora> ah okay
<Traneptora> I see now
<Traneptora> daily reminder that C++ is not a superset of C
<BtbN> I have to say, writing C++ code is somewhat nicer than C, and it's much easier to write safe code
<BtbN> As long as you don't try to use it like C, then it gets worse, cause exceptions can interrupt you anywhere, and if you then don't rely on RAII for your cleanup, you're boned.
<BtbN> I still think C
<BtbN> C++ would benefit from a try {} finally {}
GewoonLeon has joined #ffmpeg-devel
<fflogger> [editedticket] SuRGeoNix: Ticket #10608 ([avcodec] AV1 decoder gets "Static surface pool size exceeded" issue with "-hwaccel d3d11va") updated https://trac.ffmpeg.org/ticket/10608#comment:1
<BtbN> kasper93: we found what's actually going on with the messed up diffs. It seems to happen when you submit a review after the PR was force pushed, but your page having been loaded before the force-push
<BtbN> or push in general
<BtbN> Cause generally it DOES track where a comment was posted originally
<BtbN> It saves an extract of the diff in the DB, and matches that against the new diff, and also shows that part on the PR overview
GewoonLeon has quit [Ping timeout: 256 seconds]
Meralex has quit [Quit: Meralex]
secondcreek has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
HarshK23 has quit [Quit: Connection closed for inactivity]
Kimapr has quit [Remote host closed the connection]
Kimapr has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
jamrial has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20457 opened: WIP: Several improvements around early decoding latency and memory usage of unused inputs (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20457) by h⁠aasn
MisterMinister has quit [Ping timeout: 255 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20458 opened: Add drawvg video filter. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20458) by a⁠yosec
MisterMinister has joined #ffmpeg-devel
<BtbN> interesting, std::mutex on gcc seems to be recursive, while on MSVC it very much is not, ot throws a deadlock exception