From gwizard@barak.net.il Sat, 21 Aug 1999 16:15:52 +0300
Date: Sat, 21 Aug 1999 16:15:52 +0300
From: Game Wizard gwizard@barak.net.il
Subject: [Livid-dev] DVD Player

Hi!

I am new to this list, so maybe someone already answered this.

I have Hitachi DVD, P200MMX, and a Slack4 Linux.
I have all the pathes to my 2.2.5 kernel( UDF and DVD).

Now all I need is software player that can read, uncode and play DVD.
Note: I do NOT have Mpeg decoder card. Oh and I use ATI card for
display.

Any suggestions besides write your own ? :-))

please reply to gamewizard@mindless.com

Sincerelly,
Alon.

From pvolcko@concentric.net Sat, 21 Aug 1999 10:09:40 -0400 (EDT)
Date: Sat, 21 Aug 1999 10:09:40 -0400 (EDT)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] DVD Player

Yeah... Use a windows player :)

Unfortunately there is no software decoding of DVD for linux yet. Some of
the components for it are in place and available, but the logic to tie it
together and some other outstanding components aren't there yet. 

Even more unfortunate is that there may never be software based
encrypted DVD decoding for linux. Being as it is an open source OS,
anyone can go in, modify some memory management or system bus transfer
functions, and be able to lift decrypted RAW MPEG data. This of course
circumvents CSS, so no one that has licensing from CSS will ever be making
a linux based CSS enabled software decoder. Right or wrong, that is how
it is looking.

> I am new to this list, so maybe someone already answered this.
> 
> I have Hitachi DVD, P200MMX, and a Slack4 Linux.
> I have all the pathes to my 2.2.5 kernel( UDF and DVD).
> 
> Now all I need is software player that can read, uncode and play DVD.
> Note: I do NOT have Mpeg decoder card. Oh and I use ATI card for
> display.
> 
> Any suggestions besides write your own ? :-))

From kju@flummi.de Sun, 22 Aug 1999 02:16:49 +0200
Date: Sun, 22 Aug 1999 02:16:49 +0200
From: Michael Holzt kju@flummi.de
Subject: [Livid-dev] DVD Player

On Sat, Aug 21, 1999 at 10:09:40AM -0400, pvolcko@concentric.net wrote:
> Unfortunately there is no software decoding of DVD for linux yet. Some of
> the components for it are in place and available, but the logic to tie it
> together and some other outstanding components aren't there yet. 

The bigger problem is that in the moment none of the components is able
to play real-time on recent hardware even lonely. I guess that all the
windows players out there have at least the decoding routines done in
handcoded assembler with heavy use of MMX/3DNow/ISSE(*) etc. Additional
most of this players also utilitize the capabilities of the 3D Graphic
Adapters in the PC. 

I haven't found a software decoder yet, which plays smoothly on my
AMD K6-2/400 with my ultra cheap Trio S3 3D card. This is to my knowledge
mainly because the Graphics Adapter is so bad which has no 3D acceleration
at all contrary to what the name makes you believe. :-/

So it will be a very long way to an usable software decoding solution
under linux, and because of the copyright reasons you mentioned it may
happen, that we will even never reach the end of the road.



(*) At least Intel has some assembler source code and description of
how to use the MMX-features for MPEG-decoding on their webpage. May be
a starting point.

From pvolcko@concentric.net Sun, 22 Aug 1999 10:35:47 -0400 (EDT)
Date: Sun, 22 Aug 1999 10:35:47 -0400 (EDT)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] DVD Player

I thought that the AC-3 decoder that Arron Holtzman released played fairly
well from what I've heard people say. I haven't had a chance to try it
out myself, unfortunately. I've heard quotes of 30%-40% CPU utilization
with only a few linux sound output problems (ASLA/OSS problems). That
sounds pretty good to me. Could do with a little more optimization, but a
very good starting point.

The MPEG-2 decoder(s) out there are very slow. Painfully slow.
Optimization is desperately needed. this will probably be done through at
least some assembly code (which means platform specific sections of code).
Happily you'll never see any problems with making a MPEG-2 software
decoder legally, since they are not licensed or otherwise restricted.
Only use of them in a program to display MPEG-2 to video screens is. On
the other hand, AC-3 may yet prove to be a problem, if Dolby decides to
come down on freely available, non-licensed implementations.

As for your comment about you graphics card not having 3d acceleration and
thus bad software decoding playback of MPEG-2, I don't really see the
connection. Do you (or anyone else) have any idea how a card with 3d
acceleration would have better bitmapped/2D image display abilities? This
doesn't make any sense to me.

