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
derpydoo has quit [Quit: derpydoo]
Flat_ has quit [Quit: Rip internet]
<haasn>
ramiro: I had a crazy idea
<haasn>
what if instead of each op dereferencing the next function pointer and jumping into it, we push all of the addresses directly onto the stack in reverse order and have each operation just 'ret' when it's done
<haasn>
obviously requires full asm magic
Flat has joined #ffmpeg-devel
<haasn>
but that would be a way to handle very low overhead asm function chains without necessitating runtime code generation
<ramiro>
haasn: it *could* work, but with runtime code generation we could also do many more optimizations. like instruction reordering, factoring loading of constants outside of the main loop, swizzle by just changing the vector register, ...
MyNetAz has quit [Remote host closed the connection]
<haasn>
sure
<ramiro>
we could shave off a few cycles with that trick, but we might shave off many more cycles with runtime code generation :)
^Neo_ has joined #ffmpeg-devel
<ramiro>
and we don't have to deal with delay slots on mips :P
^Neo has quit [Ping timeout: 252 seconds]
minimal has quit [Quit: Leaving]
^Neo_ has quit [Ping timeout: 245 seconds]
<haasn>
actually, my current approach is probably faster than the ret trick
cone-897 has joined #ffmpeg-devel
<cone-897>
ffmpeg Andreas Rheinhardt master:44ed8f61d7aa: avcodec/aom_film_grain: Cast const away to suppress compiler warning
<cone-897>
ffmpeg Andreas Rheinhardt master:2da40904f399: avcodec/x86/hevc/dsp_init: Rename ff_hevc_put_hevc->ff_hevc_put
<haasn>
since under the hood both amount to a dereference, indirect jump and register addition
<haasn>
except I already have my "stack" assembled in constant memory
<haasn>
ramiro: I seem to have accidentally reinvented the code pattern used by bytecode interpreters for popular programming languages :)
<haasn>
except they use computed gotos (taking the addresses of labels)
<haasn>
it compiles down to pretty much the same asm
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg-devel
ukn_unknown has joined #ffmpeg-devel
LainExperiments has quit [Quit: Client closed]
DVedaa has quit [Changing host]
DVedaa has joined #ffmpeg-devel
realies3 has joined #ffmpeg-devel
realies has quit [Ping timeout: 244 seconds]
realies3 is now known as realies
ukn_unknown has quit [Ping timeout: 240 seconds]
System_Error has quit [Write error: Connection reset by peer]
System_Error has joined #ffmpeg-devel
jamrial has quit []
ukn_unknown has joined #ffmpeg-devel
cone-897 has quit [Quit: transmission timeout]
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 252 seconds]
MyNetAz has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
grillo_0 has quit [Quit: Ping timeout (120 seconds)]
grillo_0 has joined #ffmpeg-devel
ukn_unknown has quit [Quit: Client closed]
cone-520 has joined #ffmpeg-devel
<cone-520>
ffmpeg Frank Plowman master:26c5d8cf5d6d: lavc/vvc: Fix NumEntryPoints derivation
Warcop has quit [Remote host closed the connection]
aaabbb has quit [Killed (NickServ (GHOST command used by aaabbb_!sitku@bitcoinshell.mooo.com))]
aaabbb has joined #ffmpeg-devel
bbbccc has joined #ffmpeg-devel
MyNetAz has quit [Remote host closed the connection]
MyNetAz has joined #ffmpeg-devel
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
cone-520 has quit [Quit: transmission timeout]
twelve has joined #ffmpeg-devel
twelve has quit [Ping timeout: 260 seconds]
System_Error has joined #ffmpeg-devel
twelve has joined #ffmpeg-devel
natto has quit [Quit: a.]
natto has joined #ffmpeg-devel
Mirarora has quit [Quit: Mirarora encountered a fatal error and needs to close]
twelve has quit [Ping timeout: 248 seconds]
twelve has joined #ffmpeg-devel
twelve has quit [Remote host closed the connection]
Gramner has quit [Remote host closed the connection]