Amiga.org
Amiga computer related discussion => General chat about Amiga topics => Topic started 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)
-
I spot a typo :)
-
Nice to see, but what are AMMX instructions?
-
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
-
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.
-
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.
-
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.
-
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.
-
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
-
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."