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 6.1.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
IndecisiveTurtle has quit [Ping timeout: 268 seconds]
rix has quit [Quit: ZNC - https://znc.in]
rix has joined #ffmpeg-devel
<michaelni> jamrial, yes
<jamrial> cool
<jamrial> alien_lappy: just sent a patch for that
rvalue has quit [Ping timeout: 268 seconds]
<jamrial> this is the problem of not having a trac bot posting here anymore
rvalue has joined #ffmpeg-devel
<cone-972> ffmpeg Michael Niedermayer master:872980ace646: Bump prior release/7.0 branch
<cone-972> ffmpeg Michael Niedermayer master:8f6bdfd4eccf: Changelog: Add 7.0 point
<cone-972> ffmpeg Michael Niedermayer master:e7d938073e4c: doc/APIchanges: Add 7.0 cut point
<cone-972> ffmpeg Michael Niedermayer master:6b213175c905: Bump after 7.0 branch point
<cone-972> ffmpeg Michael Niedermayer release/7.0:HEAD: Bump after 7.0 branch point
<Lynne> nice
lexano has quit [Ping timeout: 256 seconds]
thilo has quit [Ping timeout: 240 seconds]
thilo has joined #ffmpeg-devel
HarshK23 has quit [Quit: Connection closed for inactivity]
raven4Get has joined #ffmpeg-devel
<raven4Get> when is 7.0 being tagged?
mkver has quit [Ping timeout: 260 seconds]
<psykose> when it's ready
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
tufei__ has joined #ffmpeg-devel
lemourin has joined #ffmpeg-devel
tufei_ has quit [Ping timeout: 260 seconds]
tufei__ has quit [Client Quit]
jamrial has quit []
<jdek> michaelni: do we have a name for the release yet?
<Lynne> "Fraunhofer"
<raven4Get> merge that xHE-AAC branch and we'll call it a day
cone-972 has quit [Quit: transmission timeout]
<Lynne> who cares about xhe-aac apart from meta, the other fraunhofer, and netflix?
<jdek> >Licensed to Meta, Microsoft and Netflix
<Lynne> why aren't microsoft using wma9?
rvalue has quit [Ping timeout: 260 seconds]
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 264 seconds]
tufei has joined #ffmpeg-devel
raven4Get has quit [Quit: Leaving]
Mister_D has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 260 seconds]
Mister_D has quit [Ping timeout: 268 seconds]
AbleBacon has quit [Read error: Connection reset by peer]
qeed_ has quit [Ping timeout: 256 seconds]
qeed has joined #ffmpeg-devel
HarshK23 has joined #ffmpeg-devel
<elenril> Actual votes cast thus far: 13
<elenril> lame
<Lynne> chocolate gauteau
Traneptora_ has joined #ffmpeg-devel
Traneptora has quit [Ping timeout: 255 seconds]
Krowl has joined #ffmpeg-devel
<Lynne> kierank: has aac-he become more used in broadcasting?
Coinflipper has quit [Remote host closed the connection]
Coinflipper has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
<alien_lappy> jamrial: thanks
Guest52 has quit [Quit: Client closed]
<kierank> Lynne: for consumer yes
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
<Lynne> what about for broadcasters?
<elenril> huh, vorbis_encode_setup_init() in libvorbisenc seems to leak
IndecisiveTurtle has quit [Ping timeout: 256 seconds]
<galad> I have a vague memory that it depends on the call order of the various _clear() functions
mkver has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
cone-332 has joined #ffmpeg-devel
<cone-332> ffmpeg Anton Khirnov master:2621be353972: lavu/frame: add side data descriptors
<cone-332> ffmpeg Anton Khirnov master:fabf148578c0: fftools/ffmpeg_enc: only promote first frame side data to global when meaningful
<cone-332> ffmpeg Anton Khirnov master:8fc1e1358b07: fftools/ffmpeg_enc: simplify error handling for decoded_side_data setup
<cone-332> ffmpeg Anton Khirnov master:6f2cb0923c5a: fftools/ffmpeg_enc: move decoded_side_data setup out of video-only block
<JEEB> elenril: right, glad you got something on that; I was planning on checking it but the general idea seemed to be OK. just was having sleep deprivation so didn't focus on it yet
<elenril> have you tried sleeping more =p
<JEEB> yes
<JEEB> thankfully it's succeeding
<JEEB> so should hopefully more productive after $dayjob time as well
<kierank> 09:48:24 <•Lynne> what about for broadcasters?
<kierank> for broadcasting to consumers
<kierank> on terrestrial
<Lynne> yup, I meant for mezzanine IP links, I remember mpeg2 audio was often used, aac-lc too (but uncompressed was most common)
Xaldafax has joined #ffmpeg-devel
<thardin> does .srt allow empty subtitle lines?
jamrial has joined #ffmpeg-devel
<Daemon404> i didnt think srt had a spec... but lol
<Daemon404> wiki cites this as the soec: https://forum.doom9.org/showthread.php?p=470941#post470941
<thardin> or perhaps more relevant: will ffmpeg block if subtitles arrive on a pipe and there's a large gap between subtitle lines, when streaming output?
<Daemon404> a doom9 post
<thardin> the 'ol "the code is the spec"
<thardin> mayhaps I should use a different intermediate format. like webvtt perhaps
<Lynne> closest thing to a spec is the huge opensubtitles dump that ubitux has
<thardin> w3c has a spec for webvtt at least
<elenril> ubitux, the subtitle kingpin?
novaphoenix has quit [Quit: i quit]
<Lynne> the one who bothered to bother opensubtitles for the entire db, not sure if they'd agree to something like that again
<kierank> Lynne: no not for mezzanine, the latency is too high for he-aac
novaphoenix has joined #ffmpeg-devel
<Lynne> ah, right
IndecisiveTurtle has quit [Ping timeout: 255 seconds]
llyyr has quit [Remote host closed the connection]
llyyr has joined #ffmpeg-devel
lexano has joined #ffmpeg-devel
Livio has joined #ffmpeg-devel
Guest5 has joined #ffmpeg-devel
<cone-332> ffmpeg Zhao Zhili master:edb1f1bc09c7: tests: Remove fate-libx265-hdr10
<cone-332> ffmpeg Zhao Zhili master:89e9486bc3da: avcodec/h264_mp4toannexb: Fix heap buffer overflow
<cone-332> ffmpeg Zhao Zhili release/7.0:6ceda5462981: tests: Remove fate-libx265-hdr10
<cone-332> ffmpeg Zhao Zhili release/7.0:304208d40c9a: avcodec/h264_mp4toannexb: Fix heap buffer overflow
mkver has quit [Ping timeout: 260 seconds]
ngaullie has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
Livio has quit [Ping timeout: 256 seconds]
omegatron has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
Traneptora_ has quit [Quit: Quit]
Guest5 has quit [Quit: Client closed]
Traneptora has joined #ffmpeg-devel
<Lynne> FFmpeg 7.0 "Killing"
ngaullie has quit [Ping timeout: 256 seconds]
<Lynne> no one will get that
<thardin> reading the webvtt spec it's interesting that arbitrary amounts of spaces and tabs are allowed before line terminators in various places
<thardin> cues must be in temporal order and must have positive duration
<thardin> which raises the question whether lavf enforces this
<thardin> "WebVTT caption or subtitle cue text is cue payload that consists of zero or more WebVTT caption or subtitle cue components" there we go
Krowl has joined #ffmpeg-devel
<thardin> it doesn't reject negative timestamps or otherwise ill-formed ones
* thardin imagines how nicer lav* would be with a proper parsing framework
<thardin> webvttdec.c just silently accepts ill-formed files. boo!
<thardin> waaait it reads the entire damn file in webvtt_read_header()??
<thardin> as does srtdec.c
<JEEB> not surprised
<wbs> I guess that means that those demuxers won't really work for a streamed file?
<JEEB> yea
<wbs> (if streamed SRT is a thing)
mkver has quit [Ping timeout: 255 seconds]
<thardin> yeah
<thardin> well for this client we want to stream subtitles somehow
<thardin> perhaps there is some other suitable format that isn't too hard to get going
<thardin> AVI maybe
<thardin> ASS has the same issue
<JEEB> yea you probably want some container
<JEEB> all the raw subtitle formats are pretty much handled as full files
mkver has joined #ffmpeg-devel
<thardin> grep -R txts in fate-suite gives no avi sample
<thardin> microdvd subs has the issue
<alien_lappy> jamrial: i didn't see your patch on the trac? is it on a mailing list?
<thardin> eia_608, mov_text and text seem to be the only subtitle codecs whose format is at least not immediately non-streamable
<thardin> none of which are.. particularly easy to deal with
<thardin> alternatively I could sit down and write something that yeets ff_subtitles_* in favor of something that doesn't block
<JEEB> thardin: I mean I would have just done something like <random subtitle format you like> over NUT/Matroska/whatever
<thardin> JEEB: matroska seems to support text yes
<thardin> then the question becomes whether there's a matroska muxer for python
<thardin> or a nut one
<wbs> how feasible would it be to fix the raw srt demuxer to work properly?
<thardin> it's not particularly large
<thardin> main issue is seeking I guess
<Daemon404> presented without comment
<thardin> but I don't see why one couldn't also use the existing ff_subtitles_* cache for files that are seekable
<thardin> demux.c would need some logic to read more of the file when seeking maybe
<wbs> thardin: at least for other raw like formats, setting the AVFMT_GENERIC_INDEX flag is kinda enough for seeking; the demuxer blindly reads one packet at a time and it gets added to the index. seeks forward just trigger the demuxer to keep reading until it finds a packet with a high enough timestamp, seeking backwards moves the IO to the right position
<thardin> neato. then one wonder why this special crap for text subs
<thardin> subs for a long stream can get pretty large I imagine
<wbs> no idea, either there's something else to subtitles that I don't know of (I haven't touched subs much at all), or someone has implemented something separate without knowing about this generic index
<thardin> smells like an opportunity to remove code, which is the most productive form of programming
<thardin> BALETE
<wbs> did I manage to get you nerd sniped into addressing this? ;-)
<wbs> or do I need to follow up with a "I bet you can't have this working by tonight"? :P
<thardin> it's more that I get monies if I figure something out
<thardin> but also yes it is ugly now that I've been made aware of it, and my circles have been disturbed
<thardin> lol, pymkv just calls mkvmerge
<thardin> one option is to just hack a very basic mkv or nut muxer by copy-pasting whatever header bytes lavf puts out for text subs in either, and only implement adding packets to the output
mkver has quit [Ping timeout: 252 seconds]
MisterMinister has joined #ffmpeg-devel
Mister_D has joined #ffmpeg-devel
zsoltiv_ has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 246 seconds]
Marth64 has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
<thardin> sent an email to the client about it. I suspect I'll have a go at fixing lavf
<thardin> then I can also take the opportunity to make the demuxers more disciplined
* elenril stabs Daemon404
<elenril> why are movenc muxers not marked with AVFMT_VARIABLE_FPS
<JEEB> yea I wondered that too
<JEEB> since effectively the timescale can be almost anything
<mkver> elenril: Why is CFR the default anyway?
<elenril> because avi
<jamrial> cfr makes things simple
AbleBacon has joined #ffmpeg-devel
<elenril> cfr is a disease
<elenril> timestamps are simple
<elenril> trying to invent "framerates" everywhere is a big part of why our timestamps handling is so bad
cone-332 has quit [Quit: transmission timeout]
<compn> i mean
<compn> at this point, you are defending mov as a container ? is that your position ?
<JEEB> mp4 isn't too bad of a container, during the ~20 years post-mov it actually is relatively well defined
<compn> a format that cannot even be streamed , where the important information is at the end of the file ?
<elenril> all containers suck
<compn> and an incomplete file cannot be played at all ?
<JEEB> fragmented mp4 exists :)
<compn> (qt-faststart nerds shh)
<elenril> many of them in their own creative ways
<JEEB> yea, like matroska and time bases
<elenril> matroska was almost good, were it not for its timestamps brainfart
<JEEB> mp4 forces durations to be coded, but its negative bit is the lack of support for overlapping packets on the same track
Marth64 has quit [Ping timeout: 255 seconds]
Krowl has quit [Read error: Connection reset by peer]
* compn curses JEEB's video files to all turn into fragmented mp4
<JEEB> iso has cursed MP4 enough
<compn> well thats server side what am i thinking
Marth64 has joined #ffmpeg-devel
rvalue has joined #ffmpeg-devel
<j-b> mp4 is cursed
<JEEB> and not least due to it no longer being a freely available because ISO changed the deal with the devil without hearing from actual authors
<kierank> 15:15:23 <•elenril> cfr is a disease
<kierank> 15:15:40 <•elenril> timestamps are simple
<kierank> what is the duration of the last frame
<kierank> making everything vfr when it isn't is the problem
<kierank> a misunderstanding of precision vs vfr
<elenril> kierank: duration of the last frame is whatever the source says it is
<kierank> it doesn't have a duration
<elenril> cfr is a subset of vfr
<kierank> in vfr
<elenril> so if we want to handle vfr at all, it's strictly better for most of our code to just forget about framerates
rvalue has quit [Ping timeout: 256 seconds]
cone-227 has joined #ffmpeg-devel
<cone-227> ffmpeg Andreas Rheinhardt master:9223c92c889c: doc/examples: Always use <> includes
<cone-227> ffmpeg Andreas Rheinhardt master:8ca57fcf9ed3: avutil/fifo, file: Remove unused headers
rvalue has joined #ffmpeg-devel
<Daemon404> elenril, fair
<Daemon404> the stab i mean
<Marth64> its all cursed
<Marth64> you start with one thing and it ends in a cursed spiral of more things
<Daemon404> isnt that just multimedia
<Marth64> and printers
rvalue has quit [Ping timeout: 255 seconds]
<Marth64> axis of evil: multimedia, printers, Safari the browser
rvalue has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 268 seconds]
Marth64 has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 252 seconds]
rvalue- is now known as rvalue
Krowl has joined #ffmpeg-devel
Kei_N_ has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 268 seconds]
Kei_N has quit [Ping timeout: 245 seconds]
Marth64 has quit [Remote host closed the connection]
rvalue has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 264 seconds]
<cone-227> ffmpeg James Almer master:189c32f53659: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/7.0:9cfb29baa2c5: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
rvalue- is now known as rvalue
<cone-227> ffmpeg James Almer release/6.1:f309408874a5: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/6.0:59918c65ade2: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/5.1:4ee74fc46d14: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/5.0:09f9f1d7ee13: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/4.4:c2f678c307d2: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
<cone-227> ffmpeg James Almer release/4.3:4d2cc90fa42a: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
rvalue- has joined #ffmpeg-devel
<cone-227> ffmpeg James Almer release/4.2:ddb0efbbc101: avformat/mov: don't abort on duplicate Mastering Display Metadata boxes
rvalue has quit [Ping timeout: 260 seconds]
<elenril> jamrial: I'd like to get rid of unique
<jamrial> why didn't you mention that during the review phase?
<elenril> I did
<jamrial> JEEB: ^?
<JEEB> OK, then I missed that point :D I just recall at some point the flag approach being mentioned and I added that to control whether you get dupes or not
rvalue- is now known as rvalue
<elenril> my point is the caller should not decide that in most cases
<JEEB> personally I don't feel heavily either way :P I added a flag because someone said it would be nice
System_Error has quit [Remote host closed the connection]
<JEEB> I would have just had it generally add stuff otherwise
System_Error has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 268 seconds]
rvalue has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 272 seconds]
rvalue has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 264 seconds]
rvalue has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 268 seconds]
<cone-227> ffmpeg Niklas Haas master:b89ee2653919: avfilter: properly reduce YUV colorspace format lists
<haasn> kierank: EOF can have a timestamp too, no?
tufei has quit [Remote host closed the connection]
<haasn> elenril: so you agree with mkver's suggest API (avcodec_get_supported_configs)
<haasn> ?
<mkver> StevenLiu: Your commit 991cf95fdeebc3 caused a segfault (see rtmpproto patches on the ML).
<mkver> Did you really get memleaks or did you just feel that there was no matching free for these allocations?
rvalue has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
jarthur has joined #ffmpeg-devel
<elenril> haasn: yes
rvalue has quit [Ping timeout: 252 seconds]
<haasn> one thing that concerns me slightly about this exact API is that it requires an avctx to query options from
<haasn> but in ffmpeg_filter.c we do not have an avctx, just the options dict; but I suppose we could construct one just for the sake of constructing the filter graph or possibly change the way this is initialized
<elenril> ffmpeg_filter could ask ffmpeg_enc for the config structs
psykose has quit [Ping timeout: 255 seconds]
rvalue has joined #ffmpeg-devel
psykose has joined #ffmpeg-devel
<jamrial> elenril: unique can be deprecated and eventually removed i guess. the same can be achieved with the remove function i'm adding in my set
<jamrial> but it's really harmless and doesn't interfer with setting other flags
<elenril> i disagree that it's harmless
<elenril> it's a trap
<elenril> public api should not contain traps
omegatron has quit [Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
<jamrial> elenril: user data unregistered sei should be marked as global in the descriptor
<jamrial> the relevant sei are present in hevc extradata, at least
rvalue has quit [Quit: ZNC - https://znc.in]
rvalue has joined #ffmpeg-devel
cone-227 has quit [Quit: transmission timeout]
Sean_McG has joined #ffmpeg-devel
Livio has joined #ffmpeg-devel
MisterMinister has joined #ffmpeg-devel
mkver has quit [Ping timeout: 255 seconds]
Livio has quit [Ping timeout: 264 seconds]
Mister_D has quit [Ping timeout: 246 seconds]
<kierank> 18:16:49 <haasn> kierank: EOF can have a timestamp too, no?
<kierank> What eod
<kierank> Eof
iive has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
<IndecisiveTurtle> Lynne: Bump in case the previous message was lost
<Lynne> IndecisiveTurtle: no, I was just waiting for you to go online
<Lynne> it looks fine, I even got it to run, but the output doesn't seem correct
<IndecisiveTurtle> Ah I've had the client open all evening lmao
<IndecisiveTurtle> What output are you getting? It was okay when I tested it
<Lynne> just the ffmpeg logo mostly untouched, with a few blocks being black
<IndecisiveTurtle> Hm what gpu are you testing with? Should swap to my amd one in case its something vendor related (though unlikely)
<Lynne> I also had to manually compile the shader and use xdd -i, because your build system is broken
<Lynne> AMD
<IndecisiveTurtle> Not sure what's going on with the build system, it works here. I'll try a clean up again sometime cause it's probably going to be the shader generator that messes things up
<IndecisiveTurtle> Though it's just a simple script that iterates over shaders and generates headers with glslang, it's convenient cause it auto rebuilds them when the file is changed xD
<IndecisiveTurtle> Switched to my AMD Vega 8 igpu, can confirm the output is not the same as the nvidia driver. Probably something stupid, let me fix real quick
<IndecisiveTurtle> Hm lavapipe also works correctly, guess it's something RADV only
IndecisiveTurtle has quit [Remote host closed the connection]
IndecisiveTurtle has joined #ffmpeg-devel
<IndecisiveTurtle> Lynne: Issue should be fixed now, turned out to be a missing barrier
<IndecisiveTurtle> The buffer copy would overrun the compute shader
<Lynne> good, I'm seeing high frequencies
<Lynne> I'm guessing this is 2 levels, right?
<IndecisiveTurtle> The levels are hardcoded to 1 right now, and the block dim is 4x4. They can be tweaked in main.c file though
kasper93 has joined #ffmpeg-devel
<Lynne> doesn't quite look right when I change it to 128x128
kasper93_ has quit [Ping timeout: 264 seconds]
<Lynne> I think you should do what the C version does and do a haar on an X/Y basis
<Lynne> only haar is able to be done as a simple single 2D filter, all other wavelet types need to be done on X, then Y basis because it's not really feasible
<Lynne> plus, it would let you do cool stuff like subgroup operations
<IndecisiveTurtle> Curious, what does it look like for you? When I set it to 128x128 the image is left with 6 "color" pixels on the width
<IndecisiveTurtle> I see, I'm thinking of splitting this into 2 functions one for x basis and another for y and run them one after the other
jarthur has quit [Ping timeout: 268 seconds]
jarthur_ has joined #ffmpeg-devel