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
System_Error has quit [Ping timeout: 264 seconds]
blb has quit [Ping timeout: 252 seconds]
Anthony_ZO has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
blb has joined #ffmpeg-devel
mkver has quit [Ping timeout: 265 seconds]
thilo has quit [Ping timeout: 244 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
Marth64[m] has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 252 seconds]
linkmauve has left #ffmpeg-devel [Error from remote client]
jamrial_ has quit []
Martchus has joined #ffmpeg-devel
Martchus_ has quit [Ping timeout: 248 seconds]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
microchip_ has quit [Quit: There is no spoon!]
microchip_ has joined #ffmpeg-devel
vjaquez has joined #ffmpeg-devel
<cone-142>
ffmpeg Zhao Zhili master:ca964ba13969: avformat/mov: Reduce seek when interleaved_read is disabled
microlappy has quit [Quit: Konversation terminated!]
lemourin has quit [Read error: Connection reset by peer]
lemourin has joined #ffmpeg-devel
<Lynne>
I must refrain from posting the navy seal copypasta about top 10 university phd
<Lynne>
jkqxz: ping
abdu has joined #ffmpeg-devel
<cone-142>
ffmpeg Gyan Doshi master:d9bd8e9eb110: doc/ffprobe: remove entry for show_format_entry
mkver has joined #ffmpeg-devel
j45_ has joined #ffmpeg-devel
j45 has quit [Ping timeout: 276 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
abdu has quit [Quit: Client closed]
abdu has joined #ffmpeg-devel
j45_ has joined #ffmpeg-devel
j45 has quit [Ping timeout: 260 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
<haasn>
all else being equal, lavfi currently resolves formats (and inserts conversion filters) in the order they are specified in the filter graph; which for command line usage translates to "the order you specify your subgraphs in". This can lead to some IMO surprising results. Has there ever been any serious consideration or attempt to normalize the filter graph resolution order?
<haasn>
as an example, [a] format=yuv444p,split [b][c]; [b] format=rgba [b1]; [c] format=rgba [c1]
<haasn>
this will insert two conversion filters, because the "split" filter is first resolved to yuv444p, and then the "format" filter in each branch forces a conversion
<haasn>
because the [b] and [c] filter links are first resolved to fmt rgba
<haasn>
even though the order here shouldn't matter in an actual graph, it matters because of the implicit bias towards earlier-declared filters
<mkver>
haasn: But if the user explicitly inserts format filters, the user wants (or should be presumed to want) this conversion (in your first example).
rvalue has quit [Read error: Connection reset by peer]
<BtbN>
The format= filter is just inherently confusing, cause it itself does no conversion whatsoever
rvalue has joined #ffmpeg-devel
<BtbN>
mkver: The user expresses the exact same intent with both those graphs imo
<BtbN>
It being handled differently is surprising. Though the surprise in this case is potentially positive, since it converts less than I'd expect at least
kode54 has joined #ffmpeg-devel
<haasn>
mkver: I am using the format filter as an illustration, it could be any filter that only supports a subset of formats
<haasn>
the point is that the auto scale is inserted either before or after the split filter, causing duplicate work
<haasn>
the conversion happens in any case, the question is merely where
<haasn>
but I'm sure you could come up with a more complex example where the actual negotiated format changes
mkver has quit [Quit: Leaving]
<Lynne>
anyone knows if our VLC reader supports escape symbols (code 0, len 0)?
cone-142 has quit [Quit: transmission timeout]
jamrial has joined #ffmpeg-devel
abdu has quit [Quit: Client closed]
abdu has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
Marth64[m] has quit [Remote host closed the connection]
<haasn>
have you considered whether we should convert to linear light before lowpassing also
<haasn>
for such test patterns it will give a dramatically different result
<TheVibeCoder>
less grayish?
<TheVibeCoder>
the idea is to kill patterns
<haasn>
50%/50% mix of white and black lines has an average luminance of grayscale ~73%
<haasn>
not 50% which is the result you get from a naive lowpass
<haasn>
you can clearly see it in their own test sample which has a 50% gray background, yet if you squint your eyes, the lines patterns are way brighter than the background
<TheVibeCoder>
yes, brickwal filter would kill patterns and would keep other content same sharpness
<haasn>
kierank: can you upload the raw test patterns somewhere that does not require an EBU account?
<kierank>
yes
<TheVibeCoder>
i was working on writing source video filter which would allow ffmpeg to generate it on key press
<TheVibeCoder>
and zoneplate part, the most interesting anyway, can already be done with ffmpeg -f lavfi -i zoneplate=X....
<haasn>
reduced 3.1 GB -> 185 MB with -vcodec ffv1
<TheVibeCoder>
lol
<haasn>
but I guess free software is poison
<haasn>
TheVibeCoder: ow my eyes
<haasn>
that is physically painful when upscaling to 4k
<TheVibeCoder>
sorry
mkver has joined #ffmpeg-devel
<psykose>
if you stare at it long enough then look at the wall the same pattern shows up there
<psykose>
awesome
<fflogger>
[newticket] weihuaqd: Ticket #11562 ([ffmpeg] ffmpeg adds an extra audio stream to the output if apad filter_complex is used) created https://trac.ffmpeg.org/ticket/11562
<haasn>
Why is code.ffmpeg.org mining bitcoins on load
<JEEB>
haasn: because LLM providers hijack residential IPs and essentially ddos places
<JEEB>
funny enough I think by changing the user agent to not have mozilla, that still skips that stuff
<haasn>
okay
<haasn>
I hope we are actually getting profit from those hashes?
<haasn>
because if not, what a waste of computing resources
abdu has quit [Quit: Ping timeout (120 seconds)]
<another|>
Xe: ^^ Where's the money? /s
<Xe>
haasn: it's not solving sudokus for magic beans, it's solving sudokus to waste VC bro money
<Xe>
though i have been working on making it far less aggressive with clever logic and soon IP reputation
abdu has joined #ffmpeg-devel
<Xe>
also trust me if it was mining me bitcoin, my tax person would hate me
<Lynne>
just make it mine monero instead
<Xe>
if anything it'd be protein folding
<kierank>
is code.ffmpeg.org really loaded
<kierank>
why does videolan not need tihs
<JEEB>
I think it's just common config in the web server since trac, not that code.ffmpeg.org specifically requires it
<Xe>
Lynne: set the difficulty to 4, 5 is way too aggressive
<jamrial>
i remember when i used to run folding@home
<Xe>
jamrial: i remember the PS3 folding@home screensaver, that was cool as heck
<Lynne>
I ran einstein@home
<JEEB>
kierank: git.videolan.org at least went down at various times so I expect that code.videolan.org also had some issues. to see what exact tweaks they did you'd probably be best to ask thresh
<Lynne>
these days it's just a python script with a ridiculously small neural network doing the denoising that thousands of computers once did
<Xe>
but yes, glad to hear that things are working for you
<Xe>
would y'all be open to helping test some more experimental features should the need arise?
<Xe>
my next big goal is to make Anubis do more heuristic based challenges for you
<Xe>
mostly so it doesn't have to make you solve sudokus
<haasn>
I imagine IP reputation working by weighting each less significant bit of the IP address more strongly than the previous?
<haasn>
so that you also get subnet reputation implicitly added, across all possible subnets
<Xe>
i was gonna have it stop at the /16 and start at /24 but yeah
<Xe>
also ASN related too
<Lynne>
you should ping BtbN, he maintains and runs the anubis instance
<Xe>
ah
<Xe>
BtbN: in your anubis config, set the difficulty to 4, 5 is too aggressive
<BtbN>
Isn't it already at 4?
<Xe>
code. is at 5
<BtbN>
ah, code
<BtbN>
yeah, that's still 5
<Xe>
i'd suggest 4, 5 seems to make mobile phones become space heaters :)
<Lynne>
consider using webgpu? doubt bots have anything than CPU-based implementations
<Xe>
when i have the time it's switching to argon2id in wasm
<Xe>
i just need to find a trap-doored implementation of it that works in wasm via rust
<Xe>
the big thing i'm working on atm is scripting expressions so you can make rules like "if the system load is over 200, throw challenges to anything that quacks like a browser but probably is not one"
<Xe>
you can make the greenspun's 10th rule joke any time you want
<frankplow>
And people say ffmpeg command lines aren’t intuitive
<kurosu>
"batman equation"
<TheVibeCoder>
that is just dumb FIR filtering with excessive ringing
ngaullier has quit [Remote host closed the connection]
<Lynne>
pross: you should probably select you want to mentor one of the vp6 proposals
<Lynne>
the deadline's in some tens of minutes
Marth64 has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
<haasn>
TheVibeCoder: bad, changes brightness of right pattern (horizontal lines)
abdu has joined #ffmpeg-devel
<TheVibeCoder>
haasn: that is expected to happen for low patterns
<fflogger>
[editedticket] Gyan: Ticket #11562 ([ffmpeg] ffmpeg adds an extra audio stream to the output if apad filter_complex is used) updated https://trac.ffmpeg.org/ticket/11562#comment:1
<jkqxz>
I'm a bit unclear why the parser is a step forward? It seems like an extra layer of indirection for something you already know in the demuxer.
lemourin has joined #ffmpeg-devel
<Lynne>
jkqxz: is it possible to reuse the standard vlc reader for apv, or does it use a completely different algorithm?
<jamrial>
a parser is independent of container, and like a decoder will gie you per frame parameters
<jamrial>
a raw demuxer is not supposed to export codec level information (see every other such demuxer), as it would do it for the very first frame
<jkqxz>
Lynne: Possibly in its current form. Currently I am rewriting it with a multisymbol form which won't, so I'm not inclined to spend time on that.
<Lynne>
ah, ok
<Lynne>
I think I can hack up a gpu version of it in like a single night, but I'll wait
<jkqxz>
Yeah, very likely possible. Given that it currently spends >90% of the time on entropy for high-bitrate streams you may not get as much benefit as you hope, though.
<jkqxz>
jamrial: It feels like what the user would want there (a raw stream is a container), but tbh I have no stong opinion on the functionality of lavf.
<Lynne>
no, really, it can't, the range coder was made in a few days, declared good enough, and it shows
<jkqxz>
How is ffv2 going?
audrey-b has joined #ffmpeg-devel
<Lynne>
meh
<Lynne>
I have my own research codec which is more interesting
<kasper93>
why is apv interesting?
<kierank>
it's a competitor to prores for content creators
<kierank>
that's open source
<jkqxz>
It's another slightly modified JPEG just like ProRes and DNx, but is open source and intended not to be some sort of legal disaster.
<Lynne>
honestly, though, ffv1 decoding is fast enough under vulkan to allow those with fast SSDs to edit losslessly
<kierank>
jkqxz: jpeg doesn't have 10-bit or 12-bit
<jkqxz>
If it actually does end up in every Android phone then it might even win.
<jkqxz>
JPEG has perfectly usable 12-bit, it's just noone uses it.
<kierank>
the dct is only defined for 8-bit iirc
<kierank>
that might be mpeg2 but iirc it's the same transform
<Lynne>
jpeg has no defined dct
<jkqxz>
JPEG DCT is just "do a DCT" with no particular specification.
<jkqxz>
So you can make whatever output bit depth you like.
<kasper93>
samsung and open source doesn't fit well in one sentence, but we will see if anyone uses it
<Lynne>
there is, an ieee spec from 1993 which just defines each coefficient as a range
<kierank>
I remember doing the mpeg-4 idct that it defined a coeficient bit depth and intermediate
<jkqxz>
kasper93: It's the same people as Samsung in AOM, so I'm hopeful they will be able to act sensibly.
<jkqxz>
(And it's not like they could be much worse than Apple or Avid.)
<Lynne>
apple's prores raw is hilarious, its just uncompressed raw bayer (they can't losslessly compress it because it would violate RED's patent) that they probably spent 10 minutes on, and charge manufacturers like 30 dollars per camera to license
mkver has joined #ffmpeg-devel
<kierank>
Lynne: it is compressed
<kierank>
I would link the decoder
<kierank>
but someone will call me a spy
<Lynne>
it was? how did they get away with it, if its a reversibly compressed?
audrey-b has quit [Ping timeout: 240 seconds]
<JEEB>
yea I think recently'ish various companies started poking at compressed bayer
<JEEB>
prores raw being the most known one
russellty has joined #ffmpeg-devel
<kierank>
19:09:23 <•jkqxz> So you can make whatever output bit depth you like.
<kierank>
but the input coefficients lack the precision
<jkqxz>
In the upsample direction, sure. A 12-bit JPEG is intended to give you precision for 12-bit output, but you could just output 8-bit or 10-bit if you prefer.
<kierank>
sure, but it's not true 10 or 12-bit coding
<kierank>
you can't code gradients with 8-bit coefficients
<kierank>
or whatever the limit is in jpeg
<kierank>
and not sure how DC works as well
<jkqxz>
JPEG has coefficients for 12-bit in the extended mode. (Coefficients up to 2^14 or whatever the needed number is.)
<kierank>
is that jpeg-xt?
<jkqxz>
No. 1993 JPEG. THe one which also has the clunky arithmetic coded mode which noone uses as well.
<BtbN>
Hm, I _think_ the MV-HEVC and Alpha Layer Encoding in nvenc works fine now
<BtbN>
But I have too little experience with that weird stuff to tell for sure. Like, nothing I have can play back those files either way.
<kurosu>
Losslessly compressed bayer? Isn't that what most camera manufacturers were already doing 15 years ago, even before RED? I remember working on that
abdu has quit [Ping timeout: 240 seconds]
<Lynne>
photograph, maybe, but not video
abdu has joined #ffmpeg-devel
sebas_ has quit [Quit: Konversation terminated!]
MisterMinister has quit [Ping timeout: 276 seconds]
<kurosu>
yes. But they are all intra in any case? No inter pred.
Chagalle has quit [Ping timeout: 260 seconds]
lylythechosenone has joined #ffmpeg-devel
lylythechosenone has quit [Ping timeout: 240 seconds]
<fflogger>
[newticket] Balling: Ticket #11563 ([undetermined] Implement better jpeg compression now that patents on those two algorithms expired) created https://trac.ffmpeg.org/ticket/11563
<fflogger>
[editedticket] Balling: Ticket #11563 ([undetermined] Implement better jpeg compression now that patents on those two algorithms expired) updated https://trac.ffmpeg.org/ticket/11563#comment:1
lexano has quit [Remote host closed the connection]
DodoGTA has quit [Read error: Connection reset by peer]
<cone-064>
ffmpeg Michael Niedermayer master:2352145e416c: avformat/hls: Add cmfv and cmfa to allowed_extensions
<cone-064>
ffmpeg Michael Niedermayer master:68644994fd7c: avformat/hls: Add ec3 to allowed_extensions
<cone-064>
ffmpeg Romain Beauxis master:2431fd0b2758: tests: Add stream dump test API util, use it to dump stream data for chained ogg/{vorbis, opus, flac} streams.
<cone-064>
ffmpeg Michael Niedermayer master:d82016c7302e: avformat/hls: add fmp4 to allowed_extensions
<cone-064>
ffmpeg Michael Niedermayer master:0da6ddfc0135: avformat/hls: Point user to how to easily contribute a fix for missing extensions
<cone-064>
ffmpeg Michael Niedermayer master:48c0dba23b3c: avformat/hls: Fix Youtube AAC