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.0 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
System_Error has quit [Remote host closed the connection]
Gramner has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
IndecisiveTurtle has quit [Ping timeout: 240 seconds]
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
HarshK23 has quit [Quit: Connection closed for inactivity]
iive has quit [Quit: They came for me...]
mkver has quit [Ping timeout: 260 seconds]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
arch1t3cht8 has joined #ffmpeg-devel
arch1t3cht has quit [Ping timeout: 260 seconds]
arch1t3cht8 is now known as arch1t3cht
lemourin has joined #ffmpeg-devel
jamrial has quit []
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 240 seconds]
<rajivharlalka> trying my hand on the smallASMTask and converting the fpel.asm file. wanted to understand what does it essentially do, would be easier to understand the assembly then.
ramiro has quit [Ping timeout: 252 seconds]
ramiro has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
rossy has quit [Remote host closed the connection]
rossy has joined #ffmpeg-devel
<rajivharlalka> kierank: I have some trouble understanding your commit: https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=40c5c19eac21025d1538250926761e8e960e6c81 in the asm file.
<JEEB> aand git bisect brings me to d119ae2fd82a494d9430ff4d4fc262961a68c598 :D
<JEEB> that brought the file input + filter_complex case to the same level as just the filter_complex
<rajivharlalka> Referencing from here: https://blogs.gnome.org/rbultje/2017/07/14/writing-x86-simd-using-x86inc-asm/#:~:text=movdqa%20%20%20%20xmm0%2C%20%5Brdi%5D ; on your commit you changed mm0 register to m0 which looks quite opposite of what's mentioned in the blog for converting from mmx to sse2
<JEEB> but since this was previously broken with just filter_complex I guess it makes sense to check where that test case started breaking
Krowl has joined #ffmpeg-devel
rajivharlalka has quit [Quit: The Lounge - https://thelounge.chat]
rajivharlalka has joined #ffmpeg-devel
<JEEB> ok, since release/6.0 is good, this stuff originally broke around 2023 :D
<beastd> JEEB: one year closer to finding the culprit :)
<beastd> It always sucks if stuff goes broken undetected for a long time :-/
<JEEB> at least the actual use case that broke for me I noticed for the first time within the same month, in december. but I didn't have time to dig into it until now
georgereynolds8 has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
ngaullier has joined #ffmpeg-devel
ngaullie has joined #ffmpeg-devel
<JEEB> hah, got the wrong command for the filter chain only case :P
<JEEB> so that was already bork at 6.0
ngaullier has quit [Ping timeout: 252 seconds]
<JEEB> yea with correct command 5.1 is also bork
<frankplow> rajivharlalka: kierank is not online
<Lynne> he is, just not on this channel
<Lynne> you can pm him directly or on #dav1d
<JEEB> 5.0 bork as well, fun
Krowl has joined #ffmpeg-devel
<JEEB> alright, 4.4 as well
HarshK23 has joined #ffmpeg-devel
<JEEB> 4.3 is also bork :D
<JEEB> inb4 the "just filter_complex" case was always broken
<JEEB> yup, 4.2 also bork
<JEEB> 4.1 also :D
<JEEB> so basically elenril's d119ae2fd82a494d9430ff4d4fc262961a68c598 made ffmpeg cli work the same way for cases with or without an input file, causing the ages-old bug to surface
<JEEB> alright, 4.0 is also bork
<JEEB> 3.4 also :)
<JEEB> 3.3 being old enough that disable-autodetect is no longer a thing :)
<Lynne> which bug is that?
<JEEB> somewhat minimized it's like this: `ffmpeg -filter_complex "testsrc2=r=24:d=10:s=1280x720,split=4[video_input0][video_input1][video_input2][thumbnail_input];[video_input0]scale=3840:2160[output0];[video_input1]scale=1920:1080[output1];[video_input2]scale=1280:720[output2];[thumbnail_input]select='eq(key\\,1)',fps=1/60:round=up:start_time=0[thumbnail_output]" -map '[output0]' -f null pipe: -map
<JEEB> '[output1]' -f null pipe: -map '[output2]' -f null pipe: -map '[thumbnail_output]' -f null pipe:`
<JEEB> probably happens even if you have 1 or two of the normal outputs
<JEEB> and then one of those being "slower" to push out frames
<JEEB> I only noticed this one in 2023-12 since d119ae2fd82a494d9430ff4d4fc262961a68c598 made ffmpeg cli work similarly between this filter_complex only case, and having an input
<Lynne> what happens, does ffmpeg freeze?
<JEEB> effectively yea, memory ballooning
<JEEB> activate then starts yelling that it has 100 frames, 1000 frames etc
<Lynne> oh, right, that warning
<JEEB> this was my initial write-up on Friday https://megumin.fushizen.eu/random/ffmpeg_buffersink_buffering.txt
<JEEB> so the first command seems to have been broken for ages
<JEEB> but the second one only broke in december since the commit most likely makes the two use cases behave similarly
<Lynne> almost everything's been rewritten over the years
<Lynne> except the lavfi core scheduling code, and buffersrc/sink, I guess
<JEEB> I noticed this when testing recent FFmpeg versions for some live streaming configurations where there is both normal outputs as well as a slower thumbnail output
<JEEB> and was getting delicious OOM
<JEEB> yea, given that I've now gone back all the way to April 2017 (3.3), I think this might have been some sort of general issue since whatever got added (the activate synchronization thing? no idea)
<JEEB> interesting tho that the ffmpeg threading commit made this appear with actual inputs being involved
<JEEB> before that only the filter_complex-only case was affected
<JEEB> will do one more branch and then have to move onto something else, will attempt to continue tomorrow to see how far back it's bork (and then make a ticket)
<JEEB> alright, 3.2 also bork - so that's it for today :)
kurosu has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
michaelni has quit [Ping timeout: 255 seconds]
mkver has quit [Ping timeout: 268 seconds]
<Lynne> has doxygen ever helped anyone or does everyone just look at the header files?
<haasn> I ignore doxygen's existence
<haasn> I find it actively unhelpful in that it takes away space from google search results
<haasn> which would be more useful if they pointed at an interactive source code browser (with hyperlinked symbols)
<haasn> but I think most of doxygen's shortcomings are that it just omits valuable context, e.g. not all comments end up in doxygen
cone-298 has joined #ffmpeg-devel
<cone-298> ffmpeg Niklas Haas master:2a99d3527bb5: avcodec/dovi_rpu: expose guess_profile(), clarify semantics
<cone-298> ffmpeg Niklas Haas master:fc616de1a53d: avcodec/dovi_rpu: properly replace context header
<cone-298> ffmpeg Niklas Haas master:d0392619a7f6: avcodec/dovi_rpu: store entire config record
<cone-298> ffmpeg Niklas Haas master:f131086a7092: avcodec/dovi_rpu: split into dovi_rpu.c and dovi_rpudec.c
<cone-298> ffmpeg Niklas Haas master:dbfd979c1b7f: avcodec/dovi_rpu: clarify error on missing RPU VDR
<cone-298> ffmpeg Niklas Haas master:783734d979d3: configure: rename dovi_rpu subsystem to dovi_rpudec
<cone-298> ffmpeg Niklas Haas master:f14093500537: avcodec/dovi_rpuenc: add ff_dovi_configure()
<cone-298> ffmpeg Niklas Haas master:330676660883: avcodec/dovi_rpuenc: add ff_dovi_rpu_generate()
<cone-298> ffmpeg Niklas Haas master:69e45a627c97: avformat/movenc: warn if dovi cfg ignored
<cone-298> ffmpeg Niklas Haas master:8dea94a14642: avcodec/libaomenc: implement dolby vision coding
<cone-298> ffmpeg Niklas Haas master:39ca87ed1ef8: avcodec/libx265: implement dolby vision coding
<cone-298> ffmpeg Niklas Haas master:2f3c1e1641af: avcodec/libsvtav1: implement dolby vision coding
<Lynne> nice, scene dovi transcodes keeping dovi data releases when?
Krowl has quit [Read error: Connection reset by peer]
<haasn> Lynne: wdym?
<BtbN> FedEx be like: Guaranteed delivers: Tuesday
<BtbN> I take Tuesday as Home-Office day
<BtbN> This morning: Out for delivery!
michaelni has joined #ffmpeg-devel
<JEEB> Lynne: I like linking to the page describing push/pull decode/encode API f.ex.
<JEEB> which is one of the best doc pages written in FFmpeg IMO
snoriman has joined #ffmpeg-devel
<BtbN> it's also lovely that all it says is "22.04.24 before 22:00"
<BtbN> But it went out for delivery at 8:00
<JEEB> classic
<Lynne> was that the ARM dev kit laptop you ordered 2 months ago?
jamrial has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
<llyyr> JEEB: did you have the chance to look at my hevc/mov patch?
<JEEB> llyyr: E_NOT_YET :) will attempt to check after $dayjob
<another|> BtbN: hey that's before 2200
<BtbN> I think you misunderstand
<BtbN> Package is not here yet
<BtbN> Lynne: yeah
<another|> But yeah, FedEx kinda sucks
<BtbN> I just got an E-Mail at 8am, that the package will arrive today. Before 22:00. And there won't be a second attempt btw.
<another|> They charged me horrendous fees for import tax handling
System_Error has quit [Ping timeout: 260 seconds]
System_Error has joined #ffmpeg-devel
<BtbN> Yeah, he just arrived. Had to pay him 118€. In Cash. And he had no change whatsoever.
<BtbN> wtf
<BtbN> (The price is fair though, 15€ FedEx handling fee, rest is tax)
<jamrial> BtbN: yeah, happened to me with fedex too. they wanted cash, or go in person to their warehouse to pay with debit the next day and get the package there
<BtbN> There is no wharehouse here.
<jamrial> DHL meanwhile emailed me a link to pay online
<BtbN> He at least went with me to the bank to grab cash
<BtbN> DHL here straight up has an App on their phone to pay by card
<BtbN> Ended up just giving him 120€ and cut my loss on the 2€ change
<Lynne> yeah, I've been there too, it's weird how they have package tracking systems and so on, but no way to actually indicate how much you have to pay up
<unturned3> Is hardware accelerated video decoding broken on macOS?
<unturned3> The included `doc/examples/hw_decode.c` demo prints the error message "Failed to get HW surface format" when given the device "videotoolbox" (the only option that's available)
<JEEB> at least via other API clients I've very recently been able to utilize videotoolbox
<JEEB> you could easily check with ffmpeg cli
<unturned3> hmm
<unturned3> when I try `ffmpeg -hide_banner -h decoder=h264_videotoolbox` it says "Codec 'h264_videotoolbox' is not recognized by FFmpeg."
<unturned3> but when I try 'ffmpeg -hide_banner -h encoder=h264_videotoolbox` it does return its info
blb has quit [Ping timeout: 246 seconds]
<unturned3> My ffmpeg is compiled with --enable-videotoolbox though
<JEEB> it's not a decoder but hwaccel :P
blb has joined #ffmpeg-devel
<JEEB> `-hwaccel videotoolbox -hwaccel_output_format -hwaccel_output_format videotoolbox_vld`
<JEEB> minus one hwaccel_output_format
<another|> BtbN: huh. They had no problem sending me an email and later a paper invoice that could be payed with cc or sepa
<BtbN> I would have expected an e-mail or sms where I had to pay prior to shipping
<BtbN> but he said there was too much phising with that, so they stopped doing that
<BtbN> you can still pre-pay. But only if you have an account with them and they manage to assign the parcel to it
<another|> aha. must have been recently then. my package was last year
<unturned3> JEEB: I have to admit I don't exactly know what's the difference between a decoder and an internal hwaccel :(
<unturned3> Do they not have a unified API or something?
<JEEB> unturned3: with hwaccels they utilize the internal decoder's framework to get parsing and metadata done, which is why you shouldn't have separate decoders in avcodec for hwdec in general
<JEEB> unturned3: what I mean is taht if it works with ffmpeg cli then no-one tested that example with videotoolbox or otherwise the sample is bork
<JEEB> test with current FFmpeg master
<unturned3> I see, thanks!
<unturned3> Yes I did test using the current master
<JEEB> yea, then it's quite likely that sample is either globally bork, or was never tested with videotoolbox
<unturned3> Should I submit a bug report?
<JEEB> if that is indeed with a video format that should be supported by our VT wrappers, and that is supported by VT on your system
<unturned3> hmm, just tested with another video
<unturned3> and this time it did not complain
<unturned3> this is strange
<unturned3> for the test video that results in the error
<unturned3> It seems like that the `hw_pix_fmt` found by `avcodec_get_hw_config` is set to AV_PIX_FMT_VIDEOTOOLBOX, but AV_PIX_FMT_YUVJ420P is the only thing available in the provided `pix_fmts` in `get_hw_format`, so the function fails to get the desired HW surface format.
<Lynne> I'll believe it if anyone says they haven't really heard xHE-AAC with eSBR anywhere as it isn't yet widely used
<Lynne> but the artifacts I hear are absolutely atrocious
<Lynne> there's very little temporal stability and lots of chirping
<Lynne> I guess it's fine if you're listening without headphones in a noisy environment and bad speakers to something that may as well be junk
haihao has quit [Ping timeout: 264 seconds]
haihao has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
cone-298 has quit [Quit: transmission timeout]
Krowl has joined #ffmpeg-devel
frankplow has quit [Quit: Goodbye]
frankplow has joined #ffmpeg-devel
klaxa has quit [Quit: Quit.]
klaxa has joined #ffmpeg-devel
klaxa has quit [Remote host closed the connection]
klaxa has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
<Lynne> what's the deal with mkvtimestamp_v2? is it an mkvmerge-only extension, or an official one?
Krowl has quit [Read error: Connection reset by peer]
SystemError has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
haihao has quit [Ping timeout: 252 seconds]
haihao has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
alexey_ has joined #ffmpeg-devel
<kepstin> Lynne: not sure what you mean by "official". There's actually _4_ versions of the mkvmerge timestamp format, and they're all ad-hoc formats intended for input to the mkvmerge tool when muxing raw video or video that's been run through a tool that doesn't support vfr.
<kepstin> v2 is probably the most common version used, since it's the simplest and easiest to work with programatically.
<kepstin> that said, i haven't touched an mkvmerge timestamp file since the mid 2000s when i was dumping video original timestamps to a file, re-encoding video to annex b files with the x264 cli, then muxing with mkvmerge and the timestamps file.
IndecisiveTurtle has quit [Ping timeout: 255 seconds]
kurosu has joined #ffmpeg-devel
riotz has joined #ffmpeg-devel
riotz has quit [Client Quit]
<Lynne> ah, I see
b50d has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
Marth64 has joined #ffmpeg-devel
Marth64 has quit [Remote host closed the connection]
AbleBacon has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
ngaullie has quit [Quit: Leaving]
b50d has quit [Remote host closed the connection]
b50d has joined #ffmpeg-devel
alexey_ has quit [Quit: Leaving]
jarthur has joined #ffmpeg-devel
___nick___ has joined #ffmpeg-devel
b50d has quit [Remote host closed the connection]
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Client Quit]
___nick___ has joined #ffmpeg-devel
MisterMinister has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
b50d has joined #ffmpeg-devel
Livio has joined #ffmpeg-devel
iive has joined #ffmpeg-devel
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
<BBB> what happened to derek's self-imposed ML unsubscribe?
<Lynne> guess it doesn't apply to sending patches, only to responding to hellthreads
<Lynne> we should all unsubscribe then!
<beastd> write-only ml :) not sure if it will really work out if we all unsubscribe *hmm
___nick___ has quit [Ping timeout: 268 seconds]
haihao has quit [Ping timeout: 260 seconds]
haihao has joined #ffmpeg-devel
<JEEB> haihao: thanks for catching the rpuenc typos quickly for the wrappers :)
<JEEB> Lynne: yea, all the random stuff and then there being random stirring from the sidelines just made me not want to look at the ML :/ which is kind of sad since the patches are there.
<iive> isn't there some web thingie that collects all patches?
<JEEB> patchwork exists, yes. but you can't respond in it
<JEEB> also it sometimes doesn't work if the patch is posted in an incompatible way :D
<JEEB> but yes, I just utilized patchwork to pull the patch I just LGTM'd
cone-754 has joined #ffmpeg-devel
<cone-754> ffmpeg Haihao Xiang master:3032a74cac4f: configure: fix rpuenc typos
<JEEB> haihao: cheers for pushing it
<jkqxz> Lynne: Did you test Vulkan AV1 on Nvidia with any stream involving reordering?
* JEEB only now notices jamrial pushed that thing :D
<Lynne> jkqxz: no, I only used a single stream, was glad to finally see it working and went with it
<jkqxz> Oh well. See patch.
<jkqxz> Any testing at all would be welcome.
<Lynne> patch makes sense, but what about the reindexing of the order hints?
<jkqxz> What about it?
<JEEB> ah so release/7.0 also misses the segfault fix 459648761f5412acdc3317d5bac982ceaa257584 , that's why cherry-picking mkver's film grain bug fix didn't work as is.
<JEEB> great, this applied. will run FATE `git cherry-pick -x 459648761f5412acdc3317d5bac982ceaa257584 bba996d6cdac15367f265e245987477d0f7b1899`
<cone-754> ffmpeg Mark Thompson master:ba6b08c75b6e: av1dec: Fix RefFrameSignBias calculation
<Lynne> jkqxz: currently we just do an offset
<jkqxz> jamrial: It always feels safer to catch the error as soon as possible? That is the logic in all of the CBS bit reading code.
<jamrial> sure, but in this case it's two extra checks/branches inside a loop of up to 2^16 iterations
<Lynne> oh, I just saw you responded to the main mail, nvm
<jamrial> although my suggestion to add a check to ff_h2645_packet_split() may end up in a lot of weird streams to stop working
<jkqxz> Which does much more nontrivial things that many times immediately after?
<jamrial> since it sets nb_nals to 0, it may be enough
kasper93 has quit [Ping timeout: 264 seconds]
<jkqxz> Lynne: I assume they're all at the Vulkan meeting this week anyway.
<JEEB> jamrial: since you were for backporting mkver's fixup, does this look good enough (took in the segfault fix which touches that code as well, as that allowed for cherry-picking to work)
<jamrial> JEEB: yes, if it fixes a segfault then it's obviously ok to backport
b50d has quit [Remote host closed the connection]
<JEEB> I did not test it myself, but at least the description and Fixes: line seem to point at that :D
<JEEB> the sample in the ticket no longer crashes at least :)
<JEEB> yup, segfault with current release/7.0
<cone-754> ffmpeg Niklas Haas release/7.0:30002d58fa41: avcodec/hevcdec: fix segfault on invalid film grain metadata
<cone-754> ffmpeg Andreas Rheinhardt release/7.0:2d3ee7c069d6: avcodec/hevcdec: Fix precedence, bogus film grain warning
<JEEB> there, now that's back-ported :)
<Lynne> jkqxz: nah, video meetings start on wednesday
<BtbN> dang, this ARM DevKit _only_ has MiniDP
<jamrial> BtbN: a minidp to dp cable shouldn't be expensive, being passive and all
<BtbN> Yeah, but I don't have one :D
<BtbN> one stupid thing I can't find either is a plug to figure-8
<BtbN> Cause the US one obviously does not work here.
<jamrial> my thunderbolt 4 addon card came with two :p
<BtbN> I had just assumed I'd have those by the dozen
<BtbN> but I can't find one :D
<Lynne> at least US plugs conveniently provide holes in the prongs just so you can twist copper on there
<jamrial> BtbN: wonder why not dp enabled usb-c instead of minidp? seems like a no brainer
<BtbN> It does have two USB-C ports
<BtbN> but I don't have any adapter for that either
<jamrial> ah
<BtbN> The Devkit seems to be available new again btw.
<BtbN> if anyone also wants one
<BtbN> in the US at least
mark4o has joined #ffmpeg-devel
markh has quit [Ping timeout: 246 seconds]
mark4o is now known as markh
Livio has quit [Ping timeout: 264 seconds]
kasper93 has joined #ffmpeg-devel
<cone-754> ffmpeg Jun Zhao master:fc02b910ad54: lavc/libxevd: Fixed the has_b_frames setting
kasper93 has quit [Remote host closed the connection]