Paul Volcko
LSDVD



On Sun, 22 Aug 1999, Michael Holzt wrote:

> On Sat, Aug 21, 1999 at 10:09:40AM -0400, pvolcko@concentric.net wrote:
> > Unfortunately there is no software decoding of DVD for linux yet. Some of
> > the components for it are in place and available, but the logic to tie it
> > together and some other outstanding components aren't there yet. 
> 
> The bigger problem is that in the moment none of the components is able
> to play real-time on recent hardware even lonely. I guess that all the
> windows players out there have at least the decoding routines done in
> handcoded assembler with heavy use of MMX/3DNow/ISSE(*) etc. Additional
> most of this players also utilitize the capabilities of the 3D Graphic
> Adapters in the PC. 
> 
> I haven't found a software decoder yet, which plays smoothly on my
> AMD K6-2/400 with my ultra cheap Trio S3 3D card. This is to my knowledge
> mainly because the Graphics Adapter is so bad which has no 3D acceleration
> at all contrary to what the name makes you believe. :-/
> 
> So it will be a very long way to an usable software decoding solution
> under linux, and because of the copyright reasons you mentioned it may
> happen, that we will even never reach the end of the road.
> 
> 
> 
> (*) At least Intel has some assembler source code and description of
> how to use the MMX-features for MPEG-decoding on their webpage. May be
> a starting point.
> 
> 
> 
> _______________________________________________
> Livid-dev maillist - Livid-dev@livid.on.openprojects.net
> http://livid.on.openprojects.net/mailman/listinfo/livid-dev
> 

From gilbertd@treblig.org Sun, 22 Aug 1999 16:32:49 +0100 (BST)
Date: Sun, 22 Aug 1999 16:32:49 +0100 (BST)
From: Dave Gilbert gilbertd@treblig.org
Subject: [Livid-dev] Re: Livid-dev digest, Vol 1 #31 - 2 msgs

Someone whose name I've lost (sorry) wrote on the livid-dev list:

> Unfortunately there is no software decoding of DVD for linux yet.  Some of
> the components for it are in place and available, but the logic to tie it
> together and some other outstanding components aren't there yet.  
> 
> Even more unfortunate is that there may never be software based
> encrypted DVD decoding for linux.  Being as it is an open source OS,
> anyone can go in, modify some memory management or system bus transfer
> functions, and be able to lift decrypted RAW MPEG data.  This of course
> circumvents CSS, so no one that has licensing from CSS will ever be making
> a linux based CSS enabled software decoder.  Right or wrong, that is how
> it is looking.

That would suggest you can only do this with an open source OS - but while
it is easier to do it with source, it is still doable from a binary.  On
the basis of my limited understanding of the way CSS works, there is
probably a routine in the software decoders for other OSs which decodes
the data and then passes it through to thee MPEG decoder.

Now while this is not a trivial job, I'm sure someone who was after the
MPEGs for gain could modify the software decoders on the other platforms
to intercept the raw MPEG stream.

Failing that, there are other approaches which are perhaps easier - for
example running the software decoder under a system emulator like Bochs 
would make this job a hell of a lot easier.

Once you release an algorithm in any form, be it source, byte code, or a
raw binary people will be able to examine it - and it is definitly doable
because by definition the system on which it runs has to be able to
execute the binary.

While reverse engineering from binary for a task like that may seem near
impossible, I suspect it is quite easy - it should be fairly easy to find
the routines which read the disc and then you can follow it through - and
you know what MPEG data you are looking for.

Dave


/ Dr. David Alan Gilbert      | Running Linux on           |  Happy  \ 
\   gro.gilbert @ treblig.org |  Alpha, x86, ARM and SPARC |  In Hex /
 ____________________________|___ http://www.treblig.demon.co.uk __/

From aholtzma@ess4.engr.UVic.CA Sun, 22 Aug 1999 09:45:12 -0700
Date: Sun, 22 Aug 1999 09:45:12 -0700
From: Aaron Holtzman aholtzma@ess4.engr.UVic.CA
Subject: [Livid-dev] DVD Player

It would seem that pvolcko@concentric.net (pvolcko@concentric.net) said:
> I thought that the AC-3 decoder that Arron Holtzman released played fairly
> well from what I've heard people say. I haven't had a chance to try it
> out myself, unfortunately. I've heard quotes of 30%-40% CPU utilization
> with only a few linux sound output problems (ASLA/OSS problems). That
> sounds pretty good to me. Could do with a little more optimization, but a
> very good starting point.
> 
I would optimize it a bit more, but I find the optimization tools
available for unix are pretty weak. We need a tool that has a nice
interface to the performance tuning registers on the P6 core. I've also 
heard that the performance sucks incredibly badly on a K6 due to it's 
non-pipelined FPU. Some 3Dnow optimization may help. Rewriting the back
end to use fixed point would help too, but that's not what I call fun :)

