MPlayer 1.0pre5 tardist

Video, software tools and techniques on SGI systems.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
lewis
Posts: 547
Joined: Thu Nov 27, 2003 12:30 pm
Location: london
Contact:

Unread postby lewis » Sun Sep 05, 2004 1:47 pm

Hey vegac, does the pixeltex route not scale using textures? Surely Octanes at least have enough oomph for an extra context switch and a glCopyTexSubImage2D()? I seem to recall seeing 240 MPixels/sec quoted for SSE, a PAL stream is only like 10 or something...

hamei
Posts: 10101
Joined: Tue Feb 24, 2004 4:10 pm
Location: over the rainbow

Unread postby hamei » Sun Sep 05, 2004 6:02 pm

vegac wrote:The problem with the idea of the initial buffering is that no matter how big of a buffer you make, it will eventually run out because the slower O2's can't keep up with the codec...

Meaning: Even if you buffer 10 frames, by the time you hit frame 15 your buffer is depleted and you're lagging again - the only way to really do this would be to buffer enough to compensate for the remaining of the decode time - ...


well, you *could* introduce commercials ... [ ducking and running ]

User avatar
GeneratriX
Posts: 4226
Joined: Tue Oct 21, 2003 2:07 am
Location: Rosario / Santa Fe / República Argentina

Unread postby GeneratriX » Sun Sep 05, 2004 7:01 pm

hamei wrote:well, you *could* introduce commercials ... [ ducking and running ]


....whoahahahahaha!!! :lol: :D

Oh man; you're really unique!!!; hehehehe!!!

:lol: :lol: :lol:

vegac
Posts: 738
Joined: Thu Jan 23, 2003 11:34 am
Contact:

Unread postby vegac » Sun Sep 05, 2004 10:08 pm

lewis wrote:Hey vegac, does the pixeltex route not scale using textures? Surely Octanes at least have enough oomph for an extra context switch and a glCopyTexSubImage2D()? I seem to recall seeing 240 MPixels/sec quoted for SSE, a PAL stream is only like 10 or something...


I had started working on a render-to-texture approach (basically working just like the O2's dmbuffer setup, only without the dmbuffers) but was getting errors about creating a 1024x512 texture + a 1024x512 pbuffer (needed for any video with a width larger than 512 and a height larger than 256 pixels). I'm assuming it came down to lack of vram but hey, all I have is an O2 so it's hard for me to test / debug these sorts of things.

The code is (mostly) in there so some adventurous soul could search through vo_sgi.c for references to use_rendertotex :)

Brombear
Posts: 786
Joined: Sun Oct 05, 2003 8:42 am
Location: Frankfurt (Rhein-Main Area) / Germany
Contact:

Unread postby Brombear » Sun Sep 05, 2004 11:24 pm

PBuffers on SGIs are kind of weird .. I guess you might run out of luck.

Matthias
Life is what happens while we are making other plans

User avatar
SkyBound
Posts: 136
Joined: Tue Jan 13, 2004 10:57 am
Location: Enschede, The Netherlands
Contact:

Unread postby SkyBound » Mon Sep 06, 2004 1:38 am

vegac wrote:
lewis wrote:Hey vegac, does the pixeltex route not scale using textures? Surely Octanes at least have enough oomph for an extra context switch and a glCopyTexSubImage2D()? I seem to recall seeing 240 MPixels/sec quoted for SSE, a PAL stream is only like 10 or something...


I had started working on a render-to-texture approach (basically working just like the O2's dmbuffer setup, only without the dmbuffers) but was getting errors about creating a 1024x512 texture + a 1024x512 pbuffer (needed for any video with a width larger than 512 and a height larger than 256 pixels).


I'm not yet sure this could be of any help, but it looks like the Video Resize Extension could come in handy.

Erik

Brombear
Posts: 786
Joined: Sun Oct 05, 2003 8:42 am
Location: Frankfurt (Rhein-Main Area) / Germany
Contact:

Unread postby Brombear » Mon Sep 06, 2004 1:58 am

SkyBound wrote:I'm not yet sure this could be of any help, but it looks like the Video Resize Extension could come in handy.


Good idea, but there are some issues:

Code: Select all

   Note: This extension is an SGIX (experimental) extension. The interface or other aspects of the extension may change. The extension is currently implemented only on InfiniteReality systems.


Matthias
Life is what happens while we are making other plans

User avatar
lewis
Posts: 547
Joined: Thu Nov 27, 2003 12:30 pm
Location: london
Contact:

Unread postby lewis » Mon Sep 06, 2004 5:51 pm

Shouldn't the pbuffer be the same size as the video? There's no power of two restriction, is there? I don't have TRAMs so I can't really play with this either :)

vegac
Posts: 738
Joined: Thu Jan 23, 2003 11:34 am
Contact:

Unread postby vegac » Mon Sep 06, 2004 7:29 pm

lewis:
You know you're right, for non-O2 machines the pbuffer wouldn't need to be a power-of-two size (that only is needed for O2 to do the copy-by-reference dmbuffer stuff). That's what I get for copying/pasting code, right? :)

Still, I'm not in any position to test it right now as all I have is my O2, and I'm about to be out of town for a week, but someone might want to play with it?

User avatar
artherd
Posts: 108
Joined: Fri Sep 03, 2004 11:45 pm
Location: SF Bay Area, CA
Contact:

Unread postby artherd » Tue Sep 07, 2004 10:20 am

In that Warcraft video demo, I get 0.5fps or so, untill I hit an arrow key to fastforward/rewind.

