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
indecisiveturtle has quit [Ping timeout: 260 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20381 [GSoC 25] lavc: add a Vulkan shader-based ProRes hwaccel (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20381#issuecomment-5069) by j⁠amrial
iive has quit [Quit: They came for me...]
<BtbN> lovely, the graphics capture stuff crashes in an internal thread of it, unless I literally just sleep for a second before uninit.
<BtbN> but obviously only sometimes
<BtbN> and when attaching a debugger only like one out of 100 attempts, cause different timing
<fjlogger> [FFmpeg/FFmpeg] Pull request #20383 merged: avcodec/mfenc: fix memory leak with D3D11 input surfaces (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20383) by B⁠tbN
DauntlessOne4985 has quit [Ping timeout: 260 seconds]
mkver has quit [Quit: Leaving]
veritgo2350 has joined #ffmpeg-devel
veritgo235 has quit [Ping timeout: 260 seconds]
veritgo2350 is now known as veritgo235
SuperFashi has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<kasper93> BtbN: do you RoInitialize init MT mode? and do you release all things correctly before uninit?
<BtbN> I'm trying to at least. If I wouldn't, the sleep wouldn't fix it, right?
<BtbN> The latest code is in the branch I posted in the issue of you want to take a look.
damithag has quit [Ping timeout: 260 seconds]
jamrial has quit []
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 248 seconds]
drv has quit []
drv has joined #ffmpeg-devel
drv has quit []
scat117 has joined #ffmpeg-devel
drv has joined #ffmpeg-devel
indecisiveturtle has joined #ffmpeg-devel
drv has quit [Client Quit]
drv has joined #ffmpeg-devel
damithag has joined #ffmpeg-devel
damithag has quit [Ping timeout: 248 seconds]
SuperFashi has joined #ffmpeg-devel
damithag has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 256 seconds]
ngaullier has joined #ffmpeg-devel
SuperFashi has quit [Ping timeout: 248 seconds]
damithag has quit [Ping timeout: 256 seconds]
SuperFashi has joined #ffmpeg-devel
damithag has joined #ffmpeg-devel
damithag has quit [Ping timeout: 248 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20385 opened: avformat/movenc: remove mvex from final mp4 in hybrid_fragmented mode (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20385) by q⁠uink
HarshK23 has joined #ffmpeg-devel
SuperFashi has quit [Ping timeout: 260 seconds]
SuperFashi has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
damithag has joined #ffmpeg-devel
SuperFashi has quit [Ping timeout: 248 seconds]
SuperFashi has joined #ffmpeg-devel
SuperFashi has quit [Ping timeout: 258 seconds]
SuperFashi has joined #ffmpeg-devel
SuperFashi has quit [Client Quit]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20322 merged: aacencdsp: Improve consistency with assembly, for x87 math (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20322) by m⁠storsjo
Guest65 has joined #ffmpeg-devel
BradleyS has quit [Ping timeout: 260 seconds]
Guest65 has quit [Client Quit]
GewoonLeon has quit [Ping timeout: 258 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20031 AVFrame alpha mode (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20031#issuecomment-5090) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] Pull request #20386 opened: vp9: Add 8bpc intra prediction AVX2 asm (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20386) by g⁠ramner
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5095) by h⁠aasn
GewoonLeon has joined #ffmpeg-devel
microchip_ has quit [Quit: Do coders dream of sheep() ?]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20380 merged: .forgejo/CODEOWNERS: add myself for various files (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20380) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5102) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20366 libavformat/vorbiscomment.c:rm warning ‘%03d’ directive output may be truncated (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20366#issuecomment-5103) by c⁠aifan
microchip_ has joined #ffmpeg-devel
microchip_ has quit [Remote host closed the connection]
microchip_ has joined #ffmpeg-devel
microchip_ has quit [Remote host closed the connection]
microchip_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5104) by h⁠aasn
microchip_ has quit [Remote host closed the connection]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5105) by h⁠aasn
microchip_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5106) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20366 libavformat/vorbiscomment.c:rm warning ‘%03d’ directive output may be truncated (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20366#issuecomment-5107) by m⁠storsjo
damithag has quit [Ping timeout: 258 seconds]
microchip_ has quit [Remote host closed the connection]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5109) by h⁠aasn
microchip_ has joined #ffmpeg-devel
GewoonLeon has quit [Ping timeout: 248 seconds]
BradleyS has joined #ffmpeg-devel
microchip_ has quit [Remote host closed the connection]
jamrial has joined #ffmpeg-devel
microchip_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5110) by h⁠aasn
GewoonLeon has joined #ffmpeg-devel
GewoonLeon has quit [Read error: Connection reset by peer]
GewoonLeon has joined #ffmpeg-devel
minimal has joined #ffmpeg-devel
Guest81 has joined #ffmpeg-devel
Guest81 has quit [Client Quit]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20384 merged: avcodec/mfenc: add AVLowLatencyMode support (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20384) by j⁠amrial
<fjlogger> [FFmpeg/FFmpeg] Pull request #20385 merged: avformat/movenc: remove mvex from final mp4 in hybrid_fragmented mode (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20385) by j⁠amrial
GewoonLeon has quit [Ping timeout: 258 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5115) by h⁠aasn
fjlogger has quit [Ping timeout: 260 seconds]
<BtbN> kasper93: yeah, I don't see anything left unaccounted for. The only reliable way I found to prevent a crash is a long-ish sleep right before RoUninit
fjlogger has joined #ffmpeg-devel
<BtbN> The backtrace of the crash does not touch any FFmpeg code. Though in another thread it's in the middle of RoUninit
<BtbN> But it crashes somewhere in the internals of graphicscapture.dll
<fjlogger> [FFmpeg/FFmpeg:master] CI failed in test.yml for 9a34ddc: avformat/movenc: remove mvex from final mp4 in hybrid_fragmented mode (https://code.ffmpeg.org/FFmpeg/FFmpeg/actions/runs/4536)
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5121) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20366 libavformat/vorbiscomment.c:rm warning ‘%03d’ directive output may be truncated (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20366#issuecomment-5122) by c⁠aifan
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20241 vvc-bdof-rework-2 (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20241#issuecomment-5123) by q⁠uink
<BtbN> Yeah, latest runner is broken
<BtbN> Hopefully 10.0.1 comes out soon
<kierank> lol
<haasn> I now also hit the bug where inline comments appear on the wrong line when viewing individual commit diffs; though strangely enough they are attached to the correct line in the summary / discussion tab
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20136 avformat/movenc: add support for fragmented TTML muxing (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20136#issuecomment-5126) by j⁠eeb
MisterMinister has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20136 avformat/movenc: add support for fragmented TTML muxing (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20136#issuecomment-5128) by j⁠eeb
<JEEB> Traneptora: finally got to responding to your question :)
<Traneptora> JEEB: my question was because it was in movenc.c
<Traneptora> is movenc.c like mov.c where it's actually all of them, or is it just MOV?
paulk has quit [Ping timeout: 260 seconds]
<JEEB> movenc is all of them
<JEEB> QTFF is what ISOBMFF was standardized off of, and there are some very miniscule differences in the base format (the reason why audio descriptor is very funkily worded in ISOBMFF)
<JEEB> I think l-smash's repo contains a listing of the actual differences between QTFF and MP4
<fjlogger> [FFmpeg/FFmpeg] Pull request #20386 merged: vp9: Add 8bpc intra prediction AVX2 asm (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20386) by g⁠ramner
<JEEB> so yea, mov.c is qtff and mp4-likes for demux
<JEEB> and movenc.c is qtff and mp4-likes for mux
<JEEB> due to hysterical raisins
mkver has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5131) by r⁠amiro
<ramiro> I don't understand the pr_labeler failure in pr-20292. is this what's blocking me from approving it?
<ramiro> haasn: for the last commit ("fixup formats.c") the commit message could be improved (I don't know if you plan on using it as an actual fixup to another commit)
<kierank> forgejo ci being crap
<kierank> it's as if people were saying not to use a beta ci system
paulk has joined #ffmpeg-devel
paulk has joined #ffmpeg-devel
_av500_ has quit [Remote host closed the connection]
<haasn> Mb, meant to squash it ofc
LainIwakura has joined #ffmpeg-devel
mkver has quit [Ping timeout: 244 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20387 opened: avfilter/x86/vf_colordetect: fix alpha detect tail handling (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20387) by h⁠aasn
indecisiveturtle has quit [Ping timeout: 248 seconds]
rvalue has quit [Ping timeout: 245 seconds]
LainIwakura has quit [Ping timeout: 250 seconds]
GewoonLeon has quit [Quit: GewoonLeon]
GewoonLeon1 has joined #ffmpeg-devel
GewoonLeon1 has quit [Ping timeout: 256 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20321 merged: avformat: add container level Exif metadata support (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20321) by j⁠amrial
<kasper93> BtbN: is IClosable_Release correct?
<kasper93> isn't IUnknown managing the lifetime of it
<kasper93> I don't really have time to test this code now, maybe in few days, if it's still an issue, can try to help
mkver has joined #ffmpeg-devel
LainIwakura has joined #ffmpeg-devel
ccawley2011_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20387 merged: avfilter/x86/vf_colordetect: fix alpha detect tail handling (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20387) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] Pull request #20301 merged: avfilter/vf_colordetect: add aarch64 asm (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20301) by q⁠uink
LainIwakura has quit [Ping timeout: 250 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5144) by h⁠aasn
GewoonLeon has joined #ffmpeg-devel
LainIwakura has joined #ffmpeg-devel
ccawley2011_ has quit [Ping timeout: 248 seconds]
ccawley2011_ has joined #ffmpeg-devel
LainIwakura has quit [Quit: Client closed]
ccawley2011_ has quit [Ping timeout: 260 seconds]
rvalue has joined #ffmpeg-devel
indecisiveturtle has joined #ffmpeg-devel
LainIwakura has joined #ffmpeg-devel
LainIwakura has quit [Ping timeout: 250 seconds]
realies has quit [Quit: ~]
realies3 has joined #ffmpeg-devel
LainIwakura has joined #ffmpeg-devel
LainIwakura has quit [Client Quit]
realies3 has quit [Quit: ~]
ngaullier has quit [Remote host closed the connection]
realies3 has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20381 [GSoC 25] lavc: add a Vulkan shader-based ProRes hwaccel (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20381#issuecomment-5148) by a⁠verne
<Lynne> haasn: your recent lavfi stuff has broken scale_vulkan for debayering
<Lynne> Impossible to convert between the formats supported by the filter 'graph -1 input from stream 0:0' and the filter 'auto_scale_0' Link 'graph -1 input from stream 0:0.default' -> 'auto_scale_0.default': src: bayer_rggb16le dst: bayer_rggb16le
<haasn> Do you know which commit?
<Lynne> no, sometime between when 8.0 was tagged and now
<Lynne> -vf hwdownload,format=bayer_rggb16le fails wit hthe same error too
<Lynne> but mpv works just fine for some reason
<Lynne> actually mpv is broken too
<Lynne> its definitely a bayer_rggb16 problem
<Lynne> if you need a sample, you could use https://files.lynne.ee/P1000262.MOV
<haasn> thx
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20292 swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292#issuecomment-5157) by h⁠aasn
<haasn> ramiro: (manually) rebased, can you re-approve?
<haasn> one of these days I'm going to have to sit down and convert doc/APIchanges into doc/APIchanges.d
<JEEB> yea some sort of script is needed for that plus the numbers :D
<haasn> BtbN: can we consider allowing self-approval still? maybe just for stuff that I'm the code owner of?
<BtbN> The settings for that aren't nearly that flexible
<BtbN> If it's something trivial you "own", just push
<jamrial> haasn: just sync the pr branch and master locally, then push master. that will close the pr as manually merged with no need for approval
<APic> Some API change, some do not ;=P
* APic a Bit of both
<haasn> jamrial: don't we want to disable the ability to push directly eventually?
<jamrial> i guess
LainIwakura has joined #ffmpeg-devel
<Lynne> not sure how that work work, getting approvals is difficult because no one cares to put their name as a reviewer
<Lynne> and waiting for days to somehow magically get an approval would freeze development so hard to turn it into a dead project
<BtbN> I mean, given that you can always self-push, I could just turn on self-approval
<Lynne> oh, I thought that was not possible
<BtbN> It's possible as a general thing
<BtbN> but not with "only if you own the code"
<BtbN> only a global yes or no for self approval
<haasn> well, maybe for now it would be better to restrict it to manual pushes because it adds more steps / overhead (thus discourages self-approval)?
<BtbN> Ideally self-approval wouldn't be needed. Two pair of eyes on every code change is a good idea
<BtbN> But it's not the reality :/
<BtbN> If you use the rebase button in the PR, existing approvals should stay btw.
<haasn> that doesn't help when there are merge conflicts in doc/APIchanges :)
<BtbN> true
<haasn> Lynne: which commit are you testing that works? because I get the same error on release/8.0
<haasn> or rather, what's the full invocation?
<Lynne> guess that got broken in between tagging, it worked when 8.0 was tagged initially
<Lynne> maybe
<Lynne> ./ffmpeg_g -init_hw_device "vulkan=vk:0" -i P1001124.MOV -vf hwdownload,format=bayer_rggb16le -f null -
mkver has quit [Ping timeout: 255 seconds]
<Lynne> oh...
<Lynne> yeah, nevermind, its 3am
<haasn> FWIW, this error message is misleading and it's on my TODO list to improve; the error here is some other negotiation property besides the format but it only prints the formats on error currently
<haasn> was hoping to do it after the AVFrame.alpha PR lands
<haasn> (still soliciting reviewers for that)
<BtbN> kasper93: you mean to "close" the closable? I call Close right before it.
<kasper93> I mean not to close, because this is release job
<BtbN> Hm, then I don't see an issue. I could use the generic close helper there, true. But it should not cause any issues not to, I never re-use the handle.
<kasper93> close is not refcounted
<kasper93> iunknown release is refcounted
<kasper93> if you close something that has internal reference, things may go wrong
<BtbN> Closing it is how you stop capturing
<BtbN> you then still need to Release the handle you got to it
GewoonLeon has quit [Ping timeout: 248 seconds]
<BtbN> I'm not sure I fully follow. But if you QueryInterface something, the handle it returns has its ref-count increase, so you need to Release it once again
<BtbN> Even if it's technically a handle to the same object
<Lynne> haasn: something's definitely off with the colortemperature filter though
ngaullier has joined #ffmpeg-devel
microlappy has joined #ffmpeg-devel
<Lynne> ffmpeg -i <something> -vf format=yuv420p,colortemperature=5500 -c:v rawvideo -y test.nut results in a bgr0 output, but the output is anything but bgr0
<Lynne> it seems to be outputting yuv420p but the pixfmt is bgr0
GewoonLeon has joined #ffmpeg-devel
<Lynne> so mpv segfaults
<Lynne> and ffmpeg.c outputs broken files
<jamrial> Lynne: that filter doesn't accept yuv420p as input, so a scaler will be autoinserted before it in the filterchain
<Lynne> could the scaler be misconfigured or something?
<jamrial> and it will autoselect rgb0
<jamrial> no, why? i tried and the output is not broken
<Lynne> weird, its broken for me
<Lynne> oh well
microlappy has quit [Remote host closed the connection]
<jamrial> what is this ohcodec openharmony stuff?
<JEEB> huawei's cross-kernel (linux and own kernel) OS libraries I presume
<JEEB> not sure how much of it is open at all in reality
<BtbN> The code seems to be fully open. But obviously not the hardware
<JEEB> is the non-linux kernels stuff open and bootable in A VM or so?
<jamrial> why was a decoder added using it instead of a hwaccel?
<jamrial> i thought we stopped doing the former
<JEEB> we should have at least
<JEEB> I wouldn't be surprised if the chinese community posted and pulled it in
<BtbN> I guess it depends if the hardward/library is even able to act as hwaccel
mkver has joined #ffmpeg-devel
ngaullier has quit [Ping timeout: 258 seconds]
ngaullier has joined #ffmpeg-devel
<BtbN> Do we have any guarantee that all my filter functions are always called from the same thread?
<BtbN> Cause WinRT seems to be rather peculiar with its internal event loop, which it somehow associated to the thread you call RoInitialize on
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20344 avcodec/pcm: use compile-time guards for PCM table init (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20344#issuecomment-5158) by m⁠kver
<kasper93> BtbN: RoInitialize is initializing per thread
<BtbN> Well, so what happens if the filters request_frame function is then called on a different thread? I don't think the API forbids this
<BtbN> this basically means I _HAVE_ to put any and all winrt interactions into my own thread, and somehow get frames out of it
<kasper93> > Use the RoInitialize function to initialize a thread in the Windows Runtime. All threads that activate and interact with Windows Runtime objects must be initialized prior to calling into the Windows Runtime.
<BtbN> Well, so that means implementing Graphics.Capture in FFmpeg is impossible
<BtbN> cause we have no way to impose that requirement on callers
<BtbN> The FFmpeg api says "as long as nothing accesses a context from two threads in parallel, you're good"
ngaullier has quit [Ping timeout: 260 seconds]
<BtbN> So a graphics capture based filter would only every work by chance
<BtbN> and it would likely also explode if someone tried to create a second one from the same thread
<BtbN> the hell kinda wonky API is this
<kasper93> just need to call init per thread once, it's not impossible
<kasper93> also users doesn't need to interact with this api
<BtbN> No, that's not how it works
<kasper93> only ffmpeg does
<BtbN> Users interact with the FFMpeg api
<BtbN> and if the FFmpeg api suddenly demands that you cannot switch thread for this one filter, there is no good way to communicate it
<kasper93> ffmpeg api is not related to winrt at all
<BtbN> It would suddenly become if it uses WinRT stuff like this
<BtbN> Cause you need to RoInitialize the thread, which only works once
<BtbN> if you call it a second time on the same thread, it fails
<kasper93> it doesn't fail
<BtbN> and then also create a dispatcher queue for the thread, which you can only do once or it fails
<kasper93> it returns S_FALSE which is success
<kasper93> for already initualized
<BtbN> And then safe uninit becomes virtually impossible as well
<kasper93> also there is dozen solutions to provide thread safety in ffmpeg
<BtbN> cause you would somehow need to know if another filter uses this thread, or the user themselves do winrt stuff on it
<BtbN> You don't seem to understand the problem
<BtbN> This entire API uses state local to the current thread everywhere
<BtbN> it assumes there is a Dispatcherqueue event loop running for it somewhere
<BtbN> and all works is done inside of it
<kasper93> you, and you control what IS current thread
<BtbN> No I don't
<BtbN> I get called on some thread out of my control
<kasper93> you cannot create threads in ffmpeg?
<kasper93> thats a new one
<BtbN> That doesn't help me get frames to the user
<BtbN> I eventually HAVE to call functions on the thread the request_frame function is called on
<kasper93> frames are on d3d11 context it's not winrt
<BtbN> No, they use a WinRT specific D3D11 API
<BtbN> The frame that comes out of there is a IDirect3DSurface
<BtbN> which is a WinRT API
<BtbN> There is just no way to get a frame out of there on a thread that's not "The WinRT thread"
<BtbN> so if the user calls request_frame on another thread, it's just impossible
Flat_ has joined #ffmpeg-devel
<BtbN> I also cannot just copy it to a D3D11 texture in a background thread
Flat has quit [Ping timeout: 248 seconds]
<BtbN> since that would have to happen on the HWDeciveContexts D3D11 Context, and interacting with a D3D11 Device Context is not thread safe
<BtbN> The more I look at it, the fewer options I see. I think it might legitimately be impossible to implement this in a library
sm2n_ has joined #ffmpeg-devel
haasn_ has joined #ffmpeg-devel
mindfreeze_ has joined #ffmpeg-devel
srikanth- has joined #ffmpeg-devel
sfan5_ has joined #ffmpeg-devel
vjaquez- has joined #ffmpeg-devel
tortoise_ has joined #ffmpeg-devel
Labnan- has joined #ffmpeg-devel
mindfreeze has quit [Ping timeout: 248 seconds]
tortoise has quit [Ping timeout: 248 seconds]
rcombs has quit [Ping timeout: 248 seconds]
sm2n has quit [Ping timeout: 248 seconds]
srikanth has quit [Ping timeout: 248 seconds]
jdarnley has quit [Read error: Connection reset by peer]
nevcairiel has quit [Read error: Connection reset by peer]
dlb76 has quit [Write error: error:80000068:system library::Connection reset by peer]
jannau has quit [Ping timeout: 248 seconds]
Labnan has quit [Ping timeout: 248 seconds]
lexano has quit [Ping timeout: 248 seconds]
keith has quit [Ping timeout: 248 seconds]
vjaquez has quit [Ping timeout: 248 seconds]
haasn has quit [Ping timeout: 248 seconds]
tortoise_ is now known as tortoise
vjaquez- is now known as vjaquez
mindfreeze_ is now known as mindfreeze
haasn_ is now known as haasn
dlb76 has joined #ffmpeg-devel
jannau has joined #ffmpeg-devel
AMM has quit [Read error: Connection reset by peer]
nevcairiel has joined #ffmpeg-devel
another| has quit [Ping timeout: 248 seconds]
sfan5 has quit [Ping timeout: 248 seconds]
jdarnley has joined #ffmpeg-devel
sfan5_ is now known as sfan5
AMM has joined #ffmpeg-devel
another| has joined #ffmpeg-devel
rcombs has joined #ffmpeg-devel
sm2n_ is now known as sm2n
keith has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20292 merged: swscale: new ops framework / backend (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20292) by h⁠aasn
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Client Quit]
ngaullier has joined #ffmpeg-devel
ccawley2011_ has joined #ffmpeg-devel
lexano has joined #ffmpeg-devel
<kasper93> IDirect3DSurface is only interop to get IDXGISurface which is not winrt. User is not concerned about winrt if it would wrapped inside.
<BtbN> But I can only get it on the WinRT thread, since I very much do get it from the WinRT graphics capture APIs
<BtbN> And I don't see a way to get it out of the thread
<BtbN> Only thing I can hope is that the FrameQueue, which can be created in a FreeThreaded way, is cool with being called on another thread
<BtbN> then the request_frame callback can work as usual, and everything else runs in a background thread
<haasn> hurrah, new libswscale landed
<haasn> still no subsampled support, that's for STF 2025 :)
<haasn> what is the expected behavior of acrossfade if one input is shorter than the crossfade duration?
<wbs> haasn: so what's the status of the new swscale; does all swscale use the new backend stuff now, or are both variants in place side by side?
<wbs> i.e. did things get faster/slower, and do other architectures need to fill in new asm now, etc?
<haasn> wbs: currently need -sws_flags unstable
<haasn> most things should be faster on x86, other archs might be slower
<haasn> ramiro: is working on a NEON backend
<wbs> nice
<haasn> both variants are in place side by side for the time being, but I highly encourage testing and reporting bugs and speed regressions
<haasn> expect not bit-exact output
<wbs> is it covered by fate tests?
<haasn> not directly at the moment; would require updating all fate tests due to not bit exact dither patterns
<wbs> does it rely on compiler vectorization for decent perf, or does the x86 asm cover that entirely?
<haasn> it does not rely on compiler vectorization for x86
<haasn> it does rely on it for other platforms but the performance gain is limited because I decided to simplify the C backend to serve as more of a reference
<haasn> rather than worrying about the performance of it
<haasn> of course, most parts of swscale that this is replacing are also written in C :)
<haasn> since atm it basically just covers the unscaled special converters, which are all/mostly C code
<wbs> ok; and did I understand/remember correctly that the asm is mostly small snippets for various pieces of kernels - not needing to write 100 different conversion functions for each arch, like in old swscale?
<haasn> scaling still goes through the old asm
<haasn> yeah
<wbs> that's very nice
<haasn> well, you now need to write 100 different asm snippets; but they will combine to support new formats for free :)
<haasn> a case study: bgrp10msbbe etc were recently added and are currently broken in swscale
<haasn> the total effort to add it to the new backend was about 30 seconds of adding a new case label to two functions in swscale/formats.c
<haasn> just defining the component order (B, G, R) and the shift (6)
<haasn> between A) error out; B) crossfade over a shorter duration; and C) continue producing broken output; which would you prefer? re: acrossfade and short input files
<haasn> I'm leaning B > A > C
s55 has quit [Quit: Bye]
s55 has joined #ffmpeg-devel
damithag has joined #ffmpeg-devel
<Compn> wont you upset people by producing broken output
ccawley2011__ has joined #ffmpeg-devel
<Compn> pitchfork-userclass
ccawley2011_ has quit [Ping timeout: 260 seconds]
GewoonLeon has quit [Ping timeout: 256 seconds]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
ccawley2011__ has quit [Ping timeout: 258 seconds]
lemourin has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
ccawley2011__ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20388 opened: Generalize acrossfade filter to support multiple inputs (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20388) by h⁠aasn
ccawley2011__ has quit [Ping timeout: 248 seconds]
<ramiro> wbs: this is the current work in progress using asmjit in case you're interested: https://github.com/ramiropolla/ffmpeg/commits/swscale8/
<ramiro> hopefully the proposal is accepted for stf and I can focus on making it work for non-jit, and then later get back to jit with a more c-friendly library.
damithag has quit [Ping timeout: 258 seconds]
ngaullier has quit [Remote host closed the connection]
<BtbN> Is there something I need to do to compile a .cpp file in FFmpeg? It does invoke g++, but it passes it a bunch of unsupported options. I don't fully understand how decklink gets away with it.
<BtbN> Like, it passes -std=c17 to g++
GewoonLeon has quit [Ping timeout: 248 seconds]
<BtbN> It's especially unhappy that /usr/lib/gcc/x86_64-w64-mingw32/14/include/g++-v14/x86_64-w64-mingw32/bits/c++config.h:670:2: warning: #warning "__STRICT_ANSI__ seems to have been undefined; this is not supported"
<BtbN> And yeah, configure really does undefine that in cppflags
damithag has joined #ffmpeg-devel
mkver has quit [Ping timeout: 260 seconds]
damithag has quit [Ping timeout: 248 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20362 Tee muxer makes the DASH muxer generated manifests with invalid video codec value for h264/avc1 streams (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20362#issuecomment-5172) by c⁠us
<BtbN> Why does the build-system pass all CFLAGS to the C++ compiler as well. Huh
<BtbN> It seems to be intentional, and it breaks a ton of stuff
<BtbN> Shouldn't flags meant for both instead just go into cppflags?
<fjlogger> [FFmpeg/FFmpeg] Pull request #20389 opened: lavc/librsvgdec: Fix compilation with librsvg 2.50.3. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20389) by L⁠astique
mkver has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
damithag has joined #ffmpeg-devel
blb has quit [Quit: brb]
damithag has quit [Ping timeout: 258 seconds]
blb has joined #ffmpeg-devel
Arcitec has quit [Remote host closed the connection]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20390 opened: Various small things in regarding URL options (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20390) by c⁠us
LainIwakura has quit [Ping timeout: 250 seconds]
mkver has quit [Ping timeout: 248 seconds]