Amiga.org

Amiga computer related discussion => General chat about Amiga topics => Topic started by: TuKo on October 30, 2016, 08:03:06 AM

Title: RiVa AMMX Benchmarks
Post by: TuKo on October 30, 2016, 08:03:06 AM
Since start of the Apollo 68080 adventure, Stephen Fellner, author of the RiVa MPEG Player, was kind enough to share sources of his player with the Apollo team.

As some of you might have followed the changes in core over the last months, AMMX instructions were introduced in the Apollo-Core, meaning that software that take benefit from them experience big speedups.

With the dedicated work of Henryk Richter and flype, RiVa has been modified to take advantages from those AMMX instructions.

Here are some results :
(http://i.imgur.com/3sqaBkk.png)

Core: Apollo 68080 AMMX Core, Revision 3543, x11 speed
RiVa Parameters : VERBOSE NOAUDIO DISPLAY=HICOLOR NOSKIP FPS=1000

Download links :
Original RiVa (http://aminet.net/package/gfx/show/RiVA)
TopGun 320 Video (http://apollo-accelerators.com/files/vids/shk_topgun_320.mpg)
TopGun 640 Video (http://apollo-accelerators.com/files/vids/shk_topgun_640.mpg)

IQ has also been greatly improved (YUYV versus R5G6B5 quality) and stereo audio has also been enabled !

All this is still WIP and should be part of next GOLD2 release ;)

Stay tuned !

(http://fpga.amiga-ng.org/resources/Vampire/riva.jpg)
Title: Re: RiVa AMMX Benchmarks
Post by: kolla on October 30, 2016, 08:40:56 AM
I spot a typo :)
Title: Re: RiVa AMMX Benchmarks
Post by: Matt_H on October 30, 2016, 04:20:55 PM
Nice to see, but what are AMMX instructions?
Title: Re: RiVa AMMX Benchmarks
Post by: Bennymee on October 30, 2016, 04:49:18 PM
Quote from: Matt_H;815851
Nice to see, but what are AMMX instructions?

AMMX Instructions are Intel like MMX instructions for the Amiga with the Vampire:

http://www.apollo-core.com/knowledge.php?b=1¬e=1897
Title: Re: RiVa AMMX Benchmarks
Post by: Rob on October 30, 2016, 06:58:32 PM
Quote from: Bennymee;815852
AMMX Instructions are Intel like MMX instructions for the Amiga with the Vampire:

http://www.apollo-core.com/knowledge.php?b=1¬e=1897


Thanks for the link I'd seen AMMX mentioned a number of times and had fair idea of what it was but I hadn't seen anything specific laid down and wasn't aware that it was compatible with MMX.
Title: Re: RiVa AMMX Benchmarks
Post by: psxphill on October 30, 2016, 08:26:45 PM
Quote from: TuKo;815839
With the dedicated work of Henryk Richter and flype, RiVa has been modified to take advantages from those AMMX instructions.


I wonder if they'll be able to make it fast enough, or whether eventually they'll add dedicated logic for decoding video.
Title: Re: RiVa AMMX Benchmarks
Post by: Hattig on October 30, 2016, 11:13:14 PM
Quote from: Rob;815857
Thanks for the link I'd seen AMMX mentioned a number of times and had fair idea of what it was but I hadn't seen anything specific laid down and wasn't aware that it was compatible with MMX.


I don't think it's in any way compatible with Intel MMX.

It's just a poorly chosen name (because it creates confusion) for a useful set of instructions that they've added to the 68k ISA, because they can.
Title: Re: RiVa AMMX Benchmarks
Post by: Hattig on October 30, 2016, 11:15:29 PM
Quote from: psxphill;815858
I wonder if they'll be able to make it fast enough, or whether eventually they'll add dedicated logic for decoding video.


That'll be difficult IMO (until they switch to an FPGA with DSP hard resource on it). But surely the movie is 24p, and this this enables 480p MPEG videos?

Not that anyone surely cares anymore about MPEG 1? Can this to MPEG 2? IIRC that used to take a reasonable bit of CPU grunt back in the early 2000s before hardware acceleration.
Title: Re: RiVa AMMX Benchmarks
Post by: Kremlar on October 31, 2016, 01:14:07 AM
Quote from: Hattig;815871
I don't think it's in any way compatible with Intel MMX.

It's just a poorly chosen name (because it creates confusion) for a useful set of instructions that they've added to the 68k ISA, because they can.


http://www.apollo-core.com/knowledge.php?b=1¬e=1897
Title: Re: RiVa AMMX Benchmarks
Post by: omnicron10 on October 31, 2016, 01:14:25 AM
Quote from: Hattig;815871
I don't think it's in any way compatible with Intel MMX.

It's just a poorly chosen name (because it creates confusion) for a useful set of instructions that they've added to the 68k ISA, because they can.


From http://www.apollo-core.com/knowledge.php?b=1¬e=1897

It appears they are very similar to the Intel MMX instructions.

Here are the features taken from the above link.

"AMMX does implement INTEL well known MMX instruction set.
There are many optimized codecs available for MMX already - as the MMX operations are now also available on 68k - running/porting them to AMIGA is very straight forward.

If you are experience in coding MMX then you can use AMMX out of the box.
If you want to learn how to code for AMMX then I would recommend to read the excellent documentation of INTEL MMX. There is a wealth of literature about MMX coding howtos existing already.

Where does AMMX and MMX differ?
Both MMX and AMMX allow to run the SIMD instructions.
Both support the same type of operations.
Both allow to operate directly on Register or to use Memory as Input operand.
AMMX enhanced MMX in such a way that if offers
a) 3 Operand operations
b) Does not limit the programmer to 8 Register but allows him to use up to 32 Registers."