Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
FFK

Homepage

03.02.2009, 21:48
 

DJGPP libmpeg2 0.5 ? Libogg ? (Developers)

Any one compiled latest versions of those two libraries ?
I do wish to use them on the upcoming release of DUGL PLayer :-)

rr

Homepage E-mail

Berlin, Germany,
14.02.2009, 21:53

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Any one compiled latest versions of those two libraries ?

I'm working on libmpeg2 0.5.1 just for you right now. ;-)
Are you using DJGPP "current"? Or "beta"?
I guess "-mcpu=pentiumpro" would be OK for you?!

---
Forum admin

FFK

Homepage

14.02.2009, 22:01

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> I'm working on libmpeg2 0.5.1 just for you right now. ;-)

great thanks :-)

> Are you using DJGPP "current"? Or "beta"?

I'm using DJGPP 2.04 beta

> I guess "-mcpu=pentiumpro" would be OK for you?!

yes "-mcpu=pentiumpro" would be enough for DUGL Player.
But better compile it for pentium 4 to get the optional SSE2 support of libmpeg2 and the latest cwsdpmi.

rr

Homepage E-mail

Berlin, Germany,
14.02.2009, 22:12

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > I guess "-mcpu=pentiumpro" would be OK for you?!
>
> yes "-mcpu=pentiumpro" would be enough for DUGL Player.
> But better compile it for pentium 4 to get the optional SSE2 support of
> libmpeg2 and the latest cwsdpmi.

Are you sure? If I understand this source code correctly, usage of SSE2 will be detected always at runtime despite any compile-time settings.

---
Forum admin

FFK

Homepage

14.02.2009, 22:17

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Are you sure? If I understand this source code correctly, usage of SSE2
> will be detected always at runtime despite any compile-time settings.

No i'm not sure and i think you are right. Compiling it for pentium 4 will limit the usage of "DUGL Player" to only the pentium 4 owner. So "-mcpu=pentium" is just enough.

Rugxulo

Homepage

Usono,
15.02.2009, 00:39

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > Are you sure? If I understand this source code correctly, usage of SSE2
> > will be detected always at runtime despite any compile-time settings.
>
> No i'm not sure and i think you are right. Compiling it for pentium 4 will
> limit the usage of "DUGL Player" to only the pentium 4 owner. So
> "-mcpu=pentium" is just enough.

I don't know, has anyone here actually seen GCC produce any SIMD code ever?? It's rare. At most it seems to only use CMOV.. if you "-march=i686". But that's my limited experience. And BTW, make sure to use latest CWSDPMI r5 2008 (or HDPMI32) to enable SSE for you in pure DOS! (e.g. "stubedit myfile.exe dpmi=hdpmi32.exe").

P.S. GCC now supports pentium-mmx, pentiumpro, pentium2 (and even pentium-m for rr).

rr

Homepage E-mail

Berlin, Germany,
14.02.2009, 23:18

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > I'm working on libmpeg2 0.5.1 just for you right now. ;-)
>
> great thanks :-)

Please try http://www.bttr-software.de/tmp/mpeg2.zip for today.
After some feedback I'll make an official DJGPP package.

---
Forum admin

FFK

Homepage

15.02.2009, 14:10

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Please try http://www.bttr-software.de/tmp/mpeg2.zip for
> today.
> After some feedback I'll make an official DJGPP package.

It's working well with my two test computers and about eight mpg files. But i haven't noticed any speed increase.

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 14:53

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > Please try http://www.bttr-software.de/tmp/mpeg2.zip for
> > today.
> > After some feedback I'll make an official DJGPP package.
>
> It's working well with my two test computers and about eight mpg files.
> But i haven't noticed any speed increase.

Then you have to find the bootleneck. ;-)

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 15:37

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > Please try http://www.bttr-software.de/tmp/mpeg2.zip for
> > today.
> > After some feedback I'll make an official DJGPP package.
>
> It's working well with my two test computers and about eight mpg files.
> But i haven't noticed any speed increase.

Original "mpeg2.zip" was built using GCC 4.3.2.
Built with GCC 4.1.2: mpeg2a.zip
Built with GCC 4.3.2 and "-march=pentium4": mpeg2b.zip

