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
IndecisiveTurtle has quit [Ping timeout: 256 seconds]
MisterMinister has quit [Remote host closed the connection]
MisterMinister has joined #ffmpeg-devel
lexano has quit [Ping timeout: 268 seconds]
Traneptora has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
thilo has quit [Ping timeout: 268 seconds]
thilo has joined #ffmpeg-devel
AbleBacon has joined #ffmpeg-devel
cone-481 has quit [Quit: transmission timeout]
<Lynne>
spec issue number 12 (only counting those significant enough to cause a desync)
<jamrial>
BtbN: the last packet produced by flacenc is a side data only packet (no actual payload), which contains new extradata generated from the state after encoding was finished
<jamrial>
the flv muxer should look for that instead
qeed has quit [Quit: qeed]
psilokos__ has joined #ffmpeg-devel
klaxa_ has joined #ffmpeg-devel
quietvoid_ has joined #ffmpeg-devel
bencoh_ has joined #ffmpeg-devel
phoenix has joined #ffmpeg-devel
phoenix is now known as Guest1116
novaphoenix has quit [*.net *.split]
xvaclav has quit [*.net *.split]
ramiro has quit [*.net *.split]
BtbN has quit [*.net *.split]
SuperFashi has quit [*.net *.split]
quietvoid has quit [*.net *.split]
bencoh has quit [*.net *.split]
klaxa has quit [*.net *.split]
psilokos_ has quit [*.net *.split]
TD-Linux has quit [*.net *.split]
SuperFashi_ has joined #ffmpeg-devel
ramiro has joined #ffmpeg-devel
TD-Linux has joined #ffmpeg-devel
qeed has joined #ffmpeg-devel
BtbN has joined #ffmpeg-devel
xvaclav has joined #ffmpeg-devel
jamrial has quit []
qeed_ has joined #ffmpeg-devel
qeed has quit [Read error: Connection reset by peer]
sdc_ has joined #ffmpeg-devel
Raz-- has joined #ffmpeg-devel
jluthra_ has joined #ffmpeg-devel
Luna_Usagi_ has joined #ffmpeg-devel
Son_Goku_ has joined #ffmpeg-devel
RT|AO_ has joined #ffmpeg-devel
Lypheo9 has joined #ffmpeg-devel
TD--Linux has joined #ffmpeg-devel
Nightrose_ has joined #ffmpeg-devel
pal_ has joined #ffmpeg-devel
TheAMM has joined #ffmpeg-devel
AMM has quit [Killed (NickServ (GHOST command used by TheAMM))]
rossy_ has joined #ffmpeg-devel
TheAMM is now known as AMM
Hobbyboy|BNC has joined #ffmpeg-devel
Teukka` has joined #ffmpeg-devel
TD-Linux has quit [*.net *.split]
feiwan1 has quit [*.net *.split]
Teukka has quit [*.net *.split]
kasper93 has quit [*.net *.split]
q66 has quit [*.net *.split]
man84 has quit [*.net *.split]
Hobbyboy has quit [*.net *.split]
rellla has quit [*.net *.split]
AbleBacon has quit [Read error: Connection reset by peer]
kasper93 has joined #ffmpeg-devel
APic has quit [*.net *.split]
sdc has quit [*.net *.split]
jluthra has quit [*.net *.split]
Lypheo has quit [*.net *.split]
rossy has quit [*.net *.split]
Luna_Usagi has quit [*.net *.split]
unlord has quit [*.net *.split]
Raz- has quit [*.net *.split]
pal has quit [*.net *.split]
RT|AO has quit [*.net *.split]
Son_Goku has quit [*.net *.split]
sdc_ is now known as sdc
Nightrose_ is now known as Nightrose
rossy_ is now known as rossy
jluthra_ is now known as jluthra
Lypheo9 is now known as Lypheo
Son_Goku_ is now known as Son_Goku
unlord has joined #ffmpeg-devel
Hobbyboy|BNC is now known as Hobbyboy
feiwan1 has joined #ffmpeg-devel
rellla has joined #ffmpeg-devel
q66 has joined #ffmpeg-devel
030AAX97I has joined #ffmpeg-devel
man84 has joined #ffmpeg-devel
030AAX97I has quit [Ping timeout: 260 seconds]
Martchus has joined #ffmpeg-devel
Martchus_ has quit [Ping timeout: 268 seconds]
q66 has quit [Ping timeout: 260 seconds]
man84 has quit [Ping timeout: 260 seconds]
hgg53n2 has joined #ffmpeg-devel
BANnNEDui`-_ has joined #ffmpeg-devel
BANnNEDui`-_ has left #ffmpeg-devel [FUCK THE SAND NIGGERS JOIN IRC.EFNET.ORG FOR THE RESISTANCE]
APic has joined #ffmpeg-devel
q66 has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
mkver has quit [Ping timeout: 264 seconds]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
Livio has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
qeed has joined #ffmpeg-devel
qeed_ has quit [Ping timeout: 268 seconds]
ramiro has quit [Ping timeout: 260 seconds]
ramiro has joined #ffmpeg-devel
qeed_ has joined #ffmpeg-devel
qeed has quit [Ping timeout: 264 seconds]
mkver has quit [Remote host closed the connection]
mkver has joined #ffmpeg-devel
<BtbN>
I don't think flv has any provisions to late-update the header like that.
<BtbN>
Such a package would trigger it to write a final header package at the end of the stream
<nevcairiel>
flvs only claim to meaning these days is for streaming, late header updates are not a thing
ccawley2011 has joined #ffmpeg-devel
cone-119 has joined #ffmpeg-devel
<cone-119>
ffmpeg Brad Smith master:115c96b9bd53: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
kurosu has quit [Quit: Connection closed for inactivity]
Livio has joined #ffmpeg-devel
psilokos__ has quit [Ping timeout: 260 seconds]
mkver has joined #ffmpeg-devel
kurosu has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
deus0ww has quit [Ping timeout: 268 seconds]
cone-119 has quit [Quit: transmission timeout]
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
cone-746 has joined #ffmpeg-devel
<cone-746>
ffmpeg James Almer master:f121d52b3535: avformat/vvc: remove duplicate struct
<cone-746>
ffmpeg James Almer master:cba15ca0ec41: avformat/vvc: generalize calculating num_bytes_constraint_info
<cone-746>
ffmpeg James Almer master:415dfa89e296: avformat/vvc: fix writing general_constraint_info bytes
<cone-746>
ffmpeg James Almer master:a48203d51aa4: avformat/vvc: fix parsing some early VPS bitstream values
<cone-746>
ffmpeg James Almer master:f00b23453ca5: avformat/vvc: reduce the scope of some variables
<cone-746>
ffmpeg James Almer master:9ab8dddf1f2e: avformat/vvc: use align_get_bits() where useful
<cone-746>
ffmpeg James Almer master:3765305928bf: configure: split ISOBMFF writer helpers into a separate component
<cone-746>
ffmpeg James Almer master:7e59f02c1417: fate/lavf-container: add a test for VVC in mp4 muxing
klaxa_ is now known as klaxa
<mkver>
jamrial: Six of these patches were never on the mailing list; and the other two were pushed too early ("If no one answers within a reasonable time-frame (12h for build failures and security fixes, 3 days small changes, 1 week for big patches) then commit your patch if you think it is OK")
Kei_N_ has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
Kei_N has quit [Ping timeout: 252 seconds]
unlord has quit [Ping timeout: 252 seconds]
<Lynne>
its fine, those are guidelines and the patches are just fixes
unlord has joined #ffmpeg-devel
<mkver>
They are not "just fixes" (there is no general exception for fixes btw). E.g. the iso_writer patch is definitely not a fix.
Livio has quit [Ping timeout: 240 seconds]
<jamrial>
mkver: you found an egregious read of uninitialized bytes, and i wanted it fixed asap
<jamrial>
and the patches that i didn't send are trivial
<mkver>
Even supposedly trivial patches need to be sent to the ML.
<mkver>
And you did more than just fixing something in that patchset.
<ePirat>
I feel like the lack of a clear, easily verifiable contribution procedure comes up over and over again…
<jamrial>
mkver: first patch is a fix, second and third are cleanup, fourth is a fix, fifth and sixth are cosmetic, and eighth is a test
<mkver>
The quote with the time-frames comes from there.
<ePirat>
mkver, I know but what good is that if there is no way to enforce that on the technical side… people can just do whatever they want, be it by accident, due to misunderstandings or other…
<mkver>
jamrial: Patches #2-#8 were definitely pushed too early.
<mkver>
There is no exception for seemingly trivial cleanup patches; there is also no exception for fixes like #4.
<ePirat>
Anyone has an idea what would be the best way for an hwdec to override the codecs bsfs?
<ePirat>
I need a different one for VideoToolbox VP9 hwdec than the one that the VP9 codec sets…
<mkver>
ePirat: The hwaccel is set before the hwaccel is even initialized, so there is no way to do this.
<ePirat>
I know but I need a way :D
<mkver>
What is wrong with vp9_superframe_split for you?
<mkver>
What transformation should be applied to the input instead?
<ePirat>
mkver, I need kind of the opposite, vp9_superframe
<ePirat>
of course I could just manually do that in VT but thats kinda reversing previous work, so seems rather hackish
<ePirat>
with the superframe split, VT deadlocks
<ePirat>
(this is reported to apple already)
<ePirat>
mkver, I wonder if we could do bsfs init later so that we could take a override in FFHWAccel into account…
<mkver>
ePirat: Not really. The way is to setup the bsf before the decoder's init function is even called.
<Lynne>
mkver: common sense trumps all other considerations, and its hard to describe common sense in a procedure
<mkver>
It certainly has to be before the first packet, because it is only decided after parsing the bitstream whether (and which) hwaccel is used (after all, there are profiles/levels without hardware support).
<Lynne>
it's not good to commit directly to another active maintainer's code though
<mkver>
Lynne: Common sense is to send all patches to the mailing list and to wait for others' responses.
<mkver>
"not good"? There used to be a maintainer exception, but even that never allowed such things.
IndecisiveTurtle has quit [Ping timeout: 260 seconds]
<ePirat>
mkver, hmm ok so I guess I dont really have much choice other than to manually load the vp9_superframe in VT and live with some unnecessary work done by vp9_superframe_split?
<mkver>
ePirat: Yes. (Given that hwaccels only get the buffers, but not the AVPacket's it will involve quite a lot of unnecessary allocations and memcopies.)
<ePirat>
ugh…
<ePirat>
I hate it when a seemingly trivial fix turns into such a convoluted mess…
Warcop has joined #ffmpeg-devel
<Lynne>
mkver: if you're the maintainer of something, and you're not doing large refactoring, it's reasonable to push at your discretion
<mkver>
That's against the rules (as quoted); and the rules are reasonable (avoiding the ML means that one avoids the potentially valuable input from others).
Warcop has quit [Remote host closed the connection]
<BtbN>
What's up with ff_add_param_change ignoring the channels and channel_layout parameters?
<mkver>
BtbN: IIRC this was done with the addition of the new channel layout API because all code always ignored it, so it was not deemed worthy to be updated.
<BtbN>
So I guess I can just ignore catering to it in new code. Or is there a modern replacement?
<mkver>
BtbN: I was right; done in 09b5d3fb44ae1036700f80c8c80b15e9074c58c3.
<mkver>
BtbN: I don't know of a replacement.
<mkver>
BtbN: Btw: What's your reason to poke at flvenc?
<BtbN>
adding the new features for modern codecs and multi-track
<ePirat>
mkver, what the downside of having a separate FFCodec for it, like its done for cuvid?
<mkver>
ePirat: You can't simply switch to the native decoder in case a profile unsupported by hardware is encountered.
<mkver>
Furthermore this only works for hwaccels that can actually handle complete packets (and not slice-based APIs).
<ePirat>
thats the case for VT though, IIUC?
<ePirat>
but yeah the first one is quite the downside… ugh
<mkver>
I don't know anything about VT, so it may be possible that it makes sense to add separate FFCodecs for VT.
<mkver>
Another downside of this approach is metadata handling; our hwaccels simply reuse the SEI parsing stuff of the generic decoding code. A purely hwaccel decoder would not just reuse it.
<ePirat>
I see…
<Lynne>
mkver: it's tolerated
<Lynne>
again, guidelines
darkapex has quit [Ping timeout: 272 seconds]
darkapex has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
<courmisch>
h263dsp.h_loop_filter_c: 46.2
<courmisch>
h263dsp.h_loop_filter_mmx: 55.7
<courmisch>
hmm
<courmisch>
fossil-free optimisation would be good
<courmisch>
that MaMmuth eXtension for you
<courmisch>
MaMmoth in more English less German spelling
IndecisiveTurtle has joined #ffmpeg-devel
<pengvado>
does checkasm benchmark accurately account for branch prediction, or does it just repeat the same data?
<courmisch>
checkasm and accurately in the same sentence
<courmisch>
pengvado: it's worse than that. Since this function is inplace it iterates over the results of the previous run
iive has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
<jamrial>
courmisch: you can make it not do that
Krowl has joined #ffmpeg-devel
cone-746 has quit [Quit: transmission timeout]
sepro has quit [Quit: Bye!]
<Lynne>
pengvado: hey, it's been a while
<Lynne>
I did write a faster in-place permute function for FFTs, but I found ways to avoid using it entirely mostly
<Lynne>
it's not mathematically possible to write an optimal function that doesn't use any memory because lookups form loops that you have to iterate through (since the index of a number in the first array must be present in the chain that the map is pointing to)
AbleBacon has quit [Read error: Connection reset by peer]
Krowl has quit [Read error: Connection reset by peer]
<BBB>
courmisch: I think pengvado's point is that the data should not be random() (this is specific to deblock) to ensure that deblock actually does something
<BBB>
courmisch: deblock is done on a block, so a well-derived data set would execute both branches within the block - some lines being filtered and some not
<BBB>
so key is to not use random data but random'ish data
<BBB>
there's various examples how to do that. use your fave debugging technique to make sure your random'ish data input executes both branches consistently
sepro has joined #ffmpeg-devel
mkver has quit [Ping timeout: 264 seconds]
cone-287 has joined #ffmpeg-devel
<cone-287>
ffmpeg James Almer origin/release/4.4:HEAD: fate/lavf-container: add a test for VVC in mp4 muxing
<cone-287>
ffmpeg Brad Smith release/4.4:2161acff6d13: configure: use pkg-config for sndio
<cone-287>
ffmpeg Brad Smith release/4.4:008b0b4a3b0c: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
sepro has joined #ffmpeg-devel
ariedro has quit [Quit: WeeChat 4.2.2]
<jamrial>
BtbN: does it support updating flac extradata as generated by the encoder in the last packed?
<BtbN>
It'll write it, but it does not do any "seeking to the front" business
<BtbN>
So there'll just be a second metadata package at the end, doing nothing
<jamrial>
BtbN: the proper way is to store an offset to where you wrote the extradata during write_header() and a copy of any new extradata in any given packet's side data, so you can seek back on seekable output during write_trailer() and overwrite the bogus one
<BtbN>
The majority of times it won't be seekable anyway
<BtbN>
Since it's being streamed over rtmp
ccawley2011 has quit [Read error: Connection reset by peer]
<jamrial>
ok, but when it can, it's better to do it to ensure the output is fully correct
<BtbN>
I'm not sure if it can be reasonably done, without a major rewrite of the entier muxer
<ePirat>
Ok, I definitely need a way to get AVPackets with the hwdec API somehow or I need to packetize all over again in VT…
<BtbN>
flv is a bit like mpegts, just without the ridiculously tiny packets. I don't think trying to seek back to the front is reasonable
<BtbN>
specially because if done correctly, it might not be the front
<cone-287>
ffmpeg Brad Smith release/4.4:8184fd878dcb: avutil/ppc/cpu: Use proper header for OpenBSD PPC CPU detection
<cone-287>
ffmpeg Brad Smith release/4.4:a48116a2fe7a: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
<cone-287>
ffmpeg Brad Smith release/5.0:307df02e1d01: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
<cone-287>
ffmpeg Brad Smith release/5.0:537a17a16fe3: avutil/ppc/cpu: Use proper header for OpenBSD PPC CPU detection
<cone-287>
ffmpeg Brad Smith release/5.0:d6bec7f83e63: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
<cone-287>
ffmpeg Marcus B Spencer master:8b8b555de008: avformat/aacdec: strictly conform to K&R style
<cone-287>
ffmpeg Brad Smith release/5.1:ff8eee647028: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
<cone-287>
ffmpeg Brad Smith release/5.1:2d50a0e84a51: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
<cone-287>
ffmpeg Brad Smith release/6.0:13ebc732596a: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
<cone-287>
ffmpeg Brad Smith release/6.0:4873178ee358: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
<cone-287>
ffmpeg Brad Smith release/6.1:ebb406db7c7b: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
<cone-287>
ffmpeg Brad Smith release/6.1:a01ed5273350: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
<cone-287>
ffmpeg Brad Smith release/7.0:6ab65792ab8e: lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
<cone-287>
ffmpeg Brad Smith release/7.0:8b0fe91754f5: avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD