[Libre-soc-bugs] [Bug 230] Video opcode development and discussion

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Dec 10 15:31:59 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=230

--- Comment #4 from cand at gmx.com ---
> given that effectively SV is a hardware for-loop around scalar
> code, could we start with the scalar inner loops, compile them to standard 
> scalar assembler, and take a look?
> i was going to ask you if you could put the core inner loop of each algorithm 
> onto wiki pages (in straight c) as a first step.

I don't think that's an efficient use of time.

The paradigms in the C and SIMD code for the loops often differ widely. The C
is for understanding and correctness, SIMD for whatever is fastest for the
platform. As such, basing the instruction guesses on the C could be suboptimal.

The other part is complexity. The more developed codecs are highly complex, and
having to page the stuff in and out of my head, without being able to write the
actual code how it'd be targeted (SV, not PPC scalar, VSX, etc), would not be
efficient.

I can go over the VSX funcs and check whether the idea under each is useful.

> what i'd like to do here is to check that general-purpose bitmanip could be 
> used to cover all these types of pixel encodings, and to do a quick check / 
> estimate on the pixels/clock rate.

It's just shifts, ands and ors. Mul, madd, saturated add, narrowing and
possibly LUTs if doing different colorspaces or gamma correction. All trivially
parallelizable, so it depends on how many ops the unit can do in parallel.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list