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
System_Error has quit [Ping timeout: 264 seconds]
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg-devel
Traneptora has quit [Quit: Quit]
System_Error has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
Kei_N has joined #ffmpeg-devel
Kei_N_ has quit [Read error: Connection reset by peer]
derpydoo has joined #ffmpeg-devel
minimal has quit [Quit: Leaving]
vriska has joined #ffmpeg-devel
MisterMinister has joined #ffmpeg-devel
<fflogger>
[newticket] ksthey: Ticket #11551 ([ffmpeg] [HEVC] Incorrect PCM Coding Block Length Derivation For YUV400) created https://trac.ffmpeg.org/ticket/11551
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 260 seconds]
jamrial has quit []
MisterMinister has quit [Ping timeout: 252 seconds]
DVedaa has quit [Read error: Connection reset by peer]
DVedaa has joined #ffmpeg-devel
Xe has quit [Ping timeout: 244 seconds]
Xe has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
ngaullier has joined #ffmpeg-devel
Thulinma has quit [Ping timeout: 276 seconds]
HarshK23 has quit [Quit: Connection closed for inactivity]
<kurosu>
You're forgetting about SSE4.1 and SSE4.2 XD
<kurosu>
(or not, but just to pile up on x86)
DVedaa has quit [Read error: Connection reset by peer]
DVedaa has joined #ffmpeg-devel
System_Error has quit [Ping timeout: 264 seconds]
System_Error has joined #ffmpeg-devel
<haasn>
ramiro: wrote a full shuffle solver for x86, it can handle any sort of packed rgb(a) swizzle on any element size, and also handles byte swapping at the same time
<haasn>
so we have a single fast path for e.g. rgb24 -> bgr0, or rgba -> rgb48be, or rgba64le -> bgra64be
<haasn>
that all compile down to a single pshufb loop
<haasn>
performance is blazing fast in all cases except the trivial rgba <-> bgra which is still slowed down by the high loop overhead
<haasn>
but I will tackle that soon-ish
<haasn>
(and even in that case it's like 5% slowdown)
cone-937 has quit [Quit: transmission timeout]
minimal has joined #ffmpeg-devel
<ramiro>
haasn: nice!
<ramiro>
Lynne: st3 might not be faster, but is it slower than manually packing + st1?
<ramiro>
I've been told that might be the case with newer apple silicon, but I haven't had a chance to test any of it.
<Lynne>
depends on the SoC, I would regard any chip which runs that slower as being a toy
<Lynne>
...but then again it's all just mostly toys in the arm world
<jkqxz>
Lynne: In what sort of context? Without messing with frequencies it gets 1080p~50 on one thread on a few-year-old laptop (Intel 4P+8E), or 1080p~500 with all threads.
<jkqxz>
Some missing check? My headers are 1.4.309.
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Client Quit]
___nick___ has joined #ffmpeg-devel
ngaullier has quit [Read error: Connection reset by peer]
k777 has quit [Ping timeout: 272 seconds]
<jkqxz>
michaelni: Can you explain what probetest is trying to do?
<jkqxz>
It seems to have found a sequence of zero and one bytes which the demuxer accepts could be a valid apv file. I am unclear why that means failure?
<jkqxz>
Adding a stronger check of the validity of profile (which I was avoiding because it is not currently meaningful for the decoder) just means it gets a bit further and finds a different sequence which is also plausibly a valid file and declares that a failure.
k777 has joined #ffmpeg-devel
<michaelni>
jkqxz, probetest check if any probe function claims a high certainity detection in random data.
<michaelni>
as in "iam really sure this random data is a valid XXX file" is a failure
<jkqxz>
It returns AVPROBE_SCORE_EXTENSION + 1 if it's a plausible match. Is that wrong? It looks like that is a common thing to do.
<jkqxz>
(Presumably the intent of that is to beat an incorrect file extension.)
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 244 seconds]
cone-789 has joined #ffmpeg-devel
<cone-789>
ffmpeg Marvin Scholz master:8129474b93a5: avformat/dashdec: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:da38b2fcd229: tools/sidxindex: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:b781f1836e67: tests: lavfi/drawutils: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:cd96d2ed6a0b: avformat/crypto: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:d0bcf62597a4: tools/aviocat: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:a903d6dade3d: tools/ismindex: use av_err2str
<cone-789>
ffmpeg Marvin Scholz master:d7d103c34c79: lavfi/vf_xpsnr: use av_err2str
<jkqxz>
The probetest threshold of AVPROBE_SCORE_MAX/4 is AVPROBE_SCORE_RETRY.
<jkqxz>
michaelni: Can you suggest what score should be returned for a plausible but uncertain match? It will sometimes hit in random data as seen here.
<michaelni>
cant the probe function read a few packets to check more ?
<michaelni>
but the threshold is a good value to return for uncertain matches
<jkqxz>
A single frame might easily be >1MB.
<jkqxz>
I can look to see if there is another frame there anyway, that's fair.
IndecisiveTurtle has joined #ffmpeg-devel
<cone-789>
ffmpeg Marvin Scholz master:cacc68f3b5f9: ffbuild: fix include path for uninstalled .pc files
<jkqxz>
I'll see if I can add a bit more checking and return something slightly under the threshold value in any case. Thank you.
MisterMinister has joined #ffmpeg-devel
<ePirat>
michaelni, should I add Signed-off-by with my name, when pushing a patch of someone else?
<jamrial>
ideally
<fflogger>
[newticket] jasperE: Ticket #11552 ([undetermined] A decoder returned an unexpected error code) created https://trac.ffmpeg.org/ticket/11552
bencoh has quit [Ping timeout: 260 seconds]
<cone-789>
ffmpeg Erik Linge master:09a83e095d84: rtpdec_mpeg4: Add fmtp parsing of bitrate value
<michaelni>
ePirat, yes, thats what most people do
bencoh has joined #ffmpeg-devel
<toots5446>
michaelni: Hi! If I attach a PTS to this metadata update and pass it to the frame only when it matches do you think that this would work for you?
___nick___ has quit [Ping timeout: 252 seconds]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Ping timeout: 248 seconds]
System_Error has quit [Remote host closed the connection]
<michaelni>
toots5446, isnt there some existing cases where sidedata is passed from AVPackets to AVFrames, like in h264 or something. What i would hve thought is that the decoder as it decodes the AVPacket would take the sidedata and copy it to the corresponding AVFrame. If thats what should be done with it but maybe iam missing something
<michaelni>
doing this independant of the decoder seem "hard"
System_Error has joined #ffmpeg-devel
<ePirat>
is Gyan Doshi on irc?
<michaelni>
toots5446, also look at AV_CODEC_FLAG_COPY_OPAQUE related code
zim1 has quit [Ping timeout: 240 seconds]
markh has quit [Remote host closed the connection]
<toots5446>
Thanks for the pointer michaelni. This seems like a promising entry point indeed. Packet props are only saved if the codec has the FF_CODEC_CAP_SETS_FRAME_PROPS. Let me see if we can tap into it by always saving the last packet props regardless of the flag. The set is also conditional to the flag so this shouldn't change anything on that end.
markh has joined #ffmpeg-devel
<toots5446>
michaelni: yeah I remember why I didn't use this though: I see cases with flac streams where packet->frame mapping is not 1:1. Two packets with PTS 0 come through in the tests.
<toots5446>
Likewise, with vorbis, I see one packet with PTS 0 coming out with the metadata update before a frame with an actual PTS of 128 is decoded.
<toots5446>
I think that this can all be addressed with the next set of patches which is planning on removing header packets from those streams. Perhaps I should switch around and send the patches removing header packets first?
<ePirat>
michaelni, btw did you notice: libavcodec/ffv1enc.c:1444:39: warning: using floating point absolute value function 'fabs' when argument is of integer type
<toots5446>
Ok I have extracted the part of the code that removes the ogg packet headers first, along with the test. It's pretty cool you can follow the changes from the test output diff.
<toots5446>
Will submit.
<michaelni>
toots5446, ok, will take a look, btw if someone else wants to take this set over, iam fine with that. it seems i have been a bit slow in replying to it
<michaelni>
ePirat, didnt see that, thx
<ePirat>
michaelni, would have sent a fix but I am not sure about the intention of the code there without spending some time to understand it further
<toots5446>
Cool. Happy to work with whomever. But I have a feeling Lynne will like this new patchset I just sent: Remove chained ogg stream header packets from demuxer
<michaelni>
ePirat, its a heuristic to minimize the size of the table it stores. log(score) ~ expected size. Whatever makes the table on average smaller is "correct"
<michaelni>
ill check which way my testcase becomes smaller and send a patch
<ePirat>
toots5446, why do you check for "if (!ret)" in ogg_packet?
<ePirat>
given if ret is <0 that code would be unreachable anyway