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 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
<Traneptora>
tfw I was gonna reply to ng on the ML and then I just decided it wasn't worth it
keith has quit [Remote host closed the connection]
keith has joined #ffmpeg-devel
System_Error has quit [Ping timeout: 260 seconds]
keith has quit [Remote host closed the connection]
mateo` has quit [Ping timeout: 260 seconds]
keith has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
wyatt8740 has quit [Ping timeout: 265 seconds]
wyatt8750 has joined #ffmpeg-devel
wyatt8750 has quit [Ping timeout: 252 seconds]
wyatt8740 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
thilo has quit [Ping timeout: 252 seconds]
thilo has joined #ffmpeg-devel
keith has quit [Remote host closed the connection]
Guest11 has joined #ffmpeg-devel
Guest1 has quit [Remote host closed the connection]
<fflogger>
[editedticket] Balling: Ticket #11131 ([ffmpeg] Nvenc b_ref_mode middle does not write max_num_reorder_frames == 2 in SPS) updated https://trac.ffmpeg.org/ticket/11131#comment:6
haihao has quit [Ping timeout: 260 seconds]
haihao has joined #ffmpeg-devel
Guest11 has joined #ffmpeg-devel
Guest1 has quit [Remote host closed the connection]
<Lynne>
elenril: I know its mostly a question of design, but is there a reason the cached bitstream writer starts writing in the LSBs rather than the MSBs?
<Lynne>
would avoid needing to shift during flushing otherwise
<elenril>
I don't think I ever touched the writer
<elenril>
michaelni: can you give Marth64 git push access?
<Lynne>
^^definitely
<Lynne>
elenril: no, though Alexandra Hájková did
<elenril>
she wrote the reader
<elenril>
I don't think she had anything to do with the writerr
<elenril>
I don't even see what you mean by 'cached', I only know of the single original one in put_bits.h
<Lynne>
ah... I forgot
haihao has quit [Ping timeout: 272 seconds]
haihao_ has joined #ffmpeg-devel
^Neo has quit [Ping timeout: 244 seconds]
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 260 seconds]
Guest1 has joined #ffmpeg-devel
Guest11 has quit [Read error: Connection reset by peer]
esu has quit [Remote host closed the connection]
esu has joined #ffmpeg-devel
Guest1 has quit [Remote host closed the connection]
Guest1 has joined #ffmpeg-devel
tyzef has joined #ffmpeg-devel
Guest1 has quit [Remote host closed the connection]
Guest1 has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
Cheetahze has joined #ffmpeg-devel
Guest11 has joined #ffmpeg-devel
Guest1 has quit [Remote host closed the connection]
Guest1 has joined #ffmpeg-devel
Guest11 has quit [Read error: Connection reset by peer]
Guest1 has quit [Remote host closed the connection]
Guest1 has joined #ffmpeg-devel
Guest1 has quit [Client Quit]
tyzef has quit [Quit: It was nice to meet you o/]
guest123 has joined #ffmpeg-devel
\\Mr_C\\ has joined #ffmpeg-devel
guest1234 has joined #ffmpeg-devel
guest123 has quit [Read error: Connection reset by peer]
tyzef has joined #ffmpeg-devel
tyzef has quit [Max SendQ exceeded]
guest1235 has joined #ffmpeg-devel
guest1234 has quit [Remote host closed the connection]
<fflogger>
[newticket] t.rapp: Ticket #11288 ([avfilter] amerge fails with input stream having non-default channel order) created https://trac.ffmpeg.org/ticket/11288
_rubik has joined #ffmpeg-devel
guest1235 has quit [Quit: Leaving]
guest123 has joined #ffmpeg-devel
Cheetahze has quit [Quit: Connection closed for inactivity]
mateo` has joined #ffmpeg-devel
guest1234 has joined #ffmpeg-devel
guest123 has quit [Ping timeout: 252 seconds]
guest102 has joined #ffmpeg-devel
guest1234 has quit [Quit: Leaving]
guest332 has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
guest102 has quit [Read error: Connection reset by peer]
<michaelni>
elenril, will do as soon as i have Marth64 public ssh key (plus 2-3h sleep, iam a bit tired still)
guest702 has joined #ffmpeg-devel
cone-409 has joined #ffmpeg-devel
<cone-409>
ffmpeg Leandro Santiago master:fd0cacc4720c: fftools/ffplay: fix crash when vk renderer is null
Cheetahze has joined #ffmpeg-devel
guest332 has quit [Ping timeout: 252 seconds]
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
Workl has joined #ffmpeg-devel
Krowl has quit [Ping timeout: 252 seconds]
<cone-409>
ffmpeg Leandro Santiago release/7.0:786d4af40504: fftools/ffplay: fix crash when vk renderer is null
ccawley2011 has joined #ffmpeg-devel
<cone-409>
ffmpeg Leandro Santiago release/7.1:367b7b546f0e: fftools/ffplay: fix crash when vk renderer is null
snoriman has joined #ffmpeg-devel
<snoriman>
Hi, this is probably a bit off-topic but I'm curious what strategies there are for playback timing. I mean, lets say I've got an array with timestamps which indicate the display time for frames and imagine all frames are decoded already, how do you implement code which ensures that the frames are shown at the correct time? Do you have a loop where you sleep until one needs to display the next
<snoriman>
frame? Or do you use an event-loop and a timeout? or maybe there are other strategies?
System_Error has quit [Ping timeout: 260 seconds]
System_Error has joined #ffmpeg-devel
guest332 has joined #ffmpeg-devel
guest702 has quit [Read error: Connection reset by peer]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
cubicibo has joined #ffmpeg-devel
cubicibo has quit [Quit: Client closed]
Krowl has joined #ffmpeg-devel
Workl has quit [Ping timeout: 260 seconds]
Krowl has quit [Read error: Connection reset by peer]
tyzef has joined #ffmpeg-devel
unlord has quit [Ping timeout: 260 seconds]
unlord has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
tyzef has quit [Quit: WeeChat 3.8]
<BBB>
snoriman: most approaches use a master clock of one stream and sync the other streams to that clock
<BBB>
the typical master clock is the audio one
<BBB>
although in theory it could be anything
cone-409 has quit [Quit: transmission timeout]
<snoriman>
BBB: thanks! I've used solution in the past indeed. Though what if you deal with a situation where you don't have audio? What other "master clocks" are there?
<BBB>
wall clock, I suppose? :)
<BBB>
good question though
<BBB>
usually people go straight for the "what if I have two audio outputs" where it gets kind of hellish with resampling
<snoriman>
but the nice thing about using a audio clock is that you have a OS-level callback that's called at a certain pace; when you use wallclock, you must have a CPU intensive loop (I guess?)
<snoriman>
haha
<fflogger>
[editedticket] oromit: Ticket #11131 ([ffmpeg] Nvenc b_ref_mode middle does not write max_num_reorder_frames == 2 in SPS) updated https://trac.ffmpeg.org/ticket/11131#comment:7
<BBB>
the cpu intensive depends on how precise you need it to be
<BBB>
it gets a bit fiddly but I'm pretty sure you can look at how others do that, it's nice about opensource that way
<thardin>
usleep() is good enough
<thardin>
ah or millisecond accuracy even. you may or may not also want to wait for VBLANK
<snoriman>
ah yeah, so one strategy is to use the audio "callback" .. the other one using a sleep
<snoriman>
thardin: ah nice, thanks!
<BBB>
usleep plus threading for the main decode, i.e. usleep needs to live in the display-only thread otherwise it doesn't work correctly
<BBB>
or something like that
<thardin>
there might be cases where a sleep doesn't take quite as long time as you want. you might need to also measure the wall clock and adjust the next sleep accordingly
<snoriman>
thanks so much for all the suggestions
<snoriman>
ok good to know
jamrial has joined #ffmpeg-devel
<thardin>
if you just usleep(40000) then errors are likely to accumulate
<thardin>
if nothing else because it takes a bit of time to actually flip buffers etc
<BtbN>
Some of the capture inputs, like ddagrab, have auto-correcting sleep code. Could just take that
<snoriman>
thardin: yeah, my first idea (but maybe that's not a smart one) is to calculate the delta between the current frame and the next one, then sleep for that amount
<snoriman>
BtbN: thanks
<BtbN>
took me quite some time to wrap my head around the logic behind that code when writing ddagrab
<snoriman>
BtbN: yeah, I can imagine that
<BtbN>
Like, it counts up in multiples of the timebase. Made no sense, until I eventually realized that that way there is never any rounding issue. The only time it rounds is when actually calculating the call to sleep, so it does not accumulate any rounding error over time
<thardin>
you also have to be careful with discontinuities in the clock. like if you put the computer to sleep for a minute
<thardin>
a simple solution for that is a threshold. if the wall clock is way outside what you expect after the sleep the reset things
<thardin>
then*
<snoriman>
thanks for all the tips/suggestions
<michaelni>
elenril, btw i also just checked the people who where added to MAINTAINERs in 2024, noone else seems to have been forgotten in relation to git write. If someone else is in MAINTAINERs and has no git write, please contact me
^Neo has joined #ffmpeg-devel
<fflogger>
[editedticket] Balling: Ticket #11131 ([ffmpeg] Nvenc b_ref_mode middle does not write max_num_reorder_frames == 2 in SPS) updated https://trac.ffmpeg.org/ticket/11131#comment:8
Krowl has quit [Read error: Connection reset by peer]
<jamrial>
michaelni: could you check what asm function in swscale arm is not bitexact?
<jamrial>
i'm guessing it's ff_yuv2planeX_8_neon() because the stuff in arm/swscale_unscaled.c seems unrelated
<michaelni>
jamrial, will do but probably wont get to it now but rather in a few hours
<jamrial>
sure, no hurry
Krowl has joined #ffmpeg-devel
Cheetahze has quit [Quit: Connection closed for inactivity]
witchymary has quit [Ping timeout: 265 seconds]
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
darkapex has quit [Ping timeout: 272 seconds]
<Marth64>
michaelni, elenril, Lynne: thank you for the support. I'll set up a dedicated key and send it over after work
darkapex has joined #ffmpeg-devel
witchymary has joined #ffmpeg-devel
<thardin>
mxfdec is wonderfully slow at opening files over http
<thardin>
now that the index lookup code is a bit smarter, perhaps it's possible to implement lazy index table reading
<thardin>
come to think of it, that's a great use case for logging how many avio_seek()s are done. that can then be checked by FATE
keith has quit [Remote host closed the connection]
keith 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
Krowl has quit [Read error: Connection reset by peer]
cone-201 has joined #ffmpeg-devel
<cone-201>
ffmpeg Araz Iusubov master:eedcf939d8b1: avcodec/amfenc: Color information update
<cone-201>
ffmpeg Cameron Gutman master:8503c64aa897: avcodec/amfenc: add support for QueryOutput wait
sudden has quit [Ping timeout: 265 seconds]
sudden has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 260 seconds]
BradleyS has quit [Quit: quit]
System_Error has quit [Remote host closed the connection]
BradleyS has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
osvein has quit [Ping timeout: 252 seconds]
putacho has quit [Quit: There is no spoon!]
<michaelni>
jamrial, unexpected arm result: this fixes it:
<michaelni>
- have_neon(cpu_flags) ? 2 : 1;
<michaelni>
+ 0 ? 2 : 1;
osvein has joined #ffmpeg-devel
<michaelni>
in utils.c filterAlign
microchip_ has joined #ffmpeg-devel
<jamrial>
michaelni: maybe something like in line 701 should be done for arm
<michaelni>
jamrial, wow, yes, you are correct, that fixes the one test iam trying
<michaelni>
- if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) {