cone-669 has quit [Quit: transmission timeout]
thilo has quit [Ping timeout: 252 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
mkver has quit [Ping timeout: 255 seconds]
durandal_1707 has quit [Ping timeout: 258 seconds]
durandal_1707 has joined #ffmpeg-devel
derpydoo has joined #ffmpeg-devel
stevenliu has quit [Quit: Connection closed for inactivity]
SystemError has quit [Ping timeout: 252 seconds]
lemourin has quit [Read error: Connection reset by peer]
lemourin has joined #ffmpeg-devel
\\Mr_C\\ has quit [Ping timeout: 240 seconds]
jarthur has quit [Quit: jarthur]
jarthur has joined #ffmpeg-devel
derpydoo has quit [Read error: Connection reset by peer]
jamrial has quit []
zsoltiv_ has quit [Ping timeout: 258 seconds]
Kei_N_ has quit [Read error: Connection reset by peer]
Kei_N has joined #ffmpeg-devel
qeed__ has joined #ffmpeg-devel
gust82 has quit [Remote host closed the connection]
gust82 has joined #ffmpeg-devel
qeed_ has quit [Ping timeout: 272 seconds]
darkapex has quit [Ping timeout: 255 seconds]
darkapex has joined #ffmpeg-devel
HarshK23 has joined #ffmpeg-devel
qeed__ has quit [Quit: qeed__]
SystemError has joined #ffmpeg-devel
qeed has joined #ffmpeg-devel
qeed has quit [Quit: qeed]
qeed has joined #ffmpeg-devel
jarthur has quit [Quit: jarthur]
gust82 has quit [Remote host closed the connection]
gust82 has joined #ffmpeg-devel
kurosu has joined #ffmpeg-devel
clarkh1 has quit [Read error: Connection reset by peer]
dellas has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
Krowl has joined #ffmpeg-devel
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
AbleBacon has quit [Read error: Connection reset by peer]
ccawley2011 has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
dellas has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
<JEEB> hmm, I wonder what the difference between these two VAAPI pix_fmts is: VA_RT_FORMAT_YUV420_10 & VA_RT_FORMAT_YUV420_10BPP
<Daemon404> surely 10bop must be a misomer?
<Daemon404> bpp*
<Daemon404> unless each channel gets 3ish bits
<JEEB> yea, no idea what BPP means
<JEEB> just noticed those two in `vainfo` output
<galad> bit per plane?
<nevcairiel> #define VA_RT_FORMAT_YUV420_10BPP VA_RT_FORMAT_YUV420_10
<nevcairiel> just sayin'
<galad> bit per pixel per plane?
<JEEB> nevcairiel: lörs lärä
<JEEB> how nice that they are still all output :D
<JEEB> as separate things
<nevcairiel> legacy name, i guess
<JEEB> yea I guess
<Daemon404> sounds like someone misnamed it but they csn never remove it
<Daemon404> can*
<JEEB> also I just worked with someone with regards to vaapi av1 encoding, and the logging for attribute check failures in that module is abhorrent. apparently there is a function to get the string of the attribute so I might just throw a patch for that so someone reading the warnings/errors actually could understand WTF is going on
<JEEB> https://pastebin.com/wQGrv183 ctrl+F "Attribute type" and then the "Failed to query config attribute" one which has a classic case of "success (no error)" on error xD
jamrial has joined #ffmpeg-devel
dellas has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 258 seconds]
<haasn> and why does it set the V chroma loc to a different value than the U chroma loc?
ccawley2011 has joined #ffmpeg-devel
<haasn> surely 4:2:0 U/V planes are identically sized and chroma samples are co-sited?
<haasn> oh, nvm, I see, there's a conditional `break;` at the end of the loop
<haasn> and it doesn't loop over planes, it loops over swscale configs
<haasn> okay, my confusion is cleared up
Krowl has quit [Read error: Connection reset by peer]
<haasn> I still feel like we should set these fields from the in->chroma_location
mkver has joined #ffmpeg-devel
<haasn> kierank: given a value of in_v_chr_pos for luma, the first field should see in_v_chr_pos >> 1 and the second field should see (in_v_chr_pos >> 1) + 128?
<haasn> s/for luma/for progressive/
<kierank> haasn: honestly, it's swscale, it's only michaelni who can answer and at the time I asked him and he explained what to do
<haasn> heh
<haasn> I'm not sure how to extend this logic to cover other subsampling modes, like 4:2:2
<kierank> iirc for mpeg progressive is cosited so this is not needed
<haasn> but I can at the very least generalize it to 4:2:0 + other chroma location
<kierank> the annoying part is the sample clip that is on the ticket is not there any more
<kierank> because that showed the issue really clearly
<haasn> I wonder if archive.org has it
navi has joined #ffmpeg-devel
<kierank> I'm sure my old laptop backups have it somewhere
<kierank> will look later
<haasn> I want to clean this code up so much but it would amount to rewriting vf_sacle
<haasn> ah, sadly, config_props doesn't see chroma location
<haasn> so I guess this is something to do after filter negotiation is extended
<haasn> probably we should apply this logic to all formats that have log2_chroma_h == 1
cone-796 has joined #ffmpeg-devel
<cone-796> ffmpeg Andreas Rheinhardt master:8e1bb594fb36: avcodec/h264idct_template: Don't include h264dec.h
<cone-796> ffmpeg Andreas Rheinhardt master:4e6cf5e52b4b: avcodec/h264dec: Constify H.264 decoder
<haasn> michaelni: I'd appreciate it if you could take a quick look at https://0x0.st/H4JO.txt
<haasn> and tell me if I'm on the right track here
Krowl has joined #ffmpeg-devel
<haasn> hmm, it regresses fate-sws-yuv-range, because it now assumes the input is mpeg2 sited while it seems like rawvideo defaults to center siting when it's unspecified?
<nevcairiel> if you can make a good argument for the change, its not necessarily a regression
<haasn> or rather, y4m hard-codes C420jpeg for AVCHROMA_LOC_CENTER
<haasn> AVCHROMA_LOC_UNSPECIFIED*
<haasn> strange
<haasn> mpv handles unspecified chroma loc as left/center based on signal range (full vs limited)
<haasn> yuv4mpegenc handles unspecified chroma loc as center always
<haasn> seems like swscale also handles unspecified chroma loc as center
<haasn> and finally, libplacebo handles unspecified chroma loc as left always
<haasn> ....
<haasn> vf_zscale handles unspecified as left always, too
<haasn> god knows what scale_vulkan/vaapi do
<haasn> probably the safest thing to do is to just not touch this logic and hope nobody ever finds out
<haasn> no good deed goes unpunished
dellas has quit [Remote host closed the connection]
<haasn> should conversion from rgb24 to yuv420p output tv or pc range by default?
<haasn> I guess probably tv range
<haasn> but an argument can be made for pc range because it reduces quality loss
<kierank> you will not please everyone
<JEEB> most YCbCr usage is limited range so the default for both ingest and output should probably be limited unless specified otherwise
Mikhail_AMD has joined #ffmpeg-devel
<haasn> yeah gating out_range = in_range behind if (in->pixfmt == out->pixfmt) seems to work
<haasn> and is probably the safest option
<haasn> this does have the side effect that e.g. conversion from full range yuv444p to yuv420p will produce limited range output unless vf_scale is instructed otherwise
<haasn> but that's the current status quo anyways
<Lynne> whatever you think scale_vulkan does, it doesn't
<Lynne> ahahaah, they're pulling an intel!
<haasn> huh.. VLC seems to ignore chroma location entirely and always sample centered?
<haasn> that can't be right
<haasn> wouldn't that result in wrong output for practically all content out there?
<Daemon404> it'd be right for jpeg!
<haasn> can confirm, vlc produces different output from mpv for basically all files
<haasn> due to chroma shift from left->center
<elenril> we don't have 10bit NV12, right?
<haasn> j-b: this is an international incident!
<haasn> elenril: P010
<elenril> (not p010)
<Daemon404> lol
<Lynne> haasn: he can't hear you over the sound of jet engines in the troposphere
<haasn> if you mean a format like p010 but with data in the low bits instead of the high bits, no
<kasper93> haasn: not enough color autism were devoted to VLC it seems
<haasn> afaict it doesn't exist
<elenril> x264 uses it internally
<elenril> and can output it in some cases
<elenril> Lynne: another hwaccel framework?
<elenril> seriously?
<kasper93> haasn: Also for default conversion, I would expect to least quality degrading one, unless users requests, but I agree with current status quo of everything being limited in fact
<Lynne> elenril: yyyup, if it turns out to use amf underneath I'd definitely belive it
<durandal_1707> Lynne: tx status, please!
<Lynne> writing channel layout and making a spec to C parser (in perl!), should finish it tonight
<Lynne> after that I'll take a look at lavu/tx
<durandal_1707> Lynne: of what layout?
<Lynne> avtransport, for both
<Lynne> of course, I'm just copying the lavu mechanism, it's good enough and defines plenty
<durandal_1707> fixed-point linear equations minimization
<durandal_1707> anybody knows about that stuff?
Krowl has quit [Read error: Connection reset by peer]
<durandal_1707> well, TrueHD can at most put four normal channels in single substream
Mikhail_AMD has quit [Ping timeout: 258 seconds]
<kierank> 15:05:19 <BA1719• elenril> we don't have 10bit NV12, right?
<kierank> We do
<kierank> NV20 or something
<BtbN> P010 iirc
<elenril> NV20 is 422
<kierank> ok
<Lynne> yeah, it's p010
<elenril> i wish you people would learn to read
<Daemon404> you never explained why p010 isnt 'correct'
<elenril> because i want to describe the thing x264 outputs
<Daemon404> you never confirmed how it differs from p010
<elenril> data in the low bits
<Daemon404> then you need to add a new pix fmt, nothing else uses such a format
<kierank> where is p010 defined as data in high bits
<BtbN> What n venc does is just use P016 for that case
<elenril> AV_PIX_FMT_P010LE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
<Daemon404> kierank, msdn, its origin
<kierank> does that really say that
<haasn> yes
<haasn> there's even a fancy little picture
<kierank> so what's the difference between P216 and P210?
<haasn> "The 10-bit formats also use 16 bits for each channel, with the lowest 6 bits set to zero, as shown in the following diagram."
<BtbN> kierank: 10 bit vs. 16 bit
<haasn> kierank: full range scaling, for example
<kierank> ok
<kierank> ok then there is no existing pixel format
<kierank> for 4:2:0
<haasn> for limited range it's equivalent
<haasn> although with p010 you know you can ignore the lower 6 bits
<BtbN> nvenc has the exact same problem, where it expects data in the wrong bits. And it just abuses the 16 bit format
<Lynne> we do the same for vulkan
<kierank> lsbs zero is dumb
<Lynne> yup
<haasn> (for example, you can pack P410 into rgb10a2 without loss of precision)
Mikhail_AMD has joined #ffmpeg-devel
<haasn> not that it's terribly useful to do so, admittedly
mkver has quit [Ping timeout: 258 seconds]
Krowl has joined #ffmpeg-devel
cone-796 has quit [Quit: transmission timeout]
gust82 has quit [Remote host closed the connection]
gust82 has joined #ffmpeg-devel
MrZeus has joined #ffmpeg-devel
<ePirat> did you see this?
MrZeus_ has joined #ffmpeg-devel
MrZeus has quit [Ping timeout: 255 seconds]
<Lynne> no
<Lynne> but I don't know how to fix this
<Lynne> the check should work
<Lynne> tmatth: was the issue that the pkgconfig file provides the wrong version?
<ePirat> ugh why are some Vulkan headers SPDX-License-Identifier: Apache-2.0
<ePirat> and not Apache-2.0 OR MIT
gust82 has quit [Remote host closed the connection]
mkver has joined #ffmpeg-devel
<JEEB> haasn: ooh you gave love to chroma location in showinfo :D
<JEEB> that was added at one point but it really was mostly ignored all over
derpydoo has joined #ffmpeg-devel
qeed has quit [Quit: qeed]
dionisis has quit [Quit: WeeChat 3.8]
<mkver> haasn: Is there a branch of your patchset somewhere?
qeed has joined #ffmpeg-devel
<haasn> mkver: not atm, I can update it when I get home
<JEEB> ah the immersive media stuff, the JVET groups have also poked into that
<Lynne> and I just defined the whole channel order stuff from lavu
<Lynne> but this looks neater, and I don't have to define ambisonics from scratch
<Lynne> plus, it defines scene-based audio
* Lynne slaps TD-Linux around a bit with a large trout
<JEEB> channel order stuff reminds me of https://gist.github.com/jeeb/c5bfd7c58c595df60a9eac7c258066ec
<JEEB> left/right surround direct are just side left|right according to Apple's interpretation of the 18 dwChannelMask values :D
<JEEB> while FFmpeg has separate entries for those
<jamrial> Lynne: i'm working on that right now
<Lynne> isn't it already fully-defined and standardized?
<Lynne> or are you working on an implementation of it?
<jamrial> An implementation
<jamrial> the stream group patchset i sent is part of it
ccawley2011 has quit [Ping timeout: 240 seconds]
<Lynne> oh, ok
jarthur has joined #ffmpeg-devel
<Lynne> do you have any preference how this is represented in a container?
MrZeus__ has joined #ffmpeg-devel
<Lynne> right now, I plan to just encapsulate each OBU
<Lynne> except the initialization OBU, since it's a subset of the stream registration/initialization stuff already present
<jamrial> Lynne: not sure what you're talking about
<jamrial> oh, i'm not using that. i'm writing a demuxer and muxer implementation for iamf, using stream groups
MrZeus_ has quit [Ping timeout: 255 seconds]
<Lynne> right, I know, I'd just like to know if you have any suggestions on a way to encapsulate it?
<JEEB> jamrial: btw since you wanted the frame_sd stuff to have an API in avcodec, I did the first poke at that in https://github.com/jeeb/ffmpeg/commits/avcodec_cll_mdcv_side_data_v5
<jamrial> Lynne: imo, encapsulate each obu, same as how it's done for isobmff
<jamrial> JEEB: can't look at it right now since i'm busy, but will do it later
<JEEB> gotcha
<JEEB> I will attempt to poke at it somewhat soon, but just wanted to let you know that an initial draft of that API is out there visible publicly
<Lynne> jamrial: they basically say that iamf is a new codec in isobmff, right?
<Lynne> so you have isobmff encapsulating iamf encapsulating opus for example
<jamrial> yeah
<jamrial> new sample entry iamf
<Lynne> which I'd like to avoid, and treat iamf as a layer on top
MrZeus_ has joined #ffmpeg-devel
<Lynne> since I carry a sane codec config which is just a superset of iamf codec config
<Lynne> as well as a superset of data packet
<durandal_1707> Lynne: how to matrix transform l+r coding in audio stereo?
<durandal_1707> currently i just do: l = x * r
<durandal_1707> i think thats not very optimal
MrZeus__ has quit [Ping timeout: 248 seconds]
<Lynne> that is generally how you do it
<Lynne> why do you think it's suboptimal?
<durandal_1707> Lynne: well there should be 2 equations 2x2 matrix, and i transform only one channel
<durandal_1707> truehd files have sometimes 1 transform for channel too, but i think 2 equations will be better
<durandal_1707> something more advanced than M/S <-> L/R
<durandal_1707> M = (L + R) / 2
<durandal_1707> S = (R - L) / 2
<durandal_1707> L = M + S
<durandal_1707> R = M - S
<Lynne> yeah, you should be transforming both channels
<Lynne> I thought you already did
<durandal_1707> nope
<durandal_1707> that pdf paper i linked is 'buggy'?! as it is designed to output directly M/S signal
<durandal_1707> or in a way that is no obvious way to get back to original L/R from that M/S with max diff between M and S (M>>>>S)
MrZeus__ has joined #ffmpeg-devel
<durandal_1707> and i do not know why i get 0.707 aka M_SQRT2^-1
<Lynne> it should output m/s signal directly, you should use the matrix to transform both channels
<durandal_1707> yes, it ineed does, and M is alway having most energy
<Lynne> yup
<durandal_1707> but question is how to get back to L/R aka revert that transform
<Lynne> apply matrix again
<Lynne> the inverse of it
<durandal_1707> matrix coeff i can use are of form 2.14 fixed depth precision
<durandal_1707> +1 bit for rounding stored separately
MrZeus has joined #ffmpeg-devel
MrZeus_ has quit [Ping timeout: 252 seconds]
<durandal_1707> Lynne: in my calculations i would get some numbers like -1, -1, 1, -1; for mono in stereo
<durandal_1707> but that is with scaled M_SQRT2
AbleBacon has joined #ffmpeg-devel
MrZeus__ has quit [Ping timeout: 246 seconds]
atzur has joined #ffmpeg-devel
atzur has quit [Client Quit]
<Lynne> I think needing extra global scaling is fine, you can easily fit that into the matrix
<Lynne> not something you should get hung up about
<durandal_1707> but relation is not linear
<durandal_1707> its M_SQRT2 only for true mono in stereo
<j-b> good morning people
SystemError has quit [Remote host closed the connection]
<JEEB> mornin'
<durandal_1707> j-b: Sir!
SystemError has joined #ffmpeg-devel
<Lynne> do you have your gun and your bible yet?
<durandal_1707> ?
<j-b> durandal_1707: master!
<durandal_1707> j-b: yes, slave!
<j-b> lol
Krowl has quit [Read error: Connection reset by peer]
<haasn> j-b: why vlc ignores chroma loc?
<haasn> vlc has a bug
ccawley2011 has joined #ffmpeg-devel
<durandal_1707> a bug has vlc
ccawley2011 has quit [Ping timeout: 255 seconds]
MrZeus_ has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
MrZeus has quit [Ping timeout: 246 seconds]
ccawley2011 has joined #ffmpeg-devel
Mikhail_AMD has quit [Ping timeout: 252 seconds]
ccawley2011 has quit [Ping timeout: 255 seconds]
<tmatth> Lynne: i haven't been able to figure it out yet
<tmatth> i tried to reproduce it in docker and couldn't yet
<tmatth> but yeah, IIUC ffmpeg shouldn't try to build anything vulkan related for me since my version is too old
<Lynne> check pkgconfig, just in case
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
dellas has joined #ffmpeg-devel
<tmatth> Lynne: how do you mean?
<Lynne> look into the pkg config file for libvulkan
<Lynne> and check the version it says
<tmatth> it's in the top line of the trac ticket, but it is correctly reporting 1.3.239
<Lynne> do you have --enable-vulkan?
<tmatth> no
<tmatth> maybe a hint, even with --disable-vulkan I hit this issue
MrZeus__ has joined #ffmpeg-devel
<Lynne> how?
<Lynne> I can't replicate it
<tmatth> also there's clearly a #define CONFIG_VULKAN 0 in config.h
<tmatth> Lynne: well that's the problem, like i said I can reproduce this reliably on my machine but not in e.g. a docker container so far
<Lynne> --disable-vulkan should skip this
<tmatth> my best guess was that something isn't checking for CONFIG_VULKAN but I haven't found that yet
<Lynne> what about --disable-autodetect?
<tmatth> trying now...
MrZeus_ has quit [Ping timeout: 255 seconds]
dellas has quit [Remote host closed the connection]
<tmatth> yeah same result with --disable-autodetect --disable-vulkan
Krowl has joined #ffmpeg-devel
<Lynne> what shell are you using?
<mkver> tmatth: I remember having this problem once, too; the reason is that vulkan_glslang.o is built based upon CONFIG_LIBGLSLANG.
Guest40 has joined #ffmpeg-devel
Guest40 has quit [Client Quit]
<tmatth> Lynne: bash
<nevcairiel> maybe configure should rather fix that? or do we use any of those libs with anything else?
<tmatth> Lynne: testing....
Mikhail_AMD has joined #ffmpeg-devel
<Lynne> technically they can be used by opencl, but it would be pure masochism
<tmatth> Lynne: that patch works, thanks
<Lynne> weird, the check that's historically been the least reliable works
<TD-Linux> linjie, hi
<TD-Linux> *Lynne
<Lynne> yeah, didn't you do something for iamf?
<Lynne> or was it just avif?
Krowl has quit [Read error: Connection reset by peer]
Mikhail_AMD has quit [Quit: Leaving]
dellas has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
<Daemon404> Lynne, he chaired iamf
<durandal_1707> chaired?
ccawley2011 has quit [Ping timeout: 245 seconds]
<Lynne> really? I had no idea
<Lynne> I do think it's rather dumb and naive in some cases - it demands being fully encapsulated and standalone, yet carries no explicit timestamp
<Lynne> it only says implict timestamps, which is fine in an offline-only world with zero dropped packets or losses, but alas
darkapex has quit [Ping timeout: 240 seconds]
darkapex has joined #ffmpeg-devel
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
MrZeus_ has joined #ffmpeg-devel
MrZeus__ has quit [Ping timeout: 255 seconds]
kurosu has quit [Quit: Connection closed for inactivity]
cone-046 has joined #ffmpeg-devel
<cone-046> ffmpeg Niklas Haas master:90d327d607ec: avfilter/vf_showinfo: also print chroma loc
derpydoo has quit [Quit: derpydoo]
navi has quit [Quit: WeeChat 4.0.4]
dellas has quit [Remote host closed the connection]
<haasn> to correspond to the v2 patchset applied onto master
Lynne has quit [Remote host closed the connection]
ePirat has quit [Quit: ZNC 1.8.2 - https://znc.in]
ePirat has joined #ffmpeg-devel
dellas has joined #ffmpeg-devel
Lynne has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
Lynne has quit [Client Quit]
Lynne has joined #ffmpeg-devel
Lynne has quit [Client Quit]
Lynne has joined #ffmpeg-devel
Lynne has quit [Client Quit]
Lynne has joined #ffmpeg-devel
ePirat has quit [Ping timeout: 240 seconds]