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 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
thilo_ has quit [Ping timeout: 276 seconds]
thilo_ has joined #ffmpeg-devel
mkver has quit [Ping timeout: 264 seconds]
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Ping timeout: 265 seconds]
kasper93_ is now known as kasper93
jamrial has quit []
Martchus has joined #ffmpeg-devel
Martchus_ has quit [Ping timeout: 252 seconds]
<Marth64[m]> is mpeg-ts pid more traditionally displayed as decimal or hex? eg. in a log
arch1t3cht7 has joined #ffmpeg-devel
arch1t3cht has quit [Ping timeout: 252 seconds]
arch1t3cht7 is now known as arch1t3cht
zsoltiv_ has quit [Ping timeout: 265 seconds]
System_Error has quit [Ping timeout: 260 seconds]
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 248 seconds]
tufei has quit [Remote host closed the connection]
tufei has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 252 seconds]
System_Error has joined #ffmpeg-devel
<Marth64[m]> bdmv demuxer if anyone wants to try https://paste.debian.net/hidden/2b705d99/
<Marth64[m]> truehd is broken
<Marth64[m]> it's a work in progres
<Lynne> sure
<Marth64[m]> enjoy. it should be able to guess the main title via libbluray otherwise can pass MPLS id by -item option
<Marth64[m]> will work on seeking and any issues tomorrow
<Marth64[m]> ffmpeg -f bdmv -i bd.iso ...
<Lynne> seems to work pretty nice
<Marth64[m]> :)
<Lynne> it should print out all titles as AV_LOG_INFO on init
<Lynne> same with dvd
<Lynne> mpv does this by default with its own dvd/bd demuxers
<Lynne> index, title and duration
<Marth64[m]> yes, the plan there is to have a AVDVDTitle / AVBDTitle type situation and expose programatically as well as log it out for users
<Marth64[m]> in this way i can expose anything playable including menus
<Lynne> DCA/DTS works
<Lynne> switching tracks on mpv does corrupt video for a bit
<Marth64[m]> i have noticed thatt on dvd too
<Marth64[m]> i suspect it is a mpv thing but i will play more
<Marth64[m]> seems to just be thd causing trouble for now... i am sure once i start testing on more samples i will find issues
<Marth64[m]> thank you for testing
<Lynne> thd will be a pain as truehd has keyframes and p-frames
<Marth64[m]> yeah i have some studying to do
<Marth64[m]> good night for now
derpydoo has joined #ffmpeg-devel
darkapex has quit [Ping timeout: 252 seconds]
MisterMinister has quit [Ping timeout: 252 seconds]
<kurosu> nasm 2.15 has broken dependency generation iirc (missing paths), but not sure that affects ffmpeg. They decided to fix that only after, in the 2.16 line. I may be off by 0.01, and that doesn't affect getting rid of yasm, more reacting to nasm quirks
cone-012 has joined #ffmpeg-devel
<cone-012> ffmpeg Zhao Zhili master:eff9ed7bff45: avcodec/mediacodecenc: Fix access of uninitialized value
ngaullier has joined #ffmpeg-devel
<cone-012> ffmpeg Zhao Zhili release/7.1:4c0ef3bfae14: avcodec/mediacodecenc: Fix access of uninitialized value
Krowl has joined #ffmpeg-devel
tufei_ has joined #ffmpeg-devel
<j-b> gg elenril
<cone-012> ffmpeg Anton Khirnov master:2aad37ffb5e8: lavfi/buffersink: move the option sanity check to init
<cone-012> ffmpeg Anton Khirnov master:b8bf2f4e1758: lavfi/buffersink: move channel layout parsing to init
<cone-012> ffmpeg Anton Khirnov master:2fa142f7c023: lavfi/buffersink: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:a7fe27f9647e: lavfi/buffersrc: validate hw context presence in video_init()
<cone-012> ffmpeg Anton Khirnov master:670530a92721: lavfi/buffersrc: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:4e66d0c5d057: lavfi/f_drawgraph: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:60192367a8f3: lavfi/f_ebur128: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:9e1184b122d3: lavfi/f_graphmonitor: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:a6f579544aea: lavfi/f_select: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:f10986a5ec25: lavfi/f_streamselect: drop useless query_formats() callback
<cone-012> ffmpeg Anton Khirnov master:534eef2acea1: lavfi/qrencode: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:55c99fb9c4e3: lavfi/src_avsynctest: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:014a4214a9b8: lavfi/src_movie: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:3824ee2fafe9: lavfi/vf_stack_{vaapi,qsv}: replace query_formats with a pixfmt list
<cone-012> ffmpeg Anton Khirnov master:28bde4a1418b: lavfi/vaf_spectrumsynth: switch to query_func2()
<cone-012> ffmpeg Anton Khirnov master:aad4d5745dc9: lavfi/vsrc_testsrc: switch to query_func2()
tufei has quit [Remote host closed the connection]
<frankplow> Seeing some strange behaviour with AV_CEIL_RSHIFT: AV_CEIL_RSHIFT(576, 5) returns 18 as you would expect. AV_CEIL_RSHIFT(a, b), where a=576 and b=5, however, returns -134217710.
ngaullier has quit [Quit: Leaving]
<frankplow> I see the implementation tries to do some bithack if !av_builtin_constant_p(b), do the arguments need to be signed or something? Doesn't indicate as such in the explanatory comment
derpydoo has quit [Ping timeout: 252 seconds]
<cone-012> ffmpeg Lynne master:0a37d5a3b1fb: vulkan: merge FFVkSPIRVShader and FFVkPipeline into FFVkShader
<cone-012> ffmpeg Lynne master:d233d9902fde: vulkan: move shader data execution state to execution pools
<cone-012> ffmpeg Lynne master:877c5a969233: vulkan: use shader objects if supported
<cone-012> ffmpeg Lynne master:37d5cb84e8ab: vulkan: check if current buffer has finished execution before picking another
<cone-012> ffmpeg Lynne master:d80f9f55c8a7: vulkan: always enable GL_EXT_scalar_block_layout
<cone-012> ffmpeg Lynne master:0d5bfd0b21c4: vulkan_functions: change extension type to a typedef uint64_t
<cone-012> ffmpeg Lynne master:535e5eb7f3ef: hwcontext_vulkan: enable VK_KHR_shader_relaxed_extended_instruction
<cone-012> ffmpeg Lynne master:e3676d96cbaf: hwcontext_vulkan: move device feature struct setup to a new function
<cone-012> ffmpeg Lynne master:356d1cc8ff8e: vulkan: parse instance list and add the DEBUG_UTILS extension
<cone-012> ffmpeg Lynne master:0bc4e03322c7: lavfi/*vulkan: forward FFVulkanContext to SPIR-V compilers
<cone-012> ffmpeg Lynne master:a2a983e1d03c: vulkan_glslang: add more stages, target Vulkan 1.3 and output debug info
<cone-012> ffmpeg Lynne master:2bb0b6dd2c16: vulkan_shaderc: add more stages, target Vulkan 1.3 and only output debug if needed
<cone-012> ffmpeg Lynne master:832947be023b: vulkan: don't enable GL_EXT_buffer_reference by default
<cone-012> ffmpeg Lynne master:a304cbeb8d48: vulkan: add profiling debug setting
<elenril> Lynne: src/libavutil/vulkan_loader.h:47:11: error: ‘VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME’ undeclared (first use in this function); did you mean ‘VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME’?
<Lynne> crap, I made sure to ifdef every mention of the new API behind ifdefs
<Lynne> except that one, but its an easy fix
<elenril> also rc/libavutil/hwcontext_vulkan.c:233:12: error: ‘VulkanDeviceFeatures’ has no member named ‘relaxed_extended_instruction’
<Lynne> fixed, let me downgrade my headers to be sure
___nick___ has joined #ffmpeg-devel
<cone-012> ffmpeg Lynne master:ac092c6707d8: hwcontext_vulkan: guard all uses of new spec defines and fix stray bracket
<elenril> works now, thanks
<Lynne> sorry about that, I ought to keep a machine with the minimum header version we support now that we don't bump header requirements as often
<Lynne> the extension is only from 3 months ago, and by all means shouldn't even exist as drivers should ignore comment instructions they don't understand
Krowl has quit [Read error: Connection reset by peer]
<elenril> we living on the edge, huh
<Lynne> it does run on rpi4 now on the other hand
<ePirat> elenril, is there a way to make `ffmpeg -f lavfi -i 'anoisesrc=color=brown:d=1' -filter_complex '[0:a][0:a]concat=n=2:a=1[a]' -map '[a]' -f null -` fail in a less confusing way?
<ePirat> I would expected something like: Media type mismatch between the stream 0:a (audio) and the 'Parsed_concat_1' filter input pad 0 (video)
<ePirat> I get: Stream specifier ':a' in filtergraph description [0:a][0:a]concat=n=2:a=1[a] matches no streams.
<ePirat> which is the most confusing message ever as clearly :a matches a steam, just not the right type…
Krowl has joined #ffmpeg-devel
Sebastinas has quit [Quit: -]
Sebastinas has joined #ffmpeg-devel
psykose has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
cone-012 has quit [Quit: transmission timeout]
jamrial has joined #ffmpeg-devel
cone-470 has joined #ffmpeg-devel
<cone-470> ffmpeg Marvin Scholz master:5beeb3a1f97d: fftools: do not access out of bounds filtergraph
<cone-470> ffmpeg Marvin Scholz master:f25c9cc213c7: fftools: log unconnected filter output label
<thardin> RE: libcurl, I'd be very much in favor of this. there is no reason to maintain a shitty HTTP(S) implementation
<thardin> alas opposing NIH is heresy in this project
<jamrial> things working out of the box with no extra dependencies is nice
<thardin> increased mainenance burden is not so nice
<thardin> apt build-dep ffmpeg isn't hard to do
<aaabbb> # ldd $(which ffmpeg) | wc -l
<aaabbb> 215
<ePirat> problem with curl is last I checked it could not really safely be used in a library due to global init/deinit functions that were not thread-safe
<jamrial> do they not know about pthread_once?
<thardin> not a huge issue if it's just init
<thardin> one issue though with libcurl is its use of callbacks. callbacks suck
Krowl has quit [Read error: Connection reset by peer]
<Traneptora> brewing your own HTTP(S) client just sounds like a recipe for security issues
<Traneptora> even something like libcurl gets CVEs and there's a lot of eyes on it. how many eyes are gonna be on our code
<elenril> libcurl is far more complex though
<Traneptora> point stands, if we homebrew it we have to maintain it and security is a pain
<elenril> ePirat: I guess
<elenril> I don't recall many problems with our http implementation
<elenril> http is quite simple
<Traneptora> basic http is, yea, I'm more worried about TLS
<Traneptora> vanilla HTTP is not expected to be secure anyway
<elenril> we don't implement tls though
<elenril> that would be insane
<elenril> then again so are all tls implementations
<Traneptora> let someone else handle that insanity tho
<Traneptora> I was more referring to this
<Traneptora> > >there is no reason to maintain a shitty HTTP(S) implementation
<Traneptora> maintenance overhead does indeed suck but how many LOC are we talking for our HTTP client
<Traneptora> if it's one .c file with like 500 LOC it's not so bad
<Traneptora> 500 LOC meaning 500 newlines, not functional code
<ePirat> elenril, shouldnt be too hard to do looking at the code, in fact just commenting the type check for the stream specifier match skipping code already gives a better error message :D
Krowl has joined #ffmpeg-devel
<thardin> the work spent on http.c, ftp.c etc could be better spent elsewhere. which is the entire point of libraries
<elenril> i'd say libraries with global init don't deserve the name, but....
compnnn has joined #ffmpeg-devel
<thardin> global init is fine if it's once, or if it's once per connection and you can put them behind a mutex
<thardin> depending on the kind of init of course. one counterexample is locale in libc
compnn has quit [Read error: Connection reset by peer]
<elenril> global init is always bad and wrong
<thardin> undialectical
<elenril> global anything should be unacceptable for a library
<thardin> for example, loading a dependency is global init, no?
<elenril> anything done by dynamic loader is not a part of the program
<thardin> semantics
<thardin> also I'm reasonably sure you can put code in there that ld runs
<thardin> but just to take one example, generating LUTs is a perfectly reasonable thing to do once globally
<cone-470> ffmpeg Nuo Mi master:8446e27bf3b6: avcodec: make a local copy of executor
<cone-470> ffmpeg Nuo Mi master:40a14ef970f7: avcodec/executor: remove unused ready callback
<cone-470> ffmpeg Nuo Mi master:846fbc395be7: avcodec/vvc: simplify priority logical to improve performance for 4K/8K
<ePirat> elenril, iirc the global init is due to dependencies of libcurl not libcurl itsefl to be fair
<ePirat> also it has been a while since I checked so maybe thats not an issue anymore
<wbs> that's usually from the TLS libraries (and generic winsock init on windows), so as long as those haven't gotten rid of it, curl can't really either
<thardin> clearly we must implement tls
arbitercoin has joined #ffmpeg-devel
<BtbN> libcurl itself is especially bad with its global init, since it can have multiple different TLS backends, and they all behave differently
<BtbN> I had fun with that when I wanted to use curl in a ZNC plugin, while ZNC itself sometimes uses curl, in another plugin
<BtbN> So I had no idea if the other plugin already had called init. And calling it again caused global memory corruption
<BtbN> It worked fine when using libnss. It worked very not fine when using openssl or gnutls.
<BtbN> Why they don't guard that shit... I don't know.
<BtbN> There is also no way to check if it's already been called
<jamrial> wbs: should be fine
<ePirat> BtbN, this was changed it seems: This function is thread-safe on most platforms. Then curl_version_info has the threadsafe feature set (added in 7.84.0).
<BtbN> thread-safe as in "can call it as many times as you want"?
<BtbN> Cause znc is single threaded. Just simply calling it again broke stuff.
<ePirat> yeah
<cone-470> ffmpeg Marvin Scholz release/7.1:e14a3a4b1161: fftools: do not access out of bounds filtergraph
<cone-470> ffmpeg Marvin Scholz release/7.1:9b061291ad3c: fftools: log unconnected filter output label
<BtbN> But what do if it's not set? Just bail with an error?
microchip__ has joined #ffmpeg-devel
microchip_ has quit [Ping timeout: 260 seconds]
<ePirat> BtbN, well like I said before I agree we should use ideally some library (especially for HTTP2 and QUIC in the future), I do not think libcurl might be the best fit there
<wbs> the basics for what we have now probably is fine as is, but some library for the http2 transport may be good
<BtbN> Can ffmpeg even make use of any of the http2 stuff? It seems pointless to me to implement support for it
<BtbN> We'd need to rework the entire internal API to be async
microchip__ has quit [Ping timeout: 245 seconds]
microchip__ has joined #ffmpeg-devel
<Marth64[m]> i might try prototype something (more curious from a curl angle than http2)
<Marth64[m]> just a small protocol handler and see what happens
<BtbN> curl apparently also supports rtmp, huh
<BtbN> and ssh and everything
<Marth64[m]> yeah
<wbs> curl just wraps librtmp
<wbs> we gain absolutely nothing from routing that there
<wbs> only yet another option translating layer
<kepstin> i'd expect http2 might have some benefits for live playback of fragmented playback formats. but I doubt http 1.1 support to go away any time soon in servers.
Krowl has quit [Read error: Connection reset by peer]
<BtbN> kepstin: The only part that's a benefit would be parallel requests, which http 1.1 also supports, but barely anyone implements
<BtbN> instead the http2 complexity monster is pulled in
<kepstin> http 1.1 supports pipelined requests, not parallel requests. (can't interleave response data)
<ePirat> BtbN, hence using a external library so you can just disable it if its not relevant to your use-cases
mkver has quit [Ping timeout: 252 seconds]
<BtbN> pipelined requests sound like a pretty good fit for a video stream to me
<nevcairiel> we make use of that
<nevcairiel> for hls/dash clients
<kepstin> it's mostly fine, but pulling an updated manifest for a segmented live stream could get blocked behind a segment download.
<nevcairiel> i think our code at least uses a new connection for manifest updates, but its been a while since i checked
<ePirat> also in HLS you can have one segment for video and one for audio
<kepstin> how much that matters, i don't know
microchip__ is now known as microchip_
<nevcairiel> iirc the hls demuxer also has an option to use threads for parallel requests
<Marth64[m]> it appears to have some pooling
<nevcairiel> actually its not threads, it just uses multiple connections that it uses simultaenously
mkver has joined #ffmpeg-devel
<Marth64[m]> yep
<Marth64[m]> i barely use it myself but hls demuxer helped me learn the subdemuxer in demuxer pattern
microchip_ has quit [Quit: There is no spoon!]
<Marth64[m]> mentally i am still stuck in the SD content era
<Marth64[m]> its a sickness
microchip_ has joined #ffmpeg-devel
ngaullie has joined #ffmpeg-devel
sudden has joined #ffmpeg-devel
ngaullier has quit [*.net *.split]
some02 has quit [*.net *.split]
MisterMinister has joined #ffmpeg-devel
mkver has quit [Ping timeout: 248 seconds]
mkver has joined #ffmpeg-devel
Sean_McG has joined #ffmpeg-devel
<Sean_McG> my G5 will probably be down for a few days -- I'll do a full run of my FATE nodes today but I need to take it apart and find out why it is making funny noises. It probably needs a deep clean.
ngaullie has quit [Ping timeout: 265 seconds]
rvalue has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
kasper93 has quit [Remote host closed the connection]
ccawley2011 has joined #ffmpeg-devel
<Marth64[m]> speaking of fate nodes i'm happy to make my Pi4 a fate node
<Marth64[m]> my dream of running a pbx server and living a sip life is dead
<Marth64[m]> is there a process to onboard?
<Sean_McG> I thi
HarshK23 has joined #ffmpeg-devel
<Sean_McG> *think you just send an SSH key to 'fate-admin', the proper address is on the website
cone-470 has quit [Quit: transmission timeout]
uartie has quit [Ping timeout: 246 seconds]
<Marth64[m]> cool
Krowl has quit [Read error: Connection reset by peer]
vipyne-web has joined #ffmpeg-devel
kasper93 has joined #ffmpeg-devel
vipyne has joined #ffmpeg-devel
vipyne-web68 has joined #ffmpeg-devel
vipyne-web68 has quit [Client Quit]
vipyne-web65 has joined #ffmpeg-devel
vipyne-web65 has quit [Client Quit]
vipyne-lweb has joined #ffmpeg-devel
vipyne-web has quit [Ping timeout: 256 seconds]
rvalue has quit [Read error: Connection reset by peer]
vipyne-lweb has quit [Ping timeout: 256 seconds]
rvalue has joined #ffmpeg-devel
georgereynolds88 has joined #ffmpeg-devel
georgereynolds8 has quit [Ping timeout: 248 seconds]
georgereynolds88 is now known as georgereynolds8
j45 has quit [Ping timeout: 248 seconds]
cone-661 has joined #ffmpeg-devel
<cone-661> ffmpeg Martin Storsjö master:5c4ede6b4ff6: libavcodec: x86: Remove an explicit include of config.asm
<cone-661> ffmpeg Martin Storsjö master:a27f3c590f08: av1dec: Don't crash if decoding of some frames have failed
<cone-661> ffmpeg Martin Storsjö master:2705c0bd81e7: configure: Enable -Wno-implicit-const-int-float-conversion if available
___nick___ has quit [Ping timeout: 246 seconds]
j45 has joined #ffmpeg-devel
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
ccawley2011 has quit [Read error: Connection reset by peer]
Krowl has quit [Read error: Connection reset by peer]
<quietvoid> x265 reverted the changes that needed 1f801dfdb5066aadf0ade9cb5e94d620f33eacdc
<quietvoid> now it breaks again, heh
System_Error has joined #ffmpeg-devel
<jamrial> and no soname change, lovely
<jamrial> right after we tag too
<jamrial> and they do it *after* they tagged a 4.0 release
Warcop has quit [Remote host closed the connection]
Warcop has joined #ffmpeg-devel
vipyne has quit [Quit: Leaving.]
dukesook has joined #ffmpeg-devel
<dukesook> What is the purpose of the AVCodecTag defined in internal.h?
witchymary has quit [Remote host closed the connection]
witchymary has joined #ffmpeg-devel
Marth64[m] has quit [Quit: Leaving]
<jamrial> dukesook: see AVOutputFormat.codec_tag in avformat.h
<dukesook> Okay, I'll take a look.
vipyne has joined #ffmpeg-devel
dukesook has quit [Quit: Client closed]
marcj has quit [Ping timeout: 276 seconds]
marcj has joined #ffmpeg-devel
cone-661 has quit [Quit: transmission timeout]
Marth64 has joined #ffmpeg-devel
vipyne has quit [Quit: Leaving.]
vipyne has joined #ffmpeg-devel
vipyne has quit [Ping timeout: 276 seconds]
mkver has quit [Ping timeout: 260 seconds]
jamrial has quit [Read error: Connection reset by peer]
jamrial has joined #ffmpeg-devel