English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 08 February 2017, 12:15   #1
AMIGASYSTEM
Registered User
AMIGASYSTEM's Avatar
 
Join Date: Aug 2014
Location: Brindisi (Italia)
Posts: 2,151
RiVA v0.52 Released



RiVA-0.52: This is the latest update to the fastest MPEG player available on the classic 68k Amiga platform.
Two binaries are provided in this archive, a classic m68k compatible build (68040+) and an AMMX build, exclusive to Apollo Core Gold 2 and newer.

New in this version::

- AMMX usage in motion compensation, residual transform, color conversion
- multibuffered SAGA YUV video output
- Stereo sound output
- audio/video sync
- automatic enabling of 44/48 kHz sound output when P96 with 31 kHz AmigaVideo
environment variable and ECS denise are present
- relaxation of internal data paths, avoidance of unnecessary data copies
- 16 Bit windowed mode quality improvement, along with ordered dithering
- borderless windowed mode (Flype)


RiVA-0.52: Download
Attached Thumbnails
Click image for larger version

Name:	RiVA.jpg
Views:	1518
Size:	39.9 KB
ID:	51976  

Last edited by AMIGASYSTEM; 19 November 2017 at 11:35.
AMIGASYSTEM is offline  
AdSense AdSense  
Old 08 February 2017, 13:47   #2
groundplayer
Registered User
 
Join Date: Jul 2012
Location: Finland
Posts: 56
Everything is working fine here, except with old version (0.50) PIP mode works, but not in new, shows only one colored screen or grey, if windowed (not zoomed PIP). My config is: Mediator TX, Phase5 060 (256mt), Voodoo 3000PCI, OS3.9 BB2.Screenmode 800x600 16bitPC (picasso96). Thankyou for your release !.

edit: Solved problem by changing screenmode to 800x600 16bit not PC mode. Now everything works ok, thankyou again !

Last edited by prowler; 28 February 2017 at 23:11. Reason: Back-to-back posts merged.
groundplayer is offline  
Old 10 February 2017, 10:24   #3
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
This RiVA code is more than a little bit suspect.

Code:
CreatePalette	lea	Palette,a0
		move.w	#256,(a0)+			;Number of colours to load
		move.w	#0,(a0)+			;Register number to start from
		move.l	#256-1,d7
.colsloop	move.b	d7,d6
		lsl.l	#8,d6
		move.b	d7,d6
		lsl.l	#8,d6
		move.b	d7,d6
		lsl.l	#8,d6
		move.b	d7,d6
		lsl.l	#8,d6
		not.l	d6
		move.l	d6,(a0)+
		move.l	d6,(a0)+
		move.l	d6,(a0)+
		dbf	d7,.colsloop
		move.l	#0,(a0)				;Close Structure
		rts
Did somebody get carried away with the shifting?

Code:
CreatePalette	lea	Palette,a0
		move.l  #256,d7
		move.w	d7,(a0)+			;Number of colours to load
		subq.l  #1,d7				;256-1
		clr.w	(a0)+				;Register number to start from
.colsloop	move.b	d7,d6
		lsl.l	#8,d6
		move.b	d7,d6
		lsl.l	#8,d6
		move.b	d7,d6
		lsl.l	#8,d6
		not.l	d6
		move.l	d6,(a0)+
		move.l	d6,(a0)+
		move.l	d6,(a0)+
		dbf	d7,.colsloop
		clr.l	(a0)				;Close Structure
		rts
Shaved a few cycles and 12 bytes. Even vasm would have saved 6 bytes here if optimizations were on. At least compilers are smart enough to turn on optimizations .

Last edited by matthey; 10 February 2017 at 10:59.
matthey is offline  
Old 10 February 2017, 11:19   #4
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 918
Code:
CreatePalette	lea	Palette,a0
		move.w	#256,(a0)+			;Number of colours to load
		clr.w	(a0)+				;Register number to start from
                moveq  #-1,D6
                move.l   #$01010101,D7
.colsloop
		not.l	d6
		move.l	d6,(a0)+
		move.l	d6,(a0)+
		move.l	d6,(a0)+
                not.l d6
                sub.l D7,D6
		bcc.b .colsloop
		clr.l	(a0)				;Close Structure
		rts
Maybe it can works, but I dont checked this.