Please tell me, if there are any speed differences!

---
Forum admin

FFK

Homepage

15.02.2009, 20:02

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Original "mpeg2.zip" was built using GCC 4.3.2.
> Built with GCC 4.1.2:
> mpeg2a.zip
> Built with GCC 4.3.2 and "-march=pentium4":
> mpeg2b.zip
>
> Please tell me, if there are any speed differences!

The bootleneck was the smooth which reduce the number of fps to about 150 fps.
So disabling smoothing and setting timer frequency to 2000 i was always able to measure about 1200 - 1300 fps on my testing mpg files.
I haven't tested the GCC 4.1.2 one as the P4 one and the first pentium and the 0.41 was always the same :-|
I guess that we have to wait tests from some one else with a slower computer.
I mean differences between DUGL Player 0.3 Beta 1 and Beta 2.

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 20:42

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> The bootleneck was the smooth which reduce the number of fps to about 150
> fps.

Is it possible to see the FPS rate in DUGL Player?
Could you please explain DUGL Player's option menu?
And libmpeg2 version is "0.5.1", not "0.51". (About screen)

> I haven't tested the GCC 4.1.2 one as the P4 one and the first pentium and
> the 0.41 was always the same :-|

So my work was for nothing. :-(

> I guess that we have to wait tests from some one else with a slower
> computer.

The sample MPEG file plays smooth in VMware Player 1.x running on my Pentium M at 600 MHz only.

---
Forum admin

FFK

Homepage

15.02.2009, 21:02

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Is it possible to see the FPS rate in DUGL Player?
> Could you please explain DUGL Player's option menu?

F8 - disable/enable vertical synch
F7 - (in full screen) show/hide time
F6 - (in full screen) show/hide fps
F5 - (in full screen) enable/disable smoothing

space+enter - switch from/to full screen and GUI
space+tab - stop/continue playing

> So my work was for nothing. :-(

I guess that for slower computer we can get more speed. And i think it's always good to use latest lib with all speed-up and bug fixes.

> The sample MPEG file plays smooth in VMware Player 1.x running on my
> Pentium M at 600 MHz only.

See how much fps with/without smooth with beta1 and beta2

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 21:47

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> F8 - disable/enable vertical synch
> F7 - (in full screen) show/hide time
> F6 - (in full screen) show/hide fps
> F5 - (in full screen) enable/disable smoothing

Ah, "in full screen" was important to me!

> space+enter - switch from/to full screen and GUI
> space+tab - stop/continue playing

How about adding a loop/repeat feature?

> > So my work was for nothing. :-(
>
> I guess that for slower computer we can get more speed. And i think it's
> always good to use latest lib with all speed-up and bug fixes.

Juan Guerrero will make the final libmpeg2 0.5.1 release as a DJGPP port soon, because his port is more advanced (more clean) than mine. He had started his work some days ago, because he needs it for ImageMagick.

> > The sample MPEG file plays smooth in VMware Player 1.x running on my
> > Pentium M at 600 MHz only.
>
> See how much fps with/without smooth with beta1 and beta2

For me there's no difference between beta1 and beta2. Both show 20-23 fps w/ smoothing or 50-80 fps w/o smoothing.

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 22:02

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> How about adding a loop/repeat feature?

Could you please add the type of acceleration used in libmpeg2 to the about screen? Function mpeg2_accel() seems to be nice for this. see doc\libmpeg2.txt

---
Forum admin

FFK

Homepage

15.02.2009, 23:08

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > How about adding a loop/repeat feature?
>
> Could you please add the type of acceleration used in libmpeg2 to the
> about screen? Function mpeg2_accel() seems to be nice for this. see
> doc\libmpeg2.txt

Ok ASAP both are good ideas and not hard to add.

rr

Homepage E-mail

Berlin, Germany,
18.02.2009, 23:15

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Juan Guerrero will make the final libmpeg2 0.5.1 release as a DJGPP port
> soon, because his port is more advanced (more clean) than mine.

You can download Juan's official lmpg051b.zip (djdev204) from any DJGPP mirror now. Source code is in lmpg051s.zip (djdev203p2) as usual.

---
Forum admin

Rugxulo

Homepage

Usono,
15.02.2009, 21:29

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > I haven't tested the GCC 4.1.2 one as the P4 one and the first pentium
> and
> > the 0.41 was always the same :-|
>
> So my work was for nothing. :-(
>
> > I guess that we have to wait tests from some one else with a slower
> > computer.
>
> The sample MPEG file plays smooth in VMware Player 1.x running on my
> Pentium M at 600 MHz only.

DJGPP ports by default use -mtune=pentium , so you never have to explicitly say that (although Ubuntu, for instance, uses -mtune=generic which is the same as i686). FFK is running a Pentium D (P4 Prescott-based w/o x86-64?) cpu, right? -mtune=prescott There's quite a difference between original 586 and 686 and P4. It may be the low bandwidth of SSE (which increased on later chips). Then again, I swear GCC is heavily 686-oriented these days, so maybe that's why.

Or it could be a regression, so trying GCC 3.4.4 might help, who knows. Even -O3 (or -O2 if you already tried -O3) might help due to cache thrashing. Also try CWSDPR0 (or HDPMI32 or CWSDPMI6) instead of default CWSDPMI, if possible.

Besides, the eye can only detect 24fps or so (right?), so anything higher won't matter.

FFK

Homepage

15.02.2009, 23:07

@ Rugxulo
 

DJGPP libmpeg2 0.5 ? Libogg ?

> FFK is running a Pentium D (P4 Prescott-based w/o x86-64?) cpu,
> right?

pentium D 925 and with x86-64

> It may be the low bandwidth of SSE

yes maybe as it's not a high end CPU

> Besides, the eye can only detect 24fps or so (right?), so anything higher
> won't matter.

If we are playing a video 24-30fps it's just enough. But for games, more fps mean smoother animation which increase the gaming experience.

Rugxulo

Homepage

Usono,
16.02.2009, 00:19

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > FFK is running a Pentium D (P4 Prescott-based w/o x86-64?) cpu,
> > right?
>
> pentium D 925 and with x86-64

Ah, then it's -mtune=nocona you should use.

(from GCC.INFO):
" _nocona_
Improved version of Intel Pentium4 CPU with 64-bit
extensions, MMX, SSE, SSE2 and SSE3 instruction set support.
"

> > It may be the low bandwidth of SSE
>
> yes maybe as it's not a high end CPU

It's not low end, that's for sure. IMHO, anything > 1 Ghz, SSE2, or having x86-64 isn't low at all. (Doesn't mean there isn't newer, but DOS doesn't care anyways, heh.)

> > Besides, the eye can only detect 24fps or so (right?), so anything
> higher
> > won't matter.
>
> If we are playing a video 24-30fps it's just enough. But for games, more
> fps mean smoother animation which increase the gaming experience.

I spy with my little eye ... ;-)

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 19:07

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> Any one compiled latest versions of those two libraries ?
> I do wish to use them on the upcoming release of DUGL PLayer :-)

Additionally to libogg you also need libvorbis, libtheora, libflac?

---
Forum admin

FFK

Homepage

15.02.2009, 20:04

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > Any one compiled latest versions of those two libraries ?
> > I do wish to use them on the upcoming release of DUGL PLayer :-)
>
> Additionally to libogg you also need libvorbis, libtheora, libflac?

I guessed that that libogg will be enough for video decoding. But i'm not sure as i haven't learned yet the API.

rr

Homepage E-mail

Berlin, Germany,
15.02.2009, 20:16

@ FFK
 

DJGPP libmpeg2 0.5 ? Libogg ?

> > Additionally to libogg you also need libvorbis, libtheora, libflac?
>
> I guessed that that libogg will be enough for video decoding. But i'm not
> sure as i haven't learned yet the API.

AFAIK you need libtheora, because "[lib]ogg is a [basic] library for manipulating ogg bitstreams".

---
Forum admin

FFK

Homepage

16.02.2009, 23:11

@ rr
 

DJGPP libmpeg2 0.5 ? Libogg ?

> AFAIK you need libtheora, because "[lib]ogg is a [basic] library for
> manipulating ogg bitstreams".

Ok i'm waiting for DJGPP libs :-)

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 277 users online (0 registered, 277 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum