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
cone-142 has joined #ffmpeg-devel
<cone-142> ffmpeg Zhao Zhili master:39786f8cd5c9: aarch64/h26x: optimize sao_band_filter
<cone-142> ffmpeg Zhao Zhili master:26752368f04a: aarch64/h26x: Add put_hevc_pel_bi_w_pixels
<cone-142> ffmpeg Zhao Zhili master:25812d303398: avcodec/bsf/h264_mp4toannexb: Fix mixed bitstream format
<cone-142> ffmpeg Zhao Zhili master:9187f40e921d: avformat/http: Ensure same protocol in ff_http_do_new_request2
<cone-142> ffmpeg Zhao Zhili master:bb0c4649fb63: avformat/hls: Fix get key file error
microlappy has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
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> meanwhile, [b] format=rgba [b1]; [c] format=rgba [c1]; [a] format=yuv444p,split [b][c]
<haasn> this only inserts one conversion filter
<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).
kode54 has quit [Quit: The Lounge - https://thelounge.chat]
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]
abdu has quit [Ping timeout: 240 seconds]
abdu has joined #ffmpeg-devel
abdu has quit [Quit: Client closed]
TheVibeCoder has joined #ffmpeg-devel
<kierank> haasn: TheVibeCoder: discuss
<haasn> o/
<kierank> The test patterns are published now: https://tech.ebu.ch/publications/tech3384
<kierank> Basically I want good 1080p to 1080i conversion with those test patterns
<haasn> TheVibeCoder: okay, makes sense now with the paper
<kierank> TheVibeCoder: what about kell factor
<TheVibeCoder> dunno about kell factor, if you want better lowpass (either FIR or IIR) filter it will be slower
Anthony_ZO has quit [Ping timeout: 245 seconds]
<kierank> 1080p to 1080i needs to comply with kell factor
<kierank> speed not important currently
<TheVibeCoder> kell factor is analog era artifact
<kierank> 1080i is analog era
<kierank> so needed
<TheVibeCoder> is there any sample where can be show how much suppression lowpass should do?
<TheVibeCoder> because with this kell factor: there is some filter specification: like for 1d audio, transition frequency, transition bandwidth etc..
<kierank> TheVibeCoder: chatgpt says use fir
<kierank> Apply a low-pass FIR filter in the vertical domain with a cutoff at ~0.7×Nyquist frequency (~0.35 cycles/pixel), matching the Kell factor.
<TheVibeCoder> and what nyquist frequency is or 1080p?i video ?
<TheVibeCoder> s/or/of
<TheVibeCoder> can chatgpt already give you  taps for 1080i FIR?
<kierank> yes
<kierank> Use a 7-tap or 9-tap symmetric kernel, e.g.:
<kierank> Kernel: [0.05, 0.1, 0.2, 0.3, 0.2, 0.1, 0.05]
<TheVibeCoder> with little of vibe coding let him write simd filter
<TheVibeCoder> that is extreme lowpass imho
<TheVibeCoder> use sinc with 13 taps
<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....
<TheVibeCoder> just need to guess right params
<TheVibeCoder> :)
<kierank> haasn: uhd is uploading
<kierank> hd seems done
mkver has quit [Ping timeout: 244 seconds]
<TheVibeCoder> 15 GB of raw v210
<haasn> thanks
<TheVibeCoder> mpv av://lavfi:zoneplate=s=2k:kx=80:kt=80:kt2=3:ky=-80:ky2=80:kx2=80,format=gray
<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
abdu has joined #ffmpeg-devel
<TheVibeCoder> that are chatgpt taps
<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
sebas_ has joined #ffmpeg-devel
<TheVibeCoder> mpv ~/Downloads/ScalingAndInterlacingPattern-1080p50_p13zmg.mov -vf "lavfi=[geq='lum=clip(p(X,Y)*0.5122147853939456+p(X,Y+1)*0.31146284344333064+p(X,Y-1)*0.31146284344333064+p(X,Y+2)*-0.010663821000045495+p(X,Y-2)*-0.010663821000045495+p(X,Y+3)*-0.0871146073034496+p(X,Y-3)*-0.0871146073034496+p(X,Y+4)*0.006847088381510362+p(X,Y-4)*0.006847088381510
<TheVibeCoder> 362+p(X,Y+5)*0.03652362059159542+p(X,Y-5)*0.03652362059159542+p(X,Y+6)*-0.002921251135151777+p(X,Y-6)*-0.002921251135151777+p(X,Y+7)*-0.01723975157998462+p(X,Y-7)*-0.01723975157998462+p(X,Y+8)*-0.0054495764729940565+p(X,Y-8)*-0.0054495764729940565,0,1023)':threads=4,interlace=lowpass=off]"
<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
mkver has quit [Ping timeout: 244 seconds]
abdu has quit [Ping timeout: 240 seconds]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
TheVibeCoder has quit [Quit: Client closed]
<jkqxz> Lynne: Pong.
abdu has joined #ffmpeg-devel
<jamrial> jkqxz: did you see my apv patches?
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
<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.
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
<Lynne> it can't be worse than ffv1
<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]
Guest55 has joined #ffmpeg-devel
cone-064 has joined #ffmpeg-devel
<cone-064> ffmpeg Shiyou Yin master:ab8e160f71f4: avcodec: Fix fate-checkasm-hevc_pel failed on LA.
<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
Guest55 has quit [Client Quit]
russellty has quit [Quit: russellty]
<fflogger> [editedticket] michael: Ticket #11526 ([avformat] cmfv and cmfa not in hls allowed_extensions) updated https://trac.ffmpeg.org/ticket/11526#comment:3
<BtbN> welp, git.ffmpeg.org is also taken down by crawlers now...
<BtbN> "503 - The load average on the server is too high"
realies has quit [Quit: ~]
uau has quit [Quit: ZNC 1.9.1+deb2+b3 - https://znc.in]
uau has joined #ffmpeg-devel
realies has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel