Improve cdrdao grammar. More on SVCD. Minor index and other corrections.
Probably the last lookover before the 0.72 release.
This commit is contained in:
@@ -188,7 +188,7 @@ Media Catalog Number. A identification number on an audio CD. Also
|
|||||||
called a UPC. Another identification number is ISRC.
|
called a UPC. Another identification number is ISRC.
|
||||||
|
|
||||||
@item MMC
|
@item MMC
|
||||||
@cindex MMC
|
@cindex MMC (Multimedia Commands)
|
||||||
|
|
||||||
MMC (Multimedia Commands). A SCSI programming specification made by
|
MMC (Multimedia Commands). A SCSI programming specification made by
|
||||||
the SCSI committee T10 organization @url{http://www.t10.org/}. MMC
|
the SCSI committee T10 organization @url{http://www.t10.org/}. MMC
|
||||||
@@ -234,12 +234,6 @@ Yet another way of issuing MMC commands for accessing a CD-ROM. As
|
|||||||
with MMC or ASPI, the CD-ROM doesn't necessarily have to be a
|
with MMC or ASPI, the CD-ROM doesn't necessarily have to be a
|
||||||
SCSI-attached drive. See also @acronym{MMC} and @acronym{ASPI}.
|
SCSI-attached drive. See also @acronym{MMC} and @acronym{ASPI}.
|
||||||
|
|
||||||
|
|
||||||
@item SPTI
|
|
||||||
@cindex SPTI
|
|
||||||
|
|
||||||
SCSI Pass Through Interface. See SCSI Pass Through Interface
|
|
||||||
|
|
||||||
@item Session
|
@item Session
|
||||||
|
|
||||||
A fully readable complete recording that contains one or more tracks
|
A fully readable complete recording that contains one or more tracks
|
||||||
@@ -248,16 +242,28 @@ of computer data or audio on a CD.
|
|||||||
@item SVCD
|
@item SVCD
|
||||||
@cindex Super VCD (SVCD)
|
@cindex Super VCD (SVCD)
|
||||||
|
|
||||||
Super @acronym{VCD} @uref{http://www.dvdrhelp.com/svcd}
|
Super @acronym{VCD}
|
||||||
|
|
||||||
|
An improvement of Video CD 2.0 specification which includes most
|
||||||
|
notably a switch from @acronym{MPEG}-1 (constant bit rate encoding) to
|
||||||
|
@acronym{MPEG}-2 (variable bit rate encoding) for the video stream.
|
||||||
|
|
||||||
|
Also added was higher video-stream resolution, up to 4 overlay
|
||||||
|
graphics and text (@dfn{OGT}) sub-channels for user switchable
|
||||||
|
subtitle displaying, closed caption text, and command lists for
|
||||||
|
controlling the @acronym{SVCD} virtual machine.
|
||||||
|
|
||||||
|
See @uref{http://www.dvdrhelp.com/svcd}
|
||||||
|
|
||||||
@item TOC
|
@item TOC
|
||||||
@cindex TOC
|
@cindex TOC (CD Table of Contents)
|
||||||
|
|
||||||
Table of Contents. The TOC contains the starting track number, last
|
(Compact Disc) Table of Contents. The TOC contains the starting track
|
||||||
track number individual track starting time, format of track: CDDA or
|
number, last track number individual track starting time, and some
|
||||||
CDROM. Every CD must have at least 1 TOC, the first TOC is always
|
track flags (copy protection, linear audio preemphasis, track format:
|
||||||
recorded at the start of the CD (lead-in area). A multi-session CD
|
CDDA or data). Every CD must have at least 1 TOC, the first TOC is
|
||||||
may have several TOCs.
|
always recorded at the start of the CD (lead-in area). A
|
||||||
|
multi-session CD may have several TOCs.
|
||||||
|
|
||||||
@item Track
|
@item Track
|
||||||
@cindex track
|
@cindex track
|
||||||
|
|||||||
108
doc/libcdio.texi
108
doc/libcdio.texi
@@ -46,7 +46,7 @@ development.''
|
|||||||
|
|
||||||
@titlepage
|
@titlepage
|
||||||
@title GNU libcdio library
|
@title GNU libcdio library
|
||||||
@subtitle $Id: libcdio.texi,v 1.35 2005/01/29 20:54:20 rocky Exp $
|
@subtitle $Id: libcdio.texi,v 1.36 2005/01/31 09:22:35 rocky Exp $
|
||||||
@author Rocky Bernstein et al.
|
@author Rocky Bernstein et al.
|
||||||
@page
|
@page
|
||||||
|
|
||||||
@@ -669,7 +669,9 @@ format.
|
|||||||
|
|
||||||
@subsection CDRDAO Grammar
|
@subsection CDRDAO Grammar
|
||||||
|
|
||||||
Here is a list of lexical tokens taken from the cdrdao grammar.
|
Below are the lexical tokens and grammar for a cdrdao TOC. It was
|
||||||
|
taken from the cdrdao's pacct grammar; the token and nonterminal names
|
||||||
|
are the same.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
#lexclass START
|
#lexclass START
|
||||||
@@ -679,7 +681,6 @@ Here is a list of lexical tokens taken from the cdrdao grammar.
|
|||||||
#token "\n"
|
#token "\n"
|
||||||
#token BeginString "\""
|
#token BeginString "\""
|
||||||
#token Integer "[0-9]+"
|
#token Integer "[0-9]+"
|
||||||
#token Index "INDEX"
|
|
||||||
#tokclass AudioFile @{ "AUDIOFILE" "FILE" @}
|
#tokclass AudioFile @{ "AUDIOFILE" "FILE" @}
|
||||||
|
|
||||||
#lexclass STRING
|
#lexclass STRING
|
||||||
@@ -693,73 +694,73 @@ Here is a list of lexical tokens taken from the cdrdao grammar.
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
|
|
||||||
toc ::= ( "CATALOG" string | tocType )* @{ cdTextGlobal @} ( track )+ Eof
|
<toc> ::= ( "CATALOG" <string> | <tocType> )* @{ <cdTextGlobal> @}
|
||||||
|
( <track> )+ Eof
|
||||||
|
|
||||||
track ::= "TRACK" trackMode
|
<track> ::= "TRACK" <trackMode>
|
||||||
@{ subChannelMode @}
|
@{ <subChannelMode> @}
|
||||||
( "ISRC" string | @{ "NO" @} "COPY" | @{ "NO" @} "PRE_EMPHASIS"
|
( "ISRC" <string> | @{ "NO" @} "COPY" | @{ "NO" @} "PRE_EMPHASIS"
|
||||||
| "TWO_CHANNEL_AUDIO" | "FOUR_CHANNEL_AUDIO" )*
|
| "TWO_CHANNEL_AUDIO" | "FOUR_CHANNEL_AUDIO" )*
|
||||||
@{ cdTextTrack @}
|
@{ <cdTextTrack> @}
|
||||||
@{ "PREGAP" msf @}
|
@{ "PREGAP" <msf> @}
|
||||||
( subTrack | "START" | "END" )+
|
( <subTrack> | "START" | "END" )+
|
||||||
( Index msf )*
|
( "INDEX" <msf> )*
|
||||||
|
|
||||||
subTrack ::=
|
<subTrack> ::=
|
||||||
( AudioFile string @{ "SWAP" @} @{ "#" sLong @} samples
|
AudioFile <string> @{ "SWAP" @} @{ "#" <sLong> @} <samples>
|
||||||
| "DATAFILE" string @{ "#" sLong @{ dataLength @} @}
|
| "DATAFILE" <string> @{ "#" <sLong> @{ <dataLength> @} @}
|
||||||
| "FIFO" string dataLength
|
| "FIFO" <string> <dataLength>
|
||||||
| "SILENCE" samples
|
| "SILENCE" <samples>
|
||||||
| "ZERO" @{ dataMode @} @{ subChannelMode @} dataLength
|
| "ZERO" @{ dataMode @} @{ <subChannelMode> @} <dataLength>
|
||||||
)
|
|
||||||
|
|
||||||
string ::= BeginString ( ( String | StringQuote | StringOctal ) )+
|
<string> ::= BeginString ( String | StringQuote | StringOctal )+
|
||||||
EndString
|
EndString
|
||||||
|
|
||||||
stringEmpty ::= BeginString ( ( String | StringQuote | StringOctal ) )*
|
<stringEmpty> ::= BeginString ( String | StringQuote | StringOctal )*
|
||||||
EndString
|
EndString
|
||||||
|
|
||||||
uLong ::= Integer
|
<uLong> ::= Integer
|
||||||
|
|
||||||
sLong ::= Integer
|
<sLong> ::= Integer
|
||||||
|
|
||||||
msf ::= Integer ":" Integer ":" Integer
|
<msf> ::= Integer ":" Integer ":" Integer
|
||||||
|
|
||||||
samples ::= ( msf | uLong )
|
<samples> ::= <msf> | <uLong>
|
||||||
|
|
||||||
dataLength ::= ( msf | uLong )
|
<dataLength> ::= <msf> | <uLong>
|
||||||
|
|
||||||
dataMode ::= ( "AUDIO" | "MODE0" | "MODE1" | "MODE1_RAW" | "MODE2"
|
<dataMode> ::= "AUDIO" | "MODE0" | "MODE1" | "MODE1_RAW" | "MODE2"
|
||||||
| "MODE2_RAW" | "MODE2_FORM1" | "MODE2_FORM2" | "MODE2_FORM_MIX" )
|
| "MODE2_RAW" | "MODE2_FORM1" | "MODE2_FORM2" | "MODE2_FORM_MIX"
|
||||||
|
|
||||||
trackMode ::= ( "AUDIO" | "MODE1" | "MODE1_RAW" | "MODE2"
|
<trackMode> ::= "AUDIO" | "MODE1" | "MODE1_RAW" | "MODE2"
|
||||||
| "MODE2_RAW" | "MODE2_FORM1" | "MODE2_FORM2" | "MODE2_FORM_MIX" )
|
| "MODE2_RAW" | "MODE2_FORM1" | "MODE2_FORM2" | "MODE2_FORM_MIX"
|
||||||
|
|
||||||
subChannelMode ::= ( "RW" | "RW_RAW" )
|
<subChannelMode> ::= "RW" | "RW_RAW"
|
||||||
|
|
||||||
tocType ::= ( "CD_DA" | "CD_ROM" | "CD_ROM_XA" | "CD_I" )
|
<tocType> ::= "CD_DA" | "CD_ROM" | "CD_ROM_XA" | "CD_I"
|
||||||
|
|
||||||
packType ::= ( "TITLE" | "PERFORMER" | "SONGWRITER" | "COMPOSER" | "ARRANGER"
|
<packType> ::= "TITLE" | "PERFORMER" | "SONGWRITER" | "COMPOSER" | "ARRANGER"
|
||||||
| "MESSAGE" | "DISC_ID" | "GENRE" | "TOC_INFO1" | "TOC_INFO2"
|
| "MESSAGE" | "DISC_ID" | "GENRE" | "TOC_INFO1" | "TOC_INFO2"
|
||||||
| "RESERVED1" | "RESERVED2" | "RESERVED3" | "RESERVED4" | "UPC_EAN" |
|
| "RESERVED1" | "RESERVED2" | "RESERVED3" | "RESERVED4" | "UPC_EAN" |
|
||||||
"ISRC" | "SIZE_INFO" )
|
"ISRC" | "SIZE_INFO"
|
||||||
|
|
||||||
binaryData ::= "\@{"
|
<binaryData> ::= "@{"
|
||||||
@{ Integer ( "," Integer )* @}
|
@{ Integer ( "," Integer )* @}
|
||||||
"\@}"
|
"@}"
|
||||||
|
|
||||||
cdTextItem ::= packType ( stringEmpty | binaryData )
|
<cdTextItem> ::= <packType> ( <stringEmpty> | <binaryData> )
|
||||||
|
|
||||||
cdTextBlock ::= "LANGUAGE" Integer "\@{" ( cdTextItem )* "\@}"
|
<cdTextBlock> ::= "LANGUAGE" Integer "@{" ( <cdTextItem> )* "@}"
|
||||||
|
|
||||||
|
<cdTextLanguageMap> ::=
|
||||||
cdTextLanguageMap ::=
|
"LANGUAGE_MAP" "@{"
|
||||||
LanguageMap "\@{"
|
|
||||||
( Integer ":" ( Integer | "EN" ) )+
|
( Integer ":" ( Integer | "EN" ) )+
|
||||||
"\@}"
|
"@}"
|
||||||
|
|
||||||
cdTextTrack ::= "CD_TEXT" "\@{" ( cdTextBlock )* "\@}"
|
<cdTextTrack> ::= "CD_TEXT" "@{" ( <cdTextBlock> )* "@}"
|
||||||
|
|
||||||
cdTextGlobal ::= "CD_TEXT" "\@{" @{ cdTextLanguageMap @} ( cdTextBlock )* "\@}"
|
<cdTextGlobal> ::= "CD_TEXT" "@{" @{ <cdTextLanguageMap> @} ( <cdTextBlock> )* "@}"
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
||||||
@@ -1825,9 +1826,9 @@ bit misleading because a drive can understand ``SCSI MMC'' commands
|
|||||||
but not use a SCSI interface. In fact there are drivers to
|
but not use a SCSI interface. In fact there are drivers to
|
||||||
``encapsulate'' non-SCSI drive or a non-MMC-compliant drive and make
|
``encapsulate'' non-SCSI drive or a non-MMC-compliant drive and make
|
||||||
it act like a MMC drive. I believe that many OS SCSI ``pass-through''
|
it act like a MMC drive. I believe that many OS SCSI ``pass-through''
|
||||||
mechanisms do the same thing.
|
mechanisms do roughly the same thing.
|
||||||
|
|
||||||
The name ``SCSI MMC'' is no doubt do to the fact that these commands
|
The name ``SCSI MMC'' is no doubt due to the fact that these commands
|
||||||
grew out of the SCSI command set and thus were bundled in them.
|
grew out of the SCSI command set and thus were bundled in them.
|
||||||
|
|
||||||
For clarity and precision we will use the term ``MMC'' rather than
|
For clarity and precision we will use the term ``MMC'' rather than
|
||||||
@@ -1849,17 +1850,18 @@ standards is the variation in the commands themselves and there are
|
|||||||
perhaps two or three ways to do many of the basic commands like read a
|
perhaps two or three ways to do many of the basic commands like read a
|
||||||
CD frame.
|
CD frame.
|
||||||
|
|
||||||
There seems to be a fascination in the MMC specification world with
|
There seems to be a fascination with the number of bytes a command
|
||||||
the number of bytes a command takes. (Size matters?) So often the name
|
takes in the MMC-specification world. (Size matters?) So often the
|
||||||
of an operation will have a suffix with the number of bytes of the
|
name of an operation will have a suffix with the number of bytes of
|
||||||
command (actually in MMC jargon this is called a ``cdb''
|
the command (actually in MMC jargon this is called a ``cdb''
|
||||||
@cindex cdb (Command Descriptor Buffer)
|
@cindex cdb (Command Descriptor Buffer)
|
||||||
or command descriptor buffer). So for example there is a 6-byte ``MODE
|
or command descriptor buffer). So for example there is a 6-byte ``MODE
|
||||||
SELECT'' often called ``MODE SELECT 6'' and a 10-byte ``MODE SELECT''
|
SELECT'' often called ``MODE SELECT 6'' and a 10-byte ``MODE SELECT''
|
||||||
sometimes called ``MODE SELECT 10''. Presumably the 6-byte command
|
often called ``MODE SELECT 10''. Presumably the 6-byte command came
|
||||||
came first and it was discovered that there was some deficiency
|
first and it was discovered that there was some deficiency causing the
|
||||||
causing the longer command. In @value{libcdio} often in the later or
|
longer command. In @value{libcdio} where there are two formats we add
|
||||||
more common name we drop the size suffix.
|
the suffix in the name, e.g. @code{CDIO_MMC_GPCMD_MODE_SELECT_6} or
|
||||||
|
@code{CDIO_MMC_GPCMD_MODE_SELECT_10}.
|
||||||
|
|
||||||
If the fascination and emphasis in the MMC specifications of cdb size
|
If the fascination and emphasis in the MMC specifications of cdb size
|
||||||
is a bit odd, equally so is the fact that this too often has bled
|
is a bit odd, equally so is the fact that this too often has bled
|
||||||
|
|||||||
Reference in New Issue
Block a user