> The MPEG-2 decoder(s) out there are very slow. Painfully slow.
> Optimization is desperately needed. this will probably be done through at
> least some assembly code (which means platform specific sections of code).

There is some progress in MPEG-2 optimization happening. I'd say in six
months we will have a rough approximation of whats available on the
windows side.

> As for your comment about you graphics card not having 3d acceleration and
> thus bad software decoding playback of MPEG-2, I don't really see the
> connection. Do you (or anyone else) have any idea how a card with 3d
> acceleration would have better bitmapped/2D image display abilities? This
> doesn't make any sense to me.
> 
Most cards with 3D also have hardware YUV->RGB conversion and scaling. Also
with AGP (ergo 3D) cards the transfer of image data to the card can be
much faster.

cheers,
aaron

From aholtzma@ess4.engr.UVic.CA Sun, 22 Aug 1999 09:51:18 -0700
Date: Sun, 22 Aug 1999 09:51:18 -0700
From: Aaron Holtzman aholtzma@ess4.engr.UVic.CA
Subject: [Livid-dev] DVD Player

It would seem that pvolcko@concentric.net (pvolcko@concentric.net) said:
> Even more unfortunate is that there may never be software based
> encrypted DVD decoding for linux. Being as it is an open source OS,
> anyone can go in, modify some memory management or system bus transfer
> functions, and be able to lift decrypted RAW MPEG data. This of course
> circumvents CSS, so no one that has licensing from CSS will ever be making
> a linux based CSS enabled software decoder. Right or wrong, that is how
> it is looking.
> 
Given that I can do the same thing on Windows I don't understand this
at all. See www.dvdutils.com. There are tools there that allow you to
rip unencrypted VOBs from any DirectShow based player. Check it out.

cheers,
aaron

From pvolcko@concentric.net Sun, 22 Aug 1999 13:34:42 -0400 (EDT)
Date: Sun, 22 Aug 1999 13:34:42 -0400 (EDT)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] DVD Player

> I would optimize it a bit more, but I find the optimization tools
> available for unix are pretty weak. We need a tool that has a nice
> interface to the performance tuning registers on the P6 core. I've also 
> heard that the performance sucks incredibly badly on a K6 due to it's 
> non-pipelined FPU. Some 3Dnow optimization may help. Rewriting the back
> end to use fixed point would help too, but that's not what I call fun :)

Well, personally I think making it integer based would be a waste. AMD is
obviously moving to a strong FPU in the K7 and the only platform that
would really benefit is AMD K6. Would be better to just use 3DNow and MMX
I would think.

> There is some progress in MPEG-2 optimization happening. I'd say in six
> months we will have a rough approximation of whats available on the
> windows side.

Where is this happening? I'd love to keep track of these kinds of
developments and improvements.

> Most cards with 3D also have hardware YUV->RGB conversion and scaling. Also
> with AGP (ergo 3D) cards the transfer of image data to the card can be
> much faster.

I figured the AGP would help, but I seperate that and straight 3d
acceleration. I can see where YUV->RGB conversion and the hardware
scaling would help. 

Paul Volcko

From aholtzma@ess4.engr.UVic.CA Sun, 22 Aug 1999 10:50:17 -0700
Date: Sun, 22 Aug 1999 10:50:17 -0700
From: Aaron Holtzman aholtzma@ess4.engr.UVic.CA
Subject: [Livid-dev] DVD Player

> Well, personally I think making it integer based would be a waste. AMD is
> obviously moving to a strong FPU in the K7 and the only platform that
> would really benefit is AMD K6. Would be better to just use 3DNow and MMX
> I would think.
> 
Agreed. I need to grab the 3Dnow manual and take a look. I don't think
MMX will do much at all. I could be wrong though...

> > There is some progress in MPEG-2 optimization happening. I'd say in six
> > months we will have a rough approximation of whats available on the
> > windows side.
> 
> Where is this happening? I'd love to keep track of these kinds of
> developments and improvements.
> 
I've been re-writing the lower layers of the MSSG codebase for the last 
little while. Joachim has been hacking MMX for his player. Potentially
the two efforts could be combined someday. My code may never see the 
light of day though, so I'm not making any commitments :)

cheers,
aaron

