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
Sean_McG has quit [Ping timeout: 245 seconds]
ahmedhamed has quit [Quit: Connection closed for inactivity]
Traneptora has joined #ffmpeg-devel
abdu has quit [Quit: Client closed]
Traneptora has quit [Client Quit]
thilo has quit [Ping timeout: 272 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
<jamrial> mkver: we could also remove the av prefix from this api namespace, since it's CLI only
<mkver> yeah
ppa_csharp has joined #ffmpeg-devel
ppa_csharp has quit [Client Quit]
mkver has quit [Ping timeout: 276 seconds]
jamrial_ has joined #ffmpeg-devel
kekePower7 has joined #ffmpeg-devel
jkhsjdhjs_ has joined #ffmpeg-devel
jkqxz_ has joined #ffmpeg-devel
JEEB_ has joined #ffmpeg-devel
markh has quit [*.net *.split]
jamrial has quit [*.net *.split]
microchip_ has quit [*.net *.split]
jkhsjdhjs has quit [*.net *.split]
sm2n has quit [*.net *.split]
psykose has quit [*.net *.split]
BradleyS has quit [*.net *.split]
witchymary has quit [*.net *.split]
odrling has quit [*.net *.split]
uau has quit [*.net *.split]
Lynne has quit [*.net *.split]
JEEB has quit [*.net *.split]
jkqxz has quit [*.net *.split]
kekePower has quit [*.net *.split]
kekePower7 is now known as kekePower
jkhsjdhjs_ is now known as jkhsjdhjs
Anthony_ZO has joined #ffmpeg-devel
markh has joined #ffmpeg-devel
microchip_ has joined #ffmpeg-devel
sm2n has joined #ffmpeg-devel
psykose has joined #ffmpeg-devel
BradleyS has joined #ffmpeg-devel
witchymary has joined #ffmpeg-devel
odrling has joined #ffmpeg-devel
uau has joined #ffmpeg-devel
Lynne has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
kasper93 has quit [Quit: kasper93]
kasper93 has joined #ffmpeg-devel
compn has quit [Read error: Connection reset by peer]
compn has joined #ffmpeg-devel
grillo_02 has joined #ffmpeg-devel
grillo_0 has quit [Ping timeout: 272 seconds]
grillo_02 is now known as grillo_0
usagi_mimi has quit [Quit: WeeChat 4.5.2]
jamrial_ has quit []
aaabbb has quit [Changing host]
aaabbb has joined #ffmpeg-devel
Guest44 has joined #ffmpeg-devel
<Guest44> Hello, I found mpeg file can call av_seek_frame  success, but av_read_frame will always return EOF, is it a bug?
<Guest44> should i send email to ffmpeg-dev or libav?
<aaabbb> bug tracker is the simplest
<fflogger> [newticket] honglongyu: Ticket #11546 ([avcodec] mjpeg file call av_read_frame return EOF after seek) created https://trac.ffmpeg.org/ticket/11546
DodoGTA has quit [Read error: Connection reset by peer]
JEEB_ is now known as JEEB
System_Error has quit [Ping timeout: 264 seconds]
System_Error has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
<fflogger> [editedticket] fildens: Ticket #11430 ([avformat] [Regression] Data stream in output may glitch "-stats" display since 7.0) updated https://trac.ffmpeg.org/ticket/11430#comment:15
ngaullier has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
DodoGTA has joined #ffmpeg-devel
dim^ has quit [Quit: leaving]
j45_ has joined #ffmpeg-devel
j45 has quit [Read error: Connection reset by peer]
j45_ is now known as j45
j45 has joined #ffmpeg-devel
j45 has quit [Changing host]
OctopusET has quit [Ping timeout: 248 seconds]
OctopusET has joined #ffmpeg-devel
mkver has quit [Ping timeout: 265 seconds]
abdu has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
TheVibeCoder has joined #ffmpeg-devel
<TheVibeCoder> Lynne: the braw is not bayer at all, its some subsamples rgb/yuv variant
<Lynne> nope, braw is 100% bayer
<TheVibeCoder> how so?
<Lynne> it's the ONLY '''raw''' format out there which keeps its bayer tiling
<Lynne> rest of cinema gear, except arrirraw and cinemadng does some variant of yuv conversion in camera and relies on LUTs
<Lynne> (so does braw, there's a massive lut embedded in the mov we don't yet parse, but less so)
<TheVibeCoder> if its is bayer, so it always uses same pattern? what you see when you zoom in with debayered output?
<TheVibeCoder> in prores raw i clearly see bayer pattern and data is not subsampled
<TheVibeCoder> in braw, if its really bayer its magic
<Lynne> looks fine after debayering
<TheVibeCoder> can you share single frame of this in braw format?
<Lynne> yeah, give me a moment to find the source
<TheVibeCoder> want to compare output to the gbrp12 decoder
<TheVibeCoder> half of 1 gb
<TheVibeCoder> do i need to pay for traffic?
<Lynne> are you on a metered connection?
<TheVibeCoder> asking for you, my side can fetch TBs and more
<TheVibeCoder> anyway its too late...
<Lynne> I hardly get any traffic
<TheVibeCoder> this is gbrp12 decoder (librempeg) with -vf exposure=2 filter
<TheVibeCoder> there is still small green tint (because of BRAW hidden color stuff)
<Lynne> its definitely bayer
<TheVibeCoder> also watch for banding and overflow/folding of values, because i couldnt dechiper all binary stuff, also there is newer bitstream, with different coefficients/coding I never got to implement/RE
Guest44 has quit [Quit: Client closed]
<Lynne> I'm not sure it's bayer
<Lynne> they keep talking about partial debayering
<TheVibeCoder> i never was, prores raw is really bayer, and DNG-TIFF with extra stuff (its special lossless jpeg coding...)
<Lynne> i?
<TheVibeCoder> there is also patent to read, but  it probably have more unknowns than it reveal new thinigs
<Lynne> what does braw do that isn't bayer?
<TheVibeCoder> that decorrelate chunk
<TheVibeCoder> prores raw does not have it
<TheVibeCoder> https://github.com/librempeg/librempeg/blob/master/libavcodec/braw.c#L376  also here, but it outputs directly to gbrp12
<TheVibeCoder> that part is speculation, by interpreting patent
<TheVibeCoder> they probably do correlating thing inside camera....
<TheVibeCoder> there would not be need for that if all 4 components are of same size when doing IDCT
<TheVibeCoder> but in BRAW, there is 2 IDCT of 8x8
<TheVibeCoder> and 2 IDCT of 8x4
<haasn> how the heck is vfmadd slower than vmulps + vaddps as two separate istructions
<TheVibeCoder> amd or intel?
<Lynne> haasn: fma is very sensitive to latency
<Lynne> mul+add can be pipelined, but fma is a single uop
<haasn> TheVibeCoder: ryzen 9
<TheVibeCoder> yea, latency is the thing, it will need to wait more
<TheVibeCoder> but perhaps there is way to avoid that?
<TheVibeCoder> or really not
<Lynne> TheVibeCoder: does librempeg support prores raw?
<TheVibeCoder> yes at least on variant of bayer pattern that  i encountered in wild
<TheVibeCoder> *on
<TheVibeCoder> *one
<TheVibeCoder> so its missing recognizing other/different patterns, need to find right spot in bitstream when/how its signaled
<TheVibeCoder> *where/how
<TheVibeCoder> prores raw have almost 95% code stolen from prores
jamrial has joined #ffmpeg-devel
<TheVibeCoder> also there is 2 variants of prores raw, I think one is fully 12 bit (higher quality) and other is 10bit (when looking at pixel distribution in waveform)
<mindfreeze> Lynne: if i use Blackmagic raw's ExtractFrame example part of their SDK, i get the deocded frame to be https://people.videolan.org/~mindfreeze/outputRGBAU8.png
<mindfreeze> Probably you already tested them.
<TheVibeCoder> yea, different tint, good luck figuring out right color transfer and other stuff...
<Lynne> mindfreeze: there's absolutely no way to get that image ever via ffmpeg
<Lynne> at least without applying the very same filters they used
<mindfreeze> i wonder if we use the embedded metadata information o the clip (like LUT Cube and apply it), will that improve anything. Probably they only useful if we want to get as BT709 or anything else to transform
<Lynne> TheVibeCoder: is all prores raw bayer, or do they have partially debayered patterns?
<TheVibeCoder> to me it appears its real bayer pattern, and not some hack
<TheVibeCoder> at least there is no sign of subsampled dct in codebase
<TheVibeCoder> there is only on dct variant used, unlike 2 in braw
<TheVibeCoder> also they have lowres stuff
<TheVibeCoder> iirc
<TheVibeCoder> and most of code is GPU-oriented
<TheVibeCoder> and yes BRAW too
<haasn> I guess I could switch from row-strided ops to column-strided linear ops; to make the sequence fma m0, m4, m8; fma m1, m4, m9; fma m2, m4, m10; fma m3, m4, m11 instead of fma m0, m4, m8; fma m0, m5, m9; fma m0, m6, m10; ...
<haasn> I guess the read-add-write critical path on m0 here is the problem
<TheVibeCoder> its uses nv/cuda thing, so if you can dechiper BRAW bytecode dealing with shader code you can maybe improve color situation
<TheVibeCoder> mindfreeze: issue is that BRAW also have special own version of color-transfer/primaries math behind all of this...
<Lynne> they also do noise reduction via their own libraries
<mindfreeze> yeah see that now
<Lynne> which is completely NG IMHO, no professional gear should ever do processing to the extent that they do
<TheVibeCoder> i had pngg sample that have 0 post-processing as done by software
<TheVibeCoder> so realistic goal would be to try to reach that output
<TheVibeCoder> aka 0-calibration
<TheVibeCoder> i guess i could do it all i I owned device and/or software, but I was never much into that.
mkver has quit [Ping timeout: 276 seconds]
Gramner has quit [Remote host closed the connection]
abdu has quit [Ping timeout: 240 seconds]
<fflogger> [editedticket] MasterQuestionable: Ticket #11217 ([ffmpeg] Output "-ss" memory consumption regression) updated https://trac.ffmpeg.org/ticket/11217#comment:28
Gramner has joined #ffmpeg-devel
TheVibeCoder has quit [Quit: Client closed]
abdu has joined #ffmpeg-devel
<fflogger> [editedticket] MasterQuestionable: Ticket #11430 ([avformat] [Regression] Data stream in output may glitch "-stats" display since 7.0) updated https://trac.ffmpeg.org/ticket/11430#comment:16
abdu has quit [Ping timeout: 240 seconds]
abdu has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
abdu has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
abdu has joined #ffmpeg-devel
minimal has joined #ffmpeg-devel
cone-805 has joined #ffmpeg-devel
<cone-805> ffmpeg Nicolas George master:0040d7e60896: lavfi/src_movie: set pkt_timebase
<haasn> what reward do I get when my asm code triggers an assertion in nasm during compilation?
pross has quit [Ping timeout: 245 seconds]
<jamrial> haasn: a bug report # :p
abdu has quit [Quit: Client closed]
abdu has joined #ffmpeg-devel
Anthony_ZO has quit [Ping timeout: 245 seconds]
Traneptora has joined #ffmpeg-devel
Martchus has quit [Quit: ZNC 1.6.3 - http://znc.in]
Martchus has joined #ffmpeg-devel
<another|> Lynne: hmm... am I stupid? What do I have to do to enable ffv1_vulkan?
<jamrial> another|: you need libglslang or libspirv-tools
<jamrial> and of course vulkan headers
<another|> hmm.. I think I have all those
<another|> Is there any configure flag?
<jamrial> yes, --enable-libglslang
<jamrial> or --enable-libshaderc
cone-805 has quit [Quit: transmission timeout]
<another|> which one is preferred?
<jamrial> no idea, but apparently shaderc depends on glslang anyway
<another|> err... how th do I convert from nv12 to vulkan pix fmt?
<JEEB> hwupload
<another|> unfortunately not
ngaullier has quit [Remote host closed the connection]
<another|> it's already in hw
mkver has quit [Ping timeout: 245 seconds]
<JEEB> oh
<JEEB> so another hw pix_fmt which needs to get converted to vulkan
mkver has joined #ffmpeg-devel
<JEEB> I thought that also used to be the territory of hwupload, but not sure with the vulkan hw format
<JEEB> `hwupload,format=pix_fmts=vulkan` or something
<JEEB> hwmap is the other filter dealing with hw frames which is not hwdownload (which goes to RAM)
<another|> hmm.. okay. hwupload works for sw->hw
<JEEB> and I've at least previously seen it work for hw->hw
<JEEB> but I would not be surprised if that was back then
<JEEB> and for specific hw pixel formats
<another|> I thought vulkan hw decode to vulkan hw encode should work pretty straight forward
<JEEB> uhh, it should :D
<JEEB> so your input is a vulkan hw frame?
<another|> alas..
<JEEB> so it's not the hw pixel format that is the problem but the actual data within it?
<another|> My input is nv12 from h264_vulkan
<JEEB> then either scale_vulkan or libplacebo filter to whatever ffv1enc_vulkan requires
<another|> already tried scale_vulkan
<another|> haven't compiled with libplacebo in this build since I'd need to use placebo git
<JEEB> scale_vulkan=format=blah gives an error?
<JEEB> seems to support yuv420p, yuv444p outside of nv12
<JEEB> oh, is its input limited to RGB?
<JEEB> since if input and output formats differ the first check is `!ff_vk_mt_is_np_rgb(s->vkctx.input_format)`
<JEEB> and if true, it errors out
<JEEB> I would expect libplacebo to be able to at least interpret NV12, but ┐(´д`)┌
<another|> umpf. I think I give up for now
<JEEB> the encoder doesn't support NV12 input I guess so that's why without conversions you cannot just push the hw decoded frame through
DauntlessOne4 has quit [Ping timeout: 276 seconds]
___nick___ has joined #ffmpeg-devel
DauntlessOne4 has joined #ffmpeg-devel
Sean_McG has joined #ffmpeg-devel
<Sean_McG> I suspect I already know the answer, but other than RPi and the fruit company, are there any other options for an ARM64 desktop?
<Sean_McG> I know nVidia has an AI workstation coming out as well
Traneptora has quit [Quit: Quit]
<nevcairiel> other then all the random SBCs from a variety of unknown companies?
<Sean_McG> aye
<Sean_McG> I'm guessing that's a no
Traneptora has joined #ffmpeg-devel
Traneptora has quit [Client Quit]
uau_ has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
uau has quit [Killed (iridium.libera.chat (Nickname regained by services))]
uau_ is now known as uau
<Lynne> another|: did you figure it out?
<Lynne> JEEB: ffv1 supports yuv420p, just not nv12, though support could be added
<JEEB> yea, that makes sense
<JEEB> since most likely you did not think of supporting hwdec frames as-is
<JEEB> as usually for ffv1 something else is the input :)
<BtbN> There's a bunch of ARM Laptops available now
<Sean_McG> I'd intend to run Linux on them, so the Windows Snapdragons are out of the question.
<another|> Lynne: so vulkan == yuv420p ?
<Lynne> if you do vulkan decode using av1/h264/hevc, you get nv12
<Lynne> the software format is independent of the hardware format
abdu has joined #ffmpeg-devel
<Lynne> if you upload a software format, that format stays with vulkan
<BtbN> Linux is still severely lacking on the ARM front
<BtbN> doesn't help that ARM is complete wild west, no standardization
<BtbN> by the time a device tree and all the drivers have made it upstream, the device is half obsolete
<BtbN> plus, i'm not sure if Linux wants to become a dumping ground for a bazillion of device trees and craptastic drivers
<another|> Lynne: so "vulkan" is kind of a meta format?
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<Lynne> yes
<BtbN> all the hwformats are
___nick___ has joined #ffmpeg-devel
<another|> huh? is nv12 not a HW format?
<JEEB> pixel formats have two formats
<JEEB> due to hysterical raisisns
<kepstin> nv12 is a layout of pixels in memory - the memory can either be memory accessible by the cpu, or memory accessible by the gpu
<JEEB> so in case of hw formats you get {format=vulkan, sw_format=nv12}
<JEEB> whihc means "vulkan base pixel format, the actual contents are nv12"
<tmatth> Lynne: getting build breakage on hwcontext_vulkan.c: https://paste.debian.net/1369649/
<JEEB> tmatth: I got that when I had a different set of vulkan headers in my sysroot which were older (feb 2024)
<JEEB> so the configure check probably passed due to system headers, and then the additional custom sysroot stuff then got included first in that stuff
<tmatth> JEEB: yeah in my case I just have whatever the distro is shipping, haven't installed any custom stuff
abdu94 has joined #ffmpeg-devel
<tmatth> so I'm guessing a configure check needs to be stricter or some ifdefs need to be added
<JEEB> then re-run configure and if it indeed succeeds then the configure check indeed needs to be stricter
abdu has quit [Ping timeout: 240 seconds]
<JEEB> see ffbuild/config.log for what exactly passes
<another|> glslang or shaderc ?
<tmatth> JEEB: yeah I had already re-run configure before bugging you all :)
<JEEB> :)
<tmatth> it's checking for vulkan >= 1.3.277
<tmatth> apparently the problematic struct is "Provided by VK_VERSION_1_4" https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderExpectAssumeFeatures.html
<JEEB> the header check did attempt to check for that I think
<JEEB> in my case the pkg-config check didn't succeed
<tmatth> in my case pkg-config passed because I have 1.3.290
<jamrial> the vulkan checks look for VK_VERSION_1_3, so if that needs 1_4 and can't be made optional, then the check needs to be updated
<jamrial> Lynne: ^
<tmatth> jamrial: yeah
<jkqxz_> Is there a TRANSPOSE8x8D hidden somewhere?
jkqxz_ is now known as jkqxz
<jamrial> doesn't look like
<jamrial> tmatth: http://pastie.org/p/4kwjGxmfnezVzky2beeYXO maybe this fixes it for you
<jamrial> or http://pastie.org/p/6J16Es7QT9paHW1j1bjJjv (fixing empty lines in the diff)
<Lynne> patch sent
<jamrial> yeah, same thing :p
<jkqxz> Would that want to be added to x86util or just use it in-place?
<jamrial> in-place until something else needs it, imo
<fflogger> [newticket] merolac: Ticket #11547 ([ffmpeg] Support for SEGA CD/MEGA CD video and audio codecs used in Road Avenger videogame) created https://trac.ffmpeg.org/ticket/11547
<tmatth> Lynne, jamrial: thx that fixed it for me
<Lynne> jamrial: yours is correct, go ahead and push it
<tmatth> (I tested Lynne's version FWIW)
System_Error has quit [Ping timeout: 264 seconds]
<tmatth> jamrial's version didn't work for me
<jamrial> so your headers define VK_KHR_shader_expect_assume but not VkPhysicalDeviceShaderExpectAssumeFeatures?
cone-721 has joined #ffmpeg-devel
<cone-721> ffmpeg James Almer master:f29475a89ecb: avutil/hwcontext_vulkan: check if expect_assume is supported by the header
<tmatth> I have "#define VK_KHR_shader_expect_assume 1" and "typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR "...that's it
<jamrial> oh
<jamrial> tmatth: and http://pastie.org/p/4G4du5lObbhfHkIh2FAqIm ? (on current git head, so with the above commit)
<tmatth> jamrial: yes, that works thanks
<cone-721> ffmpeg James Almer master:0e5967569861: avutil/hwcontext_vulkan: use the typedef'd name for the expect_assume struct
System_Error has joined #ffmpeg-devel
<tmatth> btw the latency between seeing commit notifications here and being able to pull them is pretty high (this is probably old news)
<jamrial> tmatth: your headers are weird either way. maybe some indev snapshot before 1.4 was finished?
kasper93 has joined #ffmpeg-devel
kasper93 is now known as Guest686
Guest686 has quit [Ping timeout: 268 seconds]
___nick___ has quit [Ping timeout: 248 seconds]
kasper93 has quit [Ping timeout: 268 seconds]
mkver has quit [Ping timeout: 260 seconds]
kasper93 has joined #ffmpeg-devel
<jamrial> tmatth: ah, i guess it's an extension in 1.3 that got officialized in 1.4, where VkPhysicalDeviceShaderExpectAssumeFeatures was introduced
<tmatth> jamrial: good to know
microlappy has joined #ffmpeg-devel
<Lynne> tmatth: did encoding work?
<Lynne> you can use -async_depth to make it faster
IndecisiveTurtle has joined #ffmpeg-devel
<tmatth> Lynne: compilation worked didn't get as far as encoding
microlappy has quit [Quit: Konversation terminated!]
microlappy has joined #ffmpeg-devel
microlappy has quit [Client Quit]
abdu94 has quit [Ping timeout: 240 seconds]
abdu has joined #ffmpeg-devel
abdu has quit [Quit: Client closed]
IndecisiveTurtle has quit [Ping timeout: 252 seconds]
jamrial has quit []
pross has joined #ffmpeg-devel
<tmatth> Lynne: I only have vulkan decoding for h264 and hevc
<tmatth> this is with NVidia Quadro M2200 so not terribly surprising
<toots5446> michaelni: Just sent a v12 of the patchset with the metadata decoding logic reverted to the simpler original implementation.
abdu has joined #ffmpeg-devel
wyatt8740 has quit [Ping timeout: 252 seconds]
wyatt8740 has joined #ffmpeg-devel
wyatt8740 has quit [Ping timeout: 265 seconds]
wyatt8750 has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
cone-721 has quit [Quit: transmission timeout]
jamrial has quit [Client Quit]
jamrial has joined #ffmpeg-devel
jamrial has quit [Client Quit]
jamrial has joined #ffmpeg-devel
<Lynne> tmatth: and ffv1, since we only use compute shaders for it
<tmatth> Lynne: that doesn't show up when I run ffmpeg -encoders | grep vulkan
jamrial has quit []
jamrial has joined #ffmpeg-devel
<Lynne> tmatth: you said decode
<Lynne> did ffv1_vulkan appear when you ran ./configure?
jamrial has quit [Read error: Connection reset by peer]