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.0.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
<a5erka>
if processing a corrupt input file, it exits, but returns exitcode 0
<a5erka>
i'm currently stuck, and need to use, ffmpeg 6.1
<a5erka>
problem introduced with commit 01897c1788b887e42a69072fc6516a73521bdcd6 and fixed with commit d119ae2fd82a494d9430ff4d4fc262961a68c598
<JEEB>
you were really nice that you did a bisect, but the thing is that if the breaking commit is the one starting the decoding in its own thread commit, and then it gets fixed with the threading work getting finished then there's no simple commit to back-port :D
Krowl has joined #ffmpeg-devel
<a5erka>
yeah, i know, so i was doing some debugging
<a5erka>
and found a simple but potentially stupid fix
<a5erka>
hence i want to ask if i totally break something with this
<a5erka>
from `ret = err_merge(ret, thread_ret);` to `ret = err_merge(thread_ret, ret);`
<a5erka>
ffmpeg exits as expected on error
<a5erka>
since err_merge is only taking the first ret_code passed into it
<a5erka>
(at least in 6.1, did not check 7.0)
<a5erka>
value of ret is -541478725 (End of file) and of thread_ret is -1094995529 (Invalid data found when processing input)
<a5erka>
and if ret is passed first, that's the one returned and acts as if no error down the line. if i pass thread_ret in as first, that one is returned by err_merge and error caught and handled downstream. at least that's my understanding of the code, but totally new to the codebase, so i might be off completely
av500 has joined #ffmpeg-devel
cone-977 has joined #ffmpeg-devel
<cone-977>
ffmpeg Martin Storsjö master:400843151d84: aarch64: vvc: Fix compilation of alf.S with MSVC 2022 17.7 and older
<cone-977>
ffmpeg Martin Storsjö master:99598629e880: aarch64: vvc: Consistently use # for immediate constants
<elenril>
a5erka: the idea was for that function ot eventually have some sort of prioritization for error codes
<a5erka>
yeah, i saw the comment in the code
<elenril>
i.e. EOF would get a lower priority than a real error
<a5erka>
gotcha
<a5erka>
so in my case, replacing that line with something like `ret = err_merge(ret == AVERROR_EOF ? 0 : ret, thread_ret);` should be acceptable?
<elenril>
no, I mean modify err_merge itself to prefer err1 in case err0 is EOF and err1 is something else nonzero
<a5erka>
yeah, i get that. i don't feel confident in my C skills enough to touch such a global function tbh
<ramiro>
wbs: libswscale/aarch64/yuv2rgb_neon.S has some inconsistent indentation. somehow it passes check_arm_indent.sh run locally, but not when testing through gha.
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
<wbs>
ramiro: hmm, that's odd, it seems to pass on GHA with latest master for me
sm2n has quit [Remote host closed the connection]
sm2n has joined #ffmpeg-devel
<cone-977>
ffmpeg Martin Storsjö master:4acb9b7d1046: aarch64: vvc: Fix unnecessary extra spaces
<a5erka>
@elenril backported to 6.1 branch, that fixes the issue, yes, thank you! (that function appears in a different file in 6.1 than 7.x)
<elenril>
a5erka: cool, I'll send it to the ML then
<a5erka>
thanks
<elenril>
how should I credit you?
kekePower has joined #ffmpeg-devel
<a5erka>
with what, you implemented the fix :) but if you wish, Andrej Peterka
<a5erka>
thanks
<a5erka>
I can send you the patch for 6.1
<a5erka>
if you need
<elenril>
reporting a bug is a creditable offence
<elenril>
no need, I'll backport it when pushing to master
<a5erka>
k, thanks for the help
<JEEB>
ah, nice. so the thing technicaly was an issue in master as well
<JEEB>
even though he noted that the issue he was experiencing was fixed in master :D
<elenril>
in theory, I don't know if it can actually happen
<elenril>
but it's still a sensible thing to do
<a5erka>
i suspect the way err_merge function is called in master is different than release/6.1
<a5erka>
since it was overhauled
<elenril>
yes, there were major changes in 6.1
<elenril>
err after 6.1
<JEEB>
ye
<a5erka>
mhm
<JEEB>
but yea, just makes it easier to handle if it's something not only for 6.1
Krowl has quit [Read error: Connection reset by peer]
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
<elenril>
mkver: if you're not going to comment on yuvj, or at least give a reasonable deadline for comments, we are going to proceed with pushing it
<JEEB>
but in the sense that their sales case is that you utilize some known old format as base layer
<JEEB>
and this gives you MOAR COMPRESSION
<elenril>
Daemon404: unpossible
<JEEB>
(compared to the base layer format)
<elenril>
multilayer spec is a prayer to cthulhu
<JEEB>
wololoo
<Daemon404>
that is not fair to the great old ones
<Daemon404>
theyre not that unfathomable
<Daemon404>
also because i have brain rot i am not imagining nyaruko but with spec
<Daemon404>
s/not/now/
<Lynne>
you still have PTSD of hearing the opening theme, don't you?
<elenril>
I thought you stopped watching anime before that
* elenril
mostly did
<Daemon404>
i stopped watching anime before i stopped subtitling it
<Daemon404>
that was at the tail end
<JEEB>
uu nyaa
<elenril>
lol
<Daemon404>
Lynne, only one OP ever gave me ptsd, and it was not that
<Daemon404>
it was nyanpire
<Lynne>
right, it was that one
<Lynne>
you mean the ED? it hasn't got an OP from what I find
<Daemon404>
must be ED
<Daemon404>
it only had one song
Sirtsu551 has joined #ffmpeg-devel
<Daemon404>
great, itll be in my head for a week now
av500 has joined #ffmpeg-devel
Sirtsu55 has quit [Ping timeout: 245 seconds]
Sirtsu551 is now known as Sirtsu55
chainik has quit [Ping timeout: 245 seconds]
<courmisch>
uh, nyaruko had two seasons, with different OPs
<Traneptora>
I'm still on the JPEG hype train from 1992
<Traneptora>
fantastic format
<Daemon404>
spatial prediction is for losers
<elenril>
x264 = best grill
<courmisch>
references too obscure
deus0ww has joined #ffmpeg-devel
<Lynne>
jpeg had spatial prediction
<Daemon404>
it had DC only
<Lynne>
yup
<Lynne>
its something
<Daemon404>
not sure id call that spatial, so to speak
<courmisch>
what do you mean "had"?
<Daemon404>
well. has.
<courmisch>
in case you swapped body with your own selves from a parallel universe
<courmisch>
JPEG is still The Compression Format for Pictures in this timeline
<JEEB>
I wish iphone had separate settings for photo and video formats
<JEEB>
now it's just JPEG&H.264 or HEIC&HEVC
<Daemon404>
can we even call them photos anymore
<Daemon404>
given the 1000 layeres of ai 'improvement'
<JEEB>
┐(´д`)┌
<courmisch>
maybe it is the ultimate compression algorithm
<courmisch>
you don't need to encode the JPEG
<courmisch>
just store "Daemon40 in front of Tokyo Skytree"
<courmisch>
and AI can regenerate the photo from 20 bytes
<Daemon404>
you can get that lower with some text compression
<courmisch>
yes but you need at least 19 bytes for the proprietary file format header
chainik has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
<Lynne>
don't modern smartphones capture video instead of photos?
<kepstin>
they'll usually capture multiple frames before processing them into a single image; i guess in some cases they save the multiple frames so the result can be tweaked after the fact. No idea how they're actually compressed.
<kurosu>
Also lol @ lcevc itu-t35 metadata country code being UK. But that's what they insist on (and yes their engineering is there too)
<Daemon404>
well it was rubber stamped vnova after all
<kurosu>
I no longer have access to ISO documents, but I so wish I could find again the contribution that started LCEVC (the type where you need like 5 companies/... asking for a particular work)
<Daemon404>
i really wonder who it was
<Daemon404>
because nobody was exactly enthralled with vnova
<Daemon404>
bbc, sky, or itv maybe
av500 has quit [Quit: Konversation terminated!]
cone-977 has quit [Quit: transmission timeout]
<Lynne>
doesn't sound like the bbc to do that, sky and itv certainly
Krowl has joined #ffmpeg-devel
blb has quit [Ping timeout: 248 seconds]
av500 has joined #ffmpeg-devel
AbleBacon has joined #ffmpeg-devel
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
av500 has quit [Quit: Konversation terminated!]
av500 has joined #ffmpeg-devel
* Sean_McG
wanders in
georgereynolds85 has joined #ffmpeg-devel
georgereynolds8 has quit [Ping timeout: 252 seconds]
georgereynolds85 is now known as georgereynolds8
Traneptora has quit [Quit: Quit]
av500 has quit [Quit: Konversation terminated!]
HarshK23 has quit [Quit: Connection closed for inactivity]
av500 has joined #ffmpeg-devel
av500 has quit [Quit: Konversation terminated!]
<pal>
@Daemon404, who it was that did what?
av500 has joined #ffmpeg-devel
<kurosu>
I suspect the signing parties of the input contribution advocating for a very low cost scalability feature not tied to a particular base codec layer, which lead to starting "MPEG-5 Part 2"
<cone-106>
ffmpeg Michael Niedermayer master:586f6fda1d81: avformat/mov: add an EOF check in IPRP
<cone-106>
ffmpeg Michael Niedermayer master:419eee63565f: avcodec/proresdec: Consider negative bits left
<cone-106>
ffmpeg Michael Niedermayer master:5d9544cfb03d: avcodec/hevc/hevcdec: Do not allow slices to depend on failed slices
<cone-106>
ffmpeg Michael Niedermayer master:d52fabaec004: avcodec/hevc/hevcdec: avoid signed shifts with lt_idx_sps
<cone-106>
ffmpeg Michael Niedermayer master:ae20be8b5d0b: avcodec/aac/aacdec_usac: Dont leave invalid max_sfb in the context
<cone-106>
ffmpeg Michael Niedermayer master:2f7aaa33e734: avcodec/aac/aacdec_lpd: Check kv indec
<cone-106>
ffmpeg Michael Niedermayer master:3cd077e28206: avcodec/vaapi_encode: Check hwctx
<cone-106>
ffmpeg Michael Niedermayer master:56c334d732db: avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter()
<cone-106>
ffmpeg Michael Niedermayer master:6420c1bf3088: avcodec/osq: fix integer overflow when applying factor
<cone-106>
ffmpeg Michael Niedermayer master:a308d79e4ded: avcodec/cfhdenc: Allocate more space
<cone-106>
ffmpeg Michael Niedermayer master:5dde255abdeb: avcodec/cfhdenc: Height of 16 is not supported
<cone-106>
ffmpeg Michael Niedermayer master:204f7f8cc731: avcodec/hdrenc: Allocate more space
<Daemon404>
wtf is 586f6fda1d814f0ddc32e652fde5e203d552f6d0?
<Daemon404>
that is peak vs "fix"
<Daemon404>
an eof check on a specific loop read in a specific atom that the fuzzer didnt like
<jamrial>
Daemon404: i suggested it. the loop iterator could be anything up to uint32_max
<Daemon404>
that is true for like every single box
<jamrial>
yeah, and there are similar checks in similar loops
<Daemon404>
sometimes. maybe.
<Daemon404>
and not consistently
<Daemon404>
it just annoys me we check liek 1% of reads, randomly, without much consistency
<Daemon404>
(if you fuzz with an i/o callback, it breaks lavf constantly, youll find endless broken demuxers)
<Daemon404>
i am not a fan of several of the latest commits, but 9b9e02f2ff6575e934e8e991a471b3086d1c0d53 seems particularily egregious non-obvious in what the change does
ccawley2011 has quit [Read error: Connection reset by peer]
lemourin has joined #ffmpeg-devel
lemourin is now known as Guest7974
Guest7974 has quit [Killed (osmium.libera.chat (Nickname regained by services))]
<cone-106>
ffmpeg Lynne master:b1b69ccbc0b2: aacdec: set ac->output_elements upon channel element free
Livio has quit [Ping timeout: 255 seconds]
MrZeus_ has joined #ffmpeg-devel
MrZeus_ has quit [Read error: Connection reset by peer]
MrZeus has quit [Ping timeout: 255 seconds]
MrZeus has joined #ffmpeg-devel
MrZeus_ has joined #ffmpeg-devel
MrZeus has quit [Ping timeout: 248 seconds]
MrZeus_ has quit [Read error: Connection reset by peer]