Last edited by Don_Adan; 10 February 2017 at 12:42. Reason: shortest version
Don_Adan is offline  
Old 10 February 2017, 11:45   #5
buggs
Registered User

 
Join Date: May 2016
Location: Rostock/Germany
Posts: 44
Quote:
Originally Posted by matthey View Post
This RiVA code is more than a little bit suspect.

<snip>

Shaved a few cycles and 12 bytes. Even vasm would have saved 6 bytes here if optimizations were on. At least compilers are smart enough to turn on optimizations .
If you want to save cycles that matter, look into the color conversion routines, for a start. Those which I didn't touch with AMMX code bring heavy penalties in terms stalls due to the register indexed addressing (on 060).

Last edited by prowler; 28 February 2017 at 23:25. Reason: Cleanup.
buggs is offline  
Old 10 February 2017, 17:51   #6
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by Don_Adan View Post
Code:
CreatePalette    lea    Palette,a0
        move.w    #256,(a0)+            ;Number of colours to load
        clr.w    (a0)+                ;Register number to start from
                moveq  #-1,D6
                move.l   #$01010101,D7
.colsloop
        not.l    d6
        move.l    d6,(a0)+
        move.l    d6,(a0)+
        move.l    d6,(a0)+
                not.l d6
                sub.l D7,D6
        bcc.b .colsloop
        clr.l    (a0)                ;Close Structure
        rts
Maybe it can works, but I dont checked this.
Something similar to your code may work (poor mans SIMD). It would be nice to get rid of the original dependencies for superscalar operation but my intention was to fix obvious (to me at least) flaws.

Last edited by prowler; 28 February 2017 at 23:28. Reason: Cleanup.
matthey is offline  
Old 10 February 2017, 21:18   #7
ShK
Apollo Team
ShK's Avatar
 
Join Date: Mar 2013
Location: Lahti / Finland
Age: 46
Posts: 258
Are these code samples from "Create Palette Structure before opening the screen"?

Where is actual work loop?
ShK is offline  
Old 10 February 2017, 21:23   #8
grond
Registered User

 
Join Date: Jun 2015
Location: Germany
Posts: 383
It's in fact "create a greyscale palette for AGA and poor people that haven't got a Vampire (and thus can't just watch full-color hires movies) code". Legacy stuff that buggs didn't even touch.

Last edited by grond; 11 February 2017 at 01:43.
grond is offline  
Old 10 February 2017, 21:55   #9
cmsj
Registered User

cmsj's Avatar
 
Join Date: Feb 2016
Location: London / UK
Posts: 146
I would like to say thank you to bax/flype/etc. for doing some awesome work on RiVA for AMMX users. It's super impressive what a vampire can do with video now.

Last edited by prowler; 28 February 2017 at 23:33. Reason: Cleanup.
cmsj is offline  
Old 10 February 2017, 22:09   #10
ptyerman
Registered User

ptyerman's Avatar
 
Join Date: Jun 2012
Location: Worksop/UK
Age: 53
Posts: 983
@cmsj
Right on!
ptyerman is offline  
Old 14 February 2017, 04:32   #11
grelbfarlk
Registered User

 
Join Date: Dec 2015
Location: USA
Posts: 761
Great work, can we get a WarpOS version?
grelbfarlk is offline  
Old 14 February 2017, 12:31   #12
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,427
Quote:
Originally Posted by grelbfarlk View Post
Great work, can we get a WarpOS version?
This is (mostly) 68k code so i doubt it.

Last edited by prowler; 28 February 2017 at 23:36. Reason: Cleanup.
meynaf is online now  
Old 14 February 2017, 14:35   #13
flype
Registered User

flype's Avatar
 
Join Date: Dec 2014
Location: France
Posts: 66
RiVA 0.52 is based on RiVA 0.50 where Stephen Fellner, years ago, wrote what is still the fastest MPEG1 player for MC680x0. It was written 100% in assembly, has been re rewritten many times at that time, improving it by adding features years after years, for example Picasso IV support. So, of course, some of the code ends on some not super clean code. Well, i know the code in RiVA, it is not that bad. I don't understand such criticismes. At end RiVA 0.50 works as intended and is fast. And this has no relation with the Apollo-Team, with the Vampire. The code that is spotted by Matthey is a detail in the original 0.50 code. We are speaking of a detail. Now regarding the 0.52 re work, also i know the code inside, and i can't let people speculates on "unreadable, unmaintainable, targeted at archaic data types, requiring system patches, exceedingly long, filthy, full of ugly hacks - doesn't matter as long as it executes fast. This isn't the 68k spirit at all - but who cares.". Seriously, this is pure speculation and (not the first time) pure bad faith ; the rework *is* clean, the code *is* maintainable and readable. That is really tiring to be always critized when something comes from the Apollo-Team guys. I am Apollo-Team guy and i do not recognize myself in your description. I like Amiga, i like AmigaOS, i like 68k, i like clean code, we all.

Last edited by prowler; 28 February 2017 at 23:45. Reason: Cleanup.
flype is offline  
Old 14 February 2017, 14:46   #14
guibrush
 
Posts: n/a
@ flype :
totaly agree. I was beta-testing RIVA on the vampire in the developpement process, and I clearly saw the improvements at each iteration. Same hardware used each time. So, the code was optimised, and delivered what some people claimed to be impossible. Now that RIVA is there and show that's Apollo is much faster than a real 060, Mr. Meynarf complain about the code itself (but don't show his promised optimised and as fast as Apollo one) and Mr. Thoram said "who care" that apollo is faster ? Then in this case, don't stay on Amiga, it is clear that anything else that you can buy now in a shop is way faster than that, but this is not the point. The point is to have the best accelerator for our Amiga. It is so hard to understand ?
 