Then I get about 20fps for a few seconds, then back to 0.5fps. I think it is only decoding I-frames or the like?

Octane Dual 250 R10k, 1GB ram, SSI gfx. Running 6.5.25

User avatar
GeneratriX
Posts: 4226
Joined: Tue Oct 21, 2003 2:07 am
Location: Rosario / Santa Fe / República Argentina

Unread postby GeneratriX » Tue Sep 07, 2004 11:52 am

vegac wrote:Still, I'm not in any position to test it right now as all I have is my O2, and I'm about to be out of town for a week, but someone might want to play with it?


Sure!; just pass me an url to get the tar.gz, and I'll do happily! ;)

schleusel
Posts: 495
Joined: Mon Oct 20, 2003 6:49 am
Location: NRW, Germany
Contact:

Unread postby schleusel » Tue Sep 07, 2004 12:43 pm

Diego wrote:Sure!; just pass me an url to get the tar.gz, and I'll do happily! ;)


well, source code and patches are both in the tardist.. :pixeltex is odyssey/mgras only though, so you'd have the same problem as vegac in this case :-)

i'll try to experiment with it further asap (probably not this week though)

User avatar
GeneratriX
Posts: 4226
Joined: Tue Oct 21, 2003 2:07 am
Location: Rosario / Santa Fe / República Argentina

Unread postby GeneratriX » Tue Sep 07, 2004 12:56 pm

schleusel wrote:well, source code and patches are both in the tardist.. :pixeltex is odyssey/mgras only though, so you'd have the same problem as vegac in this case :-)


...oooooops! :oops: :lol:

Sorry, fast-readings some times are dangeorus! ;)

User avatar
squeen
Moderator
Moderator
Posts: 2932
Joined: Fri May 09, 2003 6:10 am
Location: Maryland, USA

Unread postby squeen » Tue Sep 07, 2004 2:17 pm

Wow. This is really an amazing example of talent and teamwork. Congradulations all around on a very fine job. Once again, I am moved by how this place facilitates great things. Neko, if you are browsing this -- know you made this happen as much as anyone else. Thanks all!

Here are my run stats on an OCtane2 2x600Mhz, V12, 3GB RAM.

Code: Select all

mplayer WarIII_Trailer1024.avi
MPlayer 1.0pre5 - MIPSpro Compilers: Version 7.4.2m (C) 2000-2004 MPlayer Team

CPU: SGI MIPS
Reading config file /opt/mplayer/etc/mplayer/mplayer.conf
Reading config file /usr/people/queen/.mplayer/config
Reading /usr/people/queen/.mplayer/codecs.conf: Can't open '/usr/people/queen/.mplayer/codecs.conf': No such file or directory
Reading /opt/mplayer/etc/mplayer/codecs.conf: 73 audio & 180 video codecs
font: can't open file: /usr/people/queen/.mplayer/font/font.desc
Font /opt/mplayer/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using usleep() timing
Can't open input config file /usr/people/queen/.mplayer/input.conf: No such file or directory
Can't open input config file /opt/mplayer/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config

Playing WarIII_Trailer1024.avi.
Cache fill:  6.05% (507904 bytes)    AVI file format detected.
VIDEO:  [XVID]  1024x468  16bpp  24.000 fps  1503.5 kbps (183.5 kbyte/s)
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 44100 Hz, 2 ch, 16 bit (0x20), ratio: 28000->176400 (224.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
vo: X11 running at 1920x1200 with depth 24 and 32 bpp (":0.0" => local display)
==========================================================================
Trying to force video codec driver family ffmpeg...
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 44100 hz, big endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Big-Endian)
ao_sgi, init: Samplerate: 44100Hz Channels: Stereo Format Signed 16-bit (Big-Endian)
AO: [sgi] 44100Hz 2ch Signed 16-bit (Big-Endian) (2 bps)
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
Starting playback...
[mpeg4 @ 10772a60]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag
VDec: vo config request - 1024 x 468 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [sgi] 1024x468 => 1024x468 Planar YV12
[sgi] VPro (Odyssey) Hardware detected:
        running multithreaded,
        using software colorspace conversion (rgb)
        drawing via textures
A: 142.2 V: 142.2 A-V: -0.000 ct: -0.058  3414/3414  60%  0%  2.7% 11 0 1%%
Broken frame at 0x3D36D0                                                 
A: 143.3 V: 143.2 A-V:  0.001 ct: -0.042  3439/3439  60%  0%  2.7% 11 0 0%
ao_sgi, uninit: ...
X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  146 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  97
  Current serial number in output stream:  99


CPU usage is always under 90%,, about 45% on each CPU (max is 200%).
The defaults are nicer to look at (e.g. blacker blacks) than the -vo sgi:pixeltex command line option, but that latter is a smidgen faster. Both are very watchable even at 1920x1200 full screen.

I'll give it a try on the UltimaVision tomorrow. Let me know what else I should try.

Lastly, I intend to take up the native Motif front-end challenge in due course. But would like for a more artistically inclined contributor to sketch out (say a RGB image) of how it should look (be shaped?). I know from my Performer lessons, that graphics context switches between motif and OpenGL can hurt performance so we'll have to watch out for that.

hamei
Posts: 10101
Joined: Tue Feb 24, 2004 4:10 pm
Location: over the rainbow

Unread postby hamei » Tue Sep 07, 2004 5:09 pm

squeen wrote: Here are my run stats on an Octane2 2x600Mhz, V12, 3GB RAM.


there are times when I hate you, squeen.


Return to “SGI: Video”

Who is online

Users browsing this forum: No registered users and 0 guests