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]
<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
<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
<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
<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
<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
<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]