Re: Understanding the system

H}kan Hjort <[email protected]> Tue, 30 Mar 2004 17:57:26 +0200
Newsgroups gmane.comp.video.ogle.devel
Message-ID <[email protected]>
Tue Mar 30 2004, Mike Kelland wrote:
> Hi Everyone,
> 
> I'm generally new to the whole Linux device-oriented programming thing and
> am trying to learn more.  I'd like to play around with the libdvdread
> library but I need some information.  Can anyone tell me about/point me at
> a resource that explains the following:
> 
> I know that DVD's go through several steps from the pits on the disc to
> the pictures on the screen.  There's the driver (cdrom), libdvdread,
> libdvdcss and Ogle.  At what point do the following happen:
> - DVD data byte-order descrambling from the disc

Not 100% sure what you mean here.  If you mean CSS descrambling then it's
libdvdcss.

> - Error Correction and Detection of physical bit errors
> 
This happens inside you DVD-rom, either directly in hardware or by it's
firmware, not sure which.

> Basically I'm wondering if this stuff is something that libdvdread has to
> worry about or if it's all just handled by the driver so that libdvdread
> can just trust the bits it reads from the device.
> 
libdvdread does not make any distintion of a dvd drive or a image copy
of a DVD disc.  I.e all the data contained on a disc seen as a stream
copied to a file.  Though as it used libdvdcss, which it turn takes care
to do CSS authentication if reading from a DVD device.

loosely described the hierarchy is:
physical media
dvd drive with firmware
ide/scsi interface
ide-cdrom/ide-scsi (dvd) kernel driver
kernel interface
libc interface 
libdvdcss
libdvdread
<some dvd navigation player program>
mpeg/ac3 decoders
display interface (X11)
display driver (nvidia)
display (you monitor)

-- 
HÃ¥kan Hjort