Old 14 February 2017, 15:07   #15
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 892
Quote:
the rework *is* clean, the code *is* maintainable and readable
isnt that open for everybody to see?
wawa is offline  
Old 14 February 2017, 15:12   #16
flype
Registered User

flype's Avatar
 
Join Date: Dec 2014
Location: France
Posts: 66
It is available since it is released.

http://aminet.net/package/gfx/show/RiVA-0.52
flype is offline  
Old 15 February 2017, 12:36   #17
wXR
Registered User
 
Join Date: Mar 2009
Location: New York
Posts: 552
Hi there, where can I find the RiVA source repo?
wXR is offline  
Old 15 February 2017, 12:56   #18
flype
Registered User

flype's Avatar
 
Join Date: Dec 2014
Location: France
Posts: 66
Quote:
Originally Posted by wXR View Post
Hi there, where can I find the RiVA source repo?
In first post. On the aminet link.


To stay in topic, Point is to offer to current existing Vampire owners a solution to watch movie at 24fps. They were not able to, at decent resolution at least. Fact is they *can* now, if they likes to. How it is done do not hurts other machines owners.

For non vampire users, there is something that scores/benchs don't shows :
RiVA-0.52-apollo offer a much better visual quality and audio quality than 0.50 and 0.52-m68k.


People that are really interested can start reading this AMMX introduction, many already did :

http://forum.apollo-accelerators.com....php?f=10&t=25

After your reading, if you don't like, don't use. That's all, that's simple, that's clear enough.

Last edited by prowler; 01 March 2017 at 00:03. Reason: Back-to-back posts merged.
flype is offline  
Old 15 February 2017, 13:53   #19
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,427
Quote:
Originally Posted by flype View Post
@meynaf

People that are really interested can start reading this AMMX introduction :

http://forum.apollo-accelerators.com....php?f=10&t=25

After your reading, if you don't like, don't use. That's all, that's simple, that's clear enough.
That's better than all i've seen so far, though looking still not exactly uptodate.

Now if all these 64-bit encodings (and new stuff in general) have to be enabled otherwise they trap, then it becomes perfectly fine for me - won't like, won't use, but also won't care at all.

Last edited by prowler; 01 March 2017 at 00:07. Reason: Cleanup.
meynaf is online now  
Old 15 February 2017, 14:04   #20
flype
Registered User

flype's Avatar
 
Join Date: Dec 2014
Location: France
Posts: 66
Quote:
Originally Posted by meynaf View Post
That's better than all i've seen so far, though looking still not exactly uptodate.
Ah, ok, December 2016 is what i call up to date in my world. Current RiVA use this specs.

Last edited by prowler; 01 March 2017 at 00:10. Reason: Cleanup.
flype is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
RiVa AMMX Benchmarks TuKo Amiga scene 82 26 January 2017 21:59
RIVA (68k MPEG Player) is now free NovaCoder News 7 14 March 2016 12:25
RiVA mpeg player amiga request.Apps 18 25 February 2014 11:32
Never released??? tomcat666 project.aGTW 18 18 January 2010 15:44
riva amiga request.Apps 6 12 May 2008 19:56

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:49.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.29616 seconds with 15 queries