From pvolcko@concentric.net Sun, 22 Aug 1999 14:23:10 -0400 (EDT)
Date: Sun, 22 Aug 1999 14:23:10 -0400 (EDT)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] DVD Player

> Given that I can do the same thing on Windows I don't understand this
> at all. See www.dvdutils.com. There are tools there that allow you to
> rip unencrypted VOBs from any DirectShow based player. Check it out.

Of the rippers on that site only DVDRip seems to do the ripping before
decoding (but after decryption). My guess is that it keeps track of 
memory buffers used in the software player and looks for the mpeg/VOB pack
headers. Kind of like a mini-debugger/profiler with very specific
functionality.

The others do frame grabs from the framebuffer/screen.

There would be nothing stopping a person from making the smae thing in
linux. If a software player is released for it I'm sure that a DVDRip
like ripper will be out the next day, if not before the actual player is
even released :) 

I'm not saying that these companies that might be considering making a
linux software dvd decoder/player are doing to base their decisions on
reality or even mediocre logic. I am merely pointing out some of the
logic that will most likely be used and, usually, has already been used
by these companies' executives and directors.

From pvolcko@concentric.net Sun, 22 Aug 1999 14:57:26 -0400 (EDT)
Date: Sun, 22 Aug 1999 14:57:26 -0400 (EDT)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] Re: Livid-dev digest, Vol 1 #31 - 2 msgs

> That would suggest you can only do this with an open source OS - but while
> it is easier to do it with source, it is still doable from a binary. On
> the basis of my limited understanding of the way CSS works, there is
> probably a routine in the software decoders for other OSs which decodes
> the data and then passes it through to thee MPEG decoder.
> 
> Now while this is not a trivial job, I'm sure someone who was after the
> MPEGs for gain could modify the software decoders on the other platforms
> to intercept the raw MPEG stream.
> 
> Failing that, there are other approaches which are perhaps easier - for
> example running the software decoder under a system emulator like Bochs 
> would make this job a hell of a lot easier.
> 
> Once you release an algorithm in any form, be it source, byte code, or a
> raw binary people will be able to examine it - and it is definitly doable
> because by definition the system on which it runs has to be able to
> execute the binary.
> 
> While reverse engineering from binary for a task like that may seem near
> impossible, I suspect it is quite easy - it should be fairly easy to find
> the routines which read the disc and then you can follow it through - and
> you know what MPEG data you are looking for.

All true. Again, I was simply giving everyone an example of some of the
reasoning I've heard being used by companies considering their software
decoding being ported to linux. Everyone is trying to cover their asses
in this because of the strangle hold that CSS and DVD licensing puts on a
development company/group. Money and market share is what is going to
ultimately bring these companies around though. When that happens there
will be some compromises made on linux users' and the companies' parts.
Eventually things will be freed up and the point of secrecy in all of this
obliterated. And then we will have gotten what we want, as free software
and/or open source advocates and linux developers. 

There will be compromises though. 

From joachim.koenig@gmx.net Mon, 23 Aug 1999 08:55:52 +0200
Date: Mon, 23 Aug 1999 08:55:52 +0200
From: Joachim König joachim.koenig@gmx.net
Subject: [Livid-dev] DVD Player

> > > There is some progress in MPEG-2 optimization happening. I'd say in six
> > > months we will have a rough approximation of whats available on the
> > > windows side.
> > 
> > Where is this happening? I'd love to keep track of these kinds of
> > developments and improvements.
> > 
> I've been re-writing the lower layers of the MSSG codebase for the last 
> little while. Joachim has been hacking MMX for his player. Potentially
> the two efforts could be combined someday. My code may never see the 
> light of day though, so I'm not making any commitments :)

Ckeck out my MPEG-2 Player from
http://www.germany.net/teilnehmer/100/5083/index.htm
It is optimized with MMX Assembler (mostly from the intel developer
side). The next 
Version has Aarons AC-3 decoder integrated (it already runs, but I
still struggle with
the synconization between video and audio). Please let me know the
frame rates that you
get for video only. 

mfg
Joachim

From Joachim.Koenig@tecnomen.com Tue, 31 Aug 1999 08:28:48 +0200
Date: Tue, 31 Aug 1999 08:28:48 +0200
From: Joachim Koenig Joachim.Koenig@tecnomen.com
Subject: [Livid-dev] DVD Player (nist-0.5)

> Hi,
> 
> finally Version 0.5 of my DVD Player is out. It now contains Aarons AC-3
> decoder. 
> Please read README.linux for more info and let me know your experience
> with it. 
> It can be found on http://www.germany.net/teilnehmer/100,5083/index.htm
> 
> Have fun
> Joachim
> 
>