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
hmyers has quit [Quit: Leaving]
_whitelogger has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 265 seconds]
Martchus has joined #ffmpeg-devel
Martchus_ has quit [Ping timeout: 272 seconds]
DauntlessOne4 has quit [Ping timeout: 248 seconds]
cone-565 has joined #ffmpeg-devel
<cone-565>
ffmpeg James Almer master:038314bc6be2: avcodec/exr: reindent after the previous change
jamrial has quit []
Guest23 has joined #ffmpeg-devel
<Guest23>
Hello , I just sent a patch to ffmpeg-devel but my email neither seems to be archived nor do I see mypatch in patchworks. I am subscribed with my corporate ID chdeysar@microsoft.com
<Guest23>
Is there anyone who might be able to provide guidance?
chdey_Microsoft has joined #ffmpeg-devel
<compn>
yes
<compn>
Guest23, / chdey_Microsoft did you check your spam folder ?
<compn>
there might be a mail you have to reply to to get your message posted
<compn>
Guest23 / chdey_Microsoft please try sending your mail again. i didnt see you in the member list. i have added you manually.
<chdey_Microsoft>
Let me check
<Guest23>
Sent ---> [PATCH] Boost FPS and performance: Optimize vertical loop for cache-friendly access [libavcodec/jpeg2000dwt.c:dwt_decode97_float] From : chitra.dey@microsoft.com
<compn>
well i addeed chdeysar@microsoft.com , now i've added citra.dey@microsoft.com
<compn>
was there a mail in your spam folder from ffmpeg.org ?
<compn>
oops i typo. yes. but i copy and pasted it correctly when adding it :)
<Guest23>
was there a mail in your spam folder from ffmpeg.org - Nope . Is there a way for me to test that I am able to send emails without sending a patch ? Should I try a test email?
<compn>
yes send a test mail
rvalue has joined #ffmpeg-devel
<compn>
Error subscribing:
<compn>
chitra.dey@microsoft.com -- Already a member
chdey_Microsoft has quit [Ping timeout: 240 seconds]
<Guest23>
Are you seeing this patch [EXTERNAL] [PATCH 1/2] Boost FPS and performance: Optimize vertical loop for cache-friendly access [libavcodec/jpeg2000dwt.c:dwt_decode97_float]
<compn>
your test mail came through, but i dont see your jpeg2000 patch, no
<compn>
want to try sending it again ? are you using git send patch or how are you sending it ?
<Guest23>
With an eml via outlook
<Guest23>
Let me retry
<Guest23>
I believe it came through . Thanks a zillion for the help!
<Guest23>
Do you guys have a turnaround time for the review? Its a small change
Guest36 has quit [Ping timeout: 240 seconds]
<compn>
previous jpeg2000 patches i've seen have about a 6 day response time. depending on developer activity and free time
<Guest23>
Awesome. See you guys . have a great day!
<compn>
yes, thank you for the patch!
<compn>
Guest23, i subscribed you , but my question is, do you want to see mails from all of ffmpeg-devel? or i can set the nomail flag, so you dont get a bunch of ffmpeg-devel mails. its up to you
<compn>
or feel free to ask here if that does not work :)
<Guest23>
Perfect. Thanks!
<Guest23>
Will do :)
<compn>
are you working on jpeg2000 stuff? should we expect more patches in the future? :)
<Guest23>
We at Microsoft are looking to optimize as much as possible so yes. Btw how often do you guys have official stable releases?
<compn>
good question :)
<compn>
michaelni would know the answer to that
<compn>
i think its about 6am in europe right now. many devs are sleeping. i'm in hawaii so its 6pm for me.
<Guest23>
Nice its around 9pm in California
<Guest23>
Ill try and log back in with my real username perhaps tomorrow
<Guest23>
This was my first time with this tool
<compn>
irc or ffmpeg? ehe
<compn>
there is a jpeg2000 conformance testsuite. i assume you tested your patch against that testsuite to make sure that the decoder is bitexact before/after ?
<compn>
i dont remember if our decoder passes the testsuite either
<compn>
it should ?
<Guest23>
IRC
<compn>
ah yes. irc is quite old technology
<compn>
we at ffmpeg were wondering what new developers like to use to collaborate / communicate with. discord? teams? something else
<Guest23>
Would make fate cover it?
<Guest23>
Do these messaged go to the full group? Or do people have to opt in like you did
<compn>
yes make fate would probably be good. i cant remember how much jpeg2000 code coverage we have
<compn>
i'm the mailing list admin helping people to subscribe. our ffmpeg mails end up in spam folders . ideally a person would have sent a message to ffmpeg-devel, and then it would ask you to subscribe, and it would subscribe you. but sometimes mails get deleted in between. due to spam filtering and outdated software.
<compn>
anyways, no worries. see you tomorrow or later!
<Guest23>
Oh , I did get that email yes .
<Guest23>
Yes see you later Thanks again for everything
Guest23 has quit [Quit: Client closed]
_whitelogger has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
AtleoS has joined #ffmpeg-devel
_av500_ is now known as av500
av500 is now known as _av500_
_av500_ is now known as av500
rvalue has quit [Ping timeout: 265 seconds]
cone-565 has quit [Quit: transmission timeout]
AtleoS has quit [Quit: AtleoS]
rvalue has joined #ffmpeg-devel
quietvoid has quit [Ping timeout: 245 seconds]
quietvoid has joined #ffmpeg-devel
Kei_N has joined #ffmpeg-devel
Kei_N_ has joined #ffmpeg-devel
Kei_N has quit [Ping timeout: 248 seconds]
kode541 has joined #ffmpeg-devel
kode54 has quit [Ping timeout: 245 seconds]
kode541 is now known as kode54
halloy5771 has joined #ffmpeg-devel
halloy5771 has quit [Client Quit]
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (osmium.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest4883
Guest4883 has quit [Killed (platinum.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest8985
Guest8985 has quit [Killed (molybdenum.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
Guest71 has joined #ffmpeg-devel
abdo has joined #ffmpeg-devel
Guest71 has quit [Quit: Client closed]
jarthur has quit [Quit: jarthur]
Guest59 has joined #ffmpeg-devel
Guest59 is now known as CITIZENDOT
<haasn>
is hardcoded tables not the default?
<haasn>
should I try and cache my generated noise textures when not using that option?
<CITIZENDOT>
Hello, I am Appaji, how to get my patch reviewed?
<Lynne>
haasn: nope, not the default
<Lynne>
thery were always ugly IMO and these days cutting down on binary size seems to be in style
CITIZENDOT has quit [Quit: Client closed]
<haasn>
in this case, the tables are around 170K in size and mostly just take a bit to compute (a good few dozen to hundred ms at the largest size)
mkver has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
kasper93 has quit [Ping timeout: 276 seconds]
<Lynne>
haasn: there's something odd happening when I looked into the copy code
<Lynne>
most of the time is spent in vkAllocateMemory
<Lynne>
we can't cache host mappings, and I presume libplacebo doesn't either?
<Lynne>
the host copy extension is faster, but only when doing nothing
<Lynne>
as soon as you start encoding, or have a more complex filter, performance drops by a few percent
<Lynne>
and the libplacebo speedup goes away too
<Lynne>
but still, why would vkallocatememory have that much overhead when mapping, and only for ffmpeg
<haasn>
libplacebo doesn't cache host mappings, the only thing we do that's a bit hacky is rounding the memory regions up to the nearest page size
rvalue has quit [Ping timeout: 276 seconds]
<Lynne>
yeah, we do that too
<haasn>
any difference in the pNext chain?
rvalue has joined #ffmpeg-devel
<Lynne>
just a VkImportMemoryHostPointerInfoEXT
Traneptora has joined #ffmpeg-devel
Anthony_ZO has quit [Ping timeout: 265 seconds]
Coinflipper has quit [Quit: ]
Coinflipper has joined #ffmpeg-devel
rvalue has quit [Read error: Connection reset by peer]
pross-au has quit [Ping timeout: 252 seconds]
kasper93 has joined #ffmpeg-devel
pross has quit [Ping timeout: 272 seconds]
rvalue has joined #ffmpeg-devel
minimal has joined #ffmpeg-devel
cone-825 has joined #ffmpeg-devel
<cone-825>
ffmpeg Nuo Mi master:62f3d7e0275d: x86/vvcdec: misc, reordered functions in dsp_init for improved readability
<cone-825>
ffmpeg Shaun Loo master:dbd859a1866f: x86/hevcdec: sao, refact out h26x macros
<cone-825>
ffmpeg Shaun Loo master:bed176995787: x86/vvcdec: sao, add avx2 support
<cone-825>
ffmpeg Shaun Loo master:69f63c6210f5: x86/hevcdec: refact, remove duplicate code in HEVC_SAO_{BAND, EDGE}_FILTER
<cone-825>
ffmpeg Shaun Loo master:45bea45c7b57: checkasm: add vvc_sao
<cone-825>
ffmpeg Nuo Mi master:5150d26e0af2: checkasm: hevc sao_edge, benchmarking inside the width loop is meaningless
<cone-825>
ffmpeg Nuo Mi master:30048358501c: checkasm: hevc sao, use checkasm_check_padded
DauntlessOne49 has joined #ffmpeg-devel
<cone-825>
ffmpeg James Almer master:3f9420132441: avformat/iamf_parse: increase PutBytes buffer when writing AAC extradata
<fflogger>
[editedticket] citizendot: Ticket #11482 ([ffplay] Using the shortcut key "f" does not toggle fullscreen when using ffplay) updated https://trac.ffmpeg.org/ticket/11482#comment:2
appaji has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
<fflogger>
[editedticket] oromit: Ticket #11482 ([ffplay] Using the shortcut key "f" does not toggle fullscreen when using ffplay) updated https://trac.ffmpeg.org/ticket/11482#comment:4
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (mercury.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
mkver has quit [Remote host closed the connection]
<fflogger>
[editedticket] citizendot: Ticket #11482 ([ffplay] Using the shortcut key "f" does not toggle fullscreen when using ffplay) updated https://trac.ffmpeg.org/ticket/11482#comment:5
appaji is now known as citizendot
<haasn>
Lynne: I think for the GPU backend, the best approach actually would be to write a "library" of microops in GLSL/HLSL/whatever and compile it to SPIR-V at build time
<haasn>
then, at runtime, construct a main function that is just a series of OpFunctionCall to each primitive in sequence
<haasn>
that's basically the exact same approach we use for the SIMD backends; it's nice since you end up with just a table of microops and you can write them in a high level language
<haasn>
it will more importantly be much more maintainable
cone-825 has quit [Quit: transmission timeout]
Traneptora has joined #ffmpeg-devel
ChitraMicrosoft has joined #ffmpeg-devel
uau_ has joined #ffmpeg-devel
uau has quit [Ping timeout: 248 seconds]
microchip_ has quit [Read error: Connection reset by peer]
minimal has joined #ffmpeg-devel
<IndecisiveTurtle>
mkver: I was rechecking all reviews again on the VC-2 patchset and saw your comment about put_vc2_ue_uint_inline not needing to be the header. Problem is I'm not sure how to move it out of there without duplicating it in both vc2enc.c and vc2enc_common.c or un-inling the vc2enc.c call site which our commit says is a hot path
<IndecisiveTurtle>
*our->your
ChitraMicrosoft has quit [Quit: Client closed]
microchip_ has joined #ffmpeg-devel
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (zinc.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<Lynne>
haasn: we can't link multiple chunks of SPIR-V together
<Lynne>
I don't want to use ubershaders either
<Lynne>
if its feasible to directly output SPIR-V, I'd rather do that
<haasn>
one immediate solution to the linking problem would be to use specialization constants to choose the kernel for each iter
<haasn>
but yeah
<haasn>
I was thinking we'd just use the compiled SPIR-V module as a base and add in our main function
<IndecisiveTurtle>
Spirv modules have a lot of prelude stuff like Ids for shader types, constants, it might be difficult to combine modules with these, but not impossible. You just have to parse the entire thing, split into chunks and recombine with with modifications
kasper93 is now known as Guest475
kasper93_ has joined #ffmpeg-devel
Guest475 has quit [Killed (lithium.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<IndecisiveTurtle>
Maybe making a lightweight IR, emitting the microops in that and having a thin spirv backed for that would work too
microlappy has joined #ffmpeg-devel
<IndecisiveTurtle>
I've seen a project that does that, but also has a huge .glsl file for its "opcodes" which it compiles into spirv with glslang and then deserializes it into that IR
<BtbN>
does spir-v not have a linking stage?
<BtbN>
With NVPTX, you can make a pre-compiled function for every single one of those "Ops", then generate PTX that just calls all of them in one kernel, send all those modules to the linker, and it compiles the actual shader code
<kepstin>
iirc the standard use case for graphics shaders is to effectively "staticly" link everything into a single spir-v module
<BtbN>
Yeah, but all graphics shaders have at least two compilation steps
<kepstin>
but i'm not familiar with whether any of the compilation tools have an intermediate object format.
<BtbN>
one intermediate language, and then the actual machine code that runs on the hardware
<BtbN>
where the driver generates the later from the former
<BtbN>
I thought SPIR-V and NVPTX to sit at the same level there
<kepstin>
yeah, for the graphics driver compiler the input is "a spir-v module"
<IndecisiveTurtle>
Mesa generates nir from spirv from then isa code
<IndecisiveTurtle>
Khronos does provide a spirv linker iirc in spirv-tools
<BtbN>
And there is no option to link together multiple modules?
<IndecisiveTurtle>
It says that there is, but I've never tried it
<IndecisiveTurtle>
It also says "Note: The linker is still under development." so I'm unsure of its stability
tufei__ has quit [Remote host closed the connection]
<kepstin>
apparently in llvm they do it by transforming the spir-v back to llvm ir, combining that, then retranslating to spir-v. https://reviews.llvm.org/D116266#3769870
<IndecisiveTurtle>
That sounds... not cheap
<kepstin>
they have the tooling to convert spir-v to llvm ir anyways, since that's used when llvm is compiling to the hardware instruction set in a graphics driver.
<kepstin>
(although i don't know if that's actually used, or if mesa does its own thing?)
<IndecisiveTurtle>
I think the amd proprietery compiler uses llvm
<IndecisiveTurtle>
Or well the amd provided one on linux, cause its open source so not proprietary
tufei has joined #ffmpeg-devel
tufei has quit [Remote host closed the connection]
tufei has joined #ffmpeg-devel
microlappy has quit [Quit: Konversation terminated!]
microlappy has joined #ffmpeg-devel
microlappy has quit [Quit: Konversation terminated!]
microlappy has joined #ffmpeg-devel
microlappy has quit [Client Quit]
citizendot has quit [Quit: Konversation terminated!]
<Lynne>
BtbN: spirv has linking, all the tooling is simply not built for it
<Lynne>
slang has support for it, and is more meant for runtime generation, unfortunately slang also expects you to statically link it and embed it since they change the spec at 3 o'clock every day
<BtbN>
I'd have thought the support for it sits in the driver
<BtbN>
it takes various NVPTX module, and links them into one binary in machine code
<kepstin>
apparently opencl supports linking, but graphics drivers don't
<kepstin>
supports linking spir-v
<BtbN>
hm, but something, somewhere has to convert spir-v into machine code
<kepstin>
right, but graphics drivers take a single spir-v module, and use that as input. "linking" as such is done in the generation of the spir-v module, before it's provided to the driver.
<BtbN>
I also wanted to look into implementing a printf() function for the clang-based CUDA compilation
<BtbN>
but no idea how nvcc does it. It spawns A LOT of code for each printf
ChitraMicrosoft has joined #ffmpeg-devel
ChitraMicrosoft has quit [Client Quit]
<kepstin>
yeah, that sort of thing sounds like a pain. I'd assume it needs to set up some sort of memory buffer to write logs into from the shader which is monitored by cpu side software to pull out the logs and display them.
<Lynne>
vulkan has an instruction that's basically "printf"
<Lynne>
validation layers can implement it on the GPU side, or drivers can
<Lynne>
RADV recently got support for it so its faster than loading the 100meg stripped validation layer binary
<Lynne>
*spirv
<BtbN>
"filters.texi:23738: warning: no htmlxref.cnf entry found for `ffmpeg-utils'" what's with all these warnings? I never saw those before. There's hundreds of them.
<jamrial>
BtbN: did you update your toolchain? last change to doc/ was a week ago
<BtbN>
I'm using whatever an up-to-date gentoo has here
<jamrial>
actually, i see them too
cone-252 has joined #ffmpeg-devel
<cone-252>
ffmpeg Timo Rothenpieler master:889e7f2c5c53: compat/cuda: add device side printf function
<BtbN>
turns out its trivial. Clang already does all the heavy lifting.
uau_ is now known as uau
Coinflipper has quit [Quit: ]
Coinflipper has joined #ffmpeg-devel
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest2086
Guest2086 has quit [Killed (copper.libera.chat (Nickname regained by services))]
<BtbN>
I have close to zero experience with that stuff, so I'm not sure what's correct there and what isn't :/
<jamrial>
same, i just googled and wrote that based on what seemed the most likely solution :p
<BtbN>
I'm sure this wall of warnings would have been noticed during any patch review, so I guess it's something external that changed
<jamrial>
yeah, since you see it in gentoo and i see it with msys2 (both rolling release), i guess it's something recently introduced to texi2html
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest6210
Guest6210 has quit [Killed (tungsten.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (osmium.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<ePirat>
Do we not have any helper to copy AVFilterLink properties?
<jamrial>
the API user is meant to fetch such values with buffersink
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest5176
Guest5176 has quit [Killed (tungsten.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<ePirat>
jamrial, I mean for filters
<jamrial>
oh
<jamrial>
don't think so
ChitraMicrosoft has joined #ffmpeg-devel
<ePirat>
also using FILTER_SINGLE_PIXFMT for a filter that has a audio and video input just asserts apparently
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (osmium.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<ePirat>
also apparently there was some regression or maybe intentional change that now for such a filter it will not filter all frames anymore...
kasper93__ has joined #ffmpeg-devel
kasper93 is now known as Guest5421
Guest5421 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
kasper93__ is now known as kasper93
<BtbN>
I read multiple issues regarding frames getting eaten here and there
<BtbN>
But never anything concrete to go after
<ePirat>
I get 9593 frames vs 9615
<ePirat>
chaining similarly written filters makes it worse apparently
<kepstin>
i've run into issues with filter chain reinitialization (due to e.g. resolution changing) losing frames on any filter which buffers frames
<kepstin>
not sure if there's any good solution to that
<ePirat>
not even buffering anythign in my case
<ePirat>
not even touching the frames at all
<ePirat>
(meta only filter)
<BtbN>
Is still still fallout from ffmpeg.c threading?
<BtbN>
Like, it almost has to be buffers getting dropped instead of flushed _somewhere_
arch1t3cht5 has joined #ffmpeg-devel
Lynne has quit [Ping timeout: 244 seconds]
arch1t3cht has quit [Read error: Connection reset by peer]
arch1t3cht5 is now known as arch1t3cht
kasper93 has quit [Ping timeout: 248 seconds]
kasper93_ has joined #ffmpeg-devel
kasper93_ is now known as kasper93
kasper93 has quit [Client Quit]
Lynne has joined #ffmpeg-devel
<ePirat>
BtbN, it seems it finishes as soon as its done with all audio packets
<ePirat>
dropping all remaining video frames
kasper93 has joined #ffmpeg-devel
kasper93_ has joined #ffmpeg-devel
kasper93 is now known as Guest5807
Guest5807 has quit [Killed (tantalum.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
<ePirat>
ffmpeg_filter.c is quite something…
<ePirat>
my brain hurts
<ePirat>
BtbN, seems it is
<BtbN>
I started at that file as well a while ago, but didn't have the time to understand it
<ePirat>
it gets an EOF sending the frame, sets that input to EOF in the scheduler / fq but then seems tries to get data from that input on next receive and stops the filter thread
<BtbN>
Wasn't there a patch that fixed something along those lines recently?
<BtbN>
That vaguely sounds familiar.
<ePirat>
I will check if I can reproduce on master
<BtbN>
it's not merged iirc
<BtbN>
And I can't find the patch right away
<BtbN>
but it does sound familiar
<ePirat>
I will dig then
<ePirat>
hmm cant find anything either
<BtbN>
I could swear there was something about send/recv not being called correctly, also inside of that huge file
tufei has quit [Remote host closed the connection]
tufei has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
Anthony_ZO has joined #ffmpeg-devel
cone-252 has quit [Quit: transmission timeout]
Anthony_ZO has quit [Remote host closed the connection]