ORC, store with offset

Peter Maersk-Moller pmaersk at gmail.com
Fri Jun 24 21:16:47 UTC 2016


Hi.

Going through the opcodes for Orc, there doesn't seem to be a way for
storing with offset similar to load with offset. Would it be possible to
add an opcode for that or would that not be possible with MMX/SSE/NEON etc.
?

Storing with offset would be practical if you are operating on interleaved
data. One example could be interleaved stereo or multichannel audio, where
you want to multiply a volume, but a volume which is different for each
channel. Assuming two channels, you could then in the first call to the
function iterate over the first channel loading with an offset that is
incremented by one for each iteration (using the .accumulator) and then
storing with the same offset. After that you repeat for the second channel.

Technically you could also solved the problem for stereo by creating an
array of two volumes, calling the function with this array and then load
from the array with an accumulated offset that would first be 0, then 0,
then -2, then -2, then -4 etc. but that will require some extra steps
making it less efficient.

Other examples could be generating various non planar video formats.

best regards
Peter MM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160624/158acba4/attachment.html>


More information about the gstreamer-devel mailing list