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
Anthony_ZO has joined #ffmpeg-devel
thilo has quit [Ping timeout: 248 seconds]
thilo has joined #ffmpeg-devel
Kei_N_ has joined #ffmpeg-devel
Kei_N has quit [Ping timeout: 276 seconds]
derpydoo has joined #ffmpeg-devel
jamrial has quit []
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 252 seconds]
tccq has quit [Remote host closed the connection]
secondcreek has quit [Remote host closed the connection]
secondcreek has joined #ffmpeg-devel
<Lynne> /etc/firejail/ffmpeg.profile, "allow set_mempolicy, which is required to encode using libx265"
<Lynne> cursed
IndecisiveTurtle has quit [Ping timeout: 268 seconds]
mkver has joined #ffmpeg-devel
<psykose> it's cause of the x265->libnuma dep which automatically sets numa stuff
<psykose> it's actually not required if not built with libnuma i think
System_Error has quit [Remote host closed the connection]
<kurosu> jkqxz: not sure nowadays, but there used to be a global macro for the number of iterations
<kurosu> Runtime selection, or even automatical determination until it has converged (à la Google benchmark)
<kurosu> would have been better
System_Error has joined #ffmpeg-devel
MisterMinister has joined #ffmpeg-devel
pross has quit [Ping timeout: 276 seconds]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
cone-706 has joined #ffmpeg-devel
<cone-706> ffmpeg Andreas Rheinhardt master:c8ce9de5a0c0: avcodec/tests/mjpegenc_huffman: Also test length counts
<cone-706> ffmpeg Andreas Rheinhardt master:ff9f3fb60732: avcodec/mjpegenc_huffman: Avoid AV_QSORT to sort entries by length
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 265 seconds]
rvalue- is now known as rvalue
ngaullier has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
ngaullier has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 276 seconds]
<sfan5> it looks like the behavior change mbedtls <https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.3> did with mbedtls_ssl_set_hostname could break in case shr->numerichost == 1 here <https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/tls_mbedtls.c#L297>
IndecisiveTurtle has joined #ffmpeg-devel
<frankplow> kurosu: You can set the number of iterations with --runs now
<kurosu> Eh. Didn't make sense but in any case, first role is to check asm, with a benchmarking as a bonus. But for block-based/codec stuff, it remains artificial
<jkqxz> I already wrote my own test harness for randomised testing and debug, so I did actually just want the benchmarking.
<jkqxz> Is there a nice tool for debug of asm like this, btw?
<jkqxz> gdb works but is really clumsy to break or step through things.
<Lynne> printf debugging
<jkqxz> I currently have a macro to extract the register state at points in the assembly which is then printed by the test code to examine; this works reasonably well, but I have to mess around with it manually.
cone-706 has quit [Quit: transmission timeout]
<Lynne> ah, yeah, wbs wrote one for aarch64
<jkqxz> Right, fair.
<Lynne> but I usually just printf debug externally by writing to a pointer
<Lynne> as for randomized testing, why? in general you write C and then you write asm that follows what the C version does
<Lynne> float ops will be affected by reordering but that's intentional
<jkqxz> To be sure that I haven't failed on some edge case rounding?
<kurosu> (didn't make sense to not be able to set it)
System_Error has quit [Ping timeout: 264 seconds]
<kurosu> (oops sorry, data off, my reply lagged)
<kurosu> I have to admit, for debugging, I like Vscode debugger because I can add watches for the data type (u/int8/16/32/64). But I build that habit more because gdb alternative was the Motif app ddd
System_Error has joined #ffmpeg-devel
Guest63 has joined #ffmpeg-devel
Guest63 has left #ffmpeg-devel [#ffmpeg-devel]
Sawez has joined #ffmpeg-devel
Sawez has quit [Client Quit]
<haasn> I use `layout asm` in gdb
brone has joined #ffmpeg-devel
LainIwakura has joined #ffmpeg-devel
LainIwakura has quit [Ping timeout: 240 seconds]
brone has quit [Ping timeout: 240 seconds]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
bro34 has joined #ffmpeg-devel
bro34 has quit [Client Quit]
lemourin has joined #ffmpeg-devel
broner has joined #ffmpeg-devel
<frankplow> lldb has nicer pretty-printing of vector registers than gdb IMO but, typically of lldb, you have to use these ridiculously verbose commands to get them
LainIwakura has joined #ffmpeg-devel
derpydoo has quit [Quit: derpydoo]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
broner62 has joined #ffmpeg-devel
LainIwakura71 has joined #ffmpeg-devel
LainIwakura has quit [Ping timeout: 240 seconds]
broner has quit [Ping timeout: 240 seconds]
LainIwakura54 has joined #ffmpeg-devel
LainIwakura54 has quit [Client Quit]
LainIwakura71 has quit [Ping timeout: 240 seconds]
broner62 has quit [Ping timeout: 240 seconds]
<haasn> Overall speedup=2.792x faster, min=0.072x max=61.066x
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
<haasn> (across all formats)
<haasn> not all paths are implemented on x86 yet, hence the massive slowdowns in some cases where it falls back to scalar C code
lemourin has joined #ffmpeg-devel
<kasper93> how do you even speed up something 61x
<jkqxz> Normally by finding that the previous version of the thing was repeatedly doing the same thing lots of times for no reason, and then not doing that.
<haasn> kasper93: turning a memcpy into a noop, I think
<haasn> like uk
<haasn> gbrp9be 1920x1080 -> gbrp9be 1920x1080, flags=0x100000 dither=1, SSIM {Y=0.999996 U=0.999997 V=0.999997 A=1.000000}
<haasn> time=0 us, ref=3330 us, speedup=15138.455x faster
<haasn> no idea why that isn' a memcpy with legacy swscale but at least the new code correctly handles it
<haasn> and then there are some cases where the old code is just horrendously slow
<haasn> gbrp 1920x1080 -> gbrap14le 1920x1080, flags=0x100000 dither=1, SSIM {Y=0.999978 U=0.999992 V=0.999991 A=1.000000}
<haasn> time=411 us, ref=6685 us, speedup=16.260x faster
<haasn> ya8 1920x1080 -> gbrap14be 1920x1080, flags=0x100000 dither=1, SSIM {Y=0.999978 U=1.000000 V=1.000000 A=0.999972}
<haasn> time=350 us, ref=8905 us, speedup=25.438x faster
<haasn> ya8 1920x1080 -> 0rgb 1920x1080, flags=0x100000 dither=1, SSIM {Y=1.000000 U=1.000000 V=1.000000 A=1.000000}
<haasn> time=123 us, ref=4645 us, speedup=37.500x faster
<haasn> so there's your answer I guess
<haasn> legacy swscale sucks at obscure formats like ya8 or gbrp
<haasn> and the new code handles it generically in a very efficient way (e.g. the last conversion compiles down to a packed, a register clear, two register moves and a packed write)
<haasn> a packed read*
ahmedhamed has joined #ffmpeg-devel
<haasn> ramiro: updated my swscale5 branch with the latest changes; I also pushed a branch `swscale5_shuffle` that has my experiment introducing SWS_OP_SHUFFLE as a replacement for SWS_OP_SWAP_BYTES
<haasn> but I no longer see a real reason to keep it around
<haasn> one thing I still want to do is improve the packed_shuffle solver in the x86 backend to also allow taking care of pixel clearing at the same time, so rgba -> rgb0 can also be compiled down to a single vpshufb
<haasn> but I think I'm at a point where I want to submit what I have to the ML again
minimal has joined #ffmpeg-devel
Anthony_ZO has quit [Ping timeout: 252 seconds]
philipl has quit [Quit: leaving]
philipl has joined #ffmpeg-devel
IndecisiveTurtle has quit [Ping timeout: 252 seconds]
philipl has quit [Quit: leaving]
philipl has joined #ffmpeg-devel
ngaullier has quit [Remote host closed the connection]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
NotWarcop has joined #ffmpeg-devel
Warcop has quit [Ping timeout: 276 seconds]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Client Quit]
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Ping timeout: 245 seconds]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
mkver has quit [Ping timeout: 252 seconds]
E81l7HT8T7sF9JdA has joined #ffmpeg-devel
E81l7HT8T7sF9JdA has quit [Quit: Leaving]
pross has joined #ffmpeg-devel
MisterMinister has joined #ffmpeg-devel
derpydoo has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel