diff options
| author | Pixel <Pixel> | 2002-06-23 11:19:06 +0000 | 
|---|---|---|
| committer | Pixel <Pixel> | 2002-06-23 11:19:06 +0000 | 
| commit | 54c77d2cb0f734615febdb3cb33548bf4cd6e953 (patch) | |
| tree | c6105e4984b0c29f2db05352234e5fbed6a1d092 /FAQ-cd.txt | |
| parent | cdbb43ea328883261c6f71e6e44b16ae39173fa6 (diff) | |
Pfiou, huge work...
Diffstat (limited to 'FAQ-cd.txt')
| -rw-r--r-- | FAQ-cd.txt | 51 | 
1 files changed, 43 insertions, 8 deletions
@@ -194,18 +194,53 @@ int is_valid_BCD(uchar x) {return (((x & 15) < 10) && ((x >> 4) < 10));}         5: Form 2         6: Real Time (RT)         7: End of File (EOF) -   but it seems it's not very accurate, as you will se below.     Of course, the PSX has the CDs in MODE 2... So the common files are     stored in MODE 2 FORM 1, the STR/XA files are stored in "MODE 2" but     actually they are in MODE 2 FORM 1/2. The MOVCONV tool will in fact produce -   files that does contain the subheaders. And those subheaders seems to -   contain a CN equals to 1, and the flags RT and Data are activated for the -   video frames, and FN, CN, and CI equal to 1, and the flags are placed -   as it: RT, Form 2, Audio for Audio streams. So the Video frames are in -   plain Form 1, and the Audio frames are in plain Form 2. But it _seems_ the -   Video frames are not checked against ECC/EDC, but filled with zeros -   instead. +   files that does contain the subheaders. +    +   Those subheaders are very likely to vary, and seems to be very important for +   stream processing. Please note that "str" video sectors are considered as +   data sectors, and not as video sectors. +    +   The CN byte indicates the channel number of the current sector. The XA +   format may contain interlaced channels. So for example, if you have a +   file that does contain 8 channels, you will have first the first sector +   of the channel 0, then the first sector of the channel 1, etc... +    +   This is also a bit more difficult when you know that video is also +   interlaced and considered as a channel itself. The common interlacement +   is 7 video sectors for 1 audio sector, but this may vary. And all the +   channels may be completely independants. For example, you may have a +   sound-free video that does contain an audio channel, this audio channel +   may be used for another part in the game. +    +   This is to optimize the reading process. Since the cd reader is a 2x cd +   reader, it *HAS* to read data in full 300KBps. So, if you have a sound +   free video, the reading process will be faster than the decoding process, +   and everything will crash. This is about the same for the audio sectors.  +   The 'leap' sector function of MOVCONV does add blank sectors in order to +   pad the channels that may have stopped before the others.  +    +   One "speed" of the CD reader corresponds to four time the playback speed +   of a stereo audio channel at 37800Hz. So at full speed you can have eight +   stereo audio channels at 37800Hz. Or you can have 32 mono audio channels +   at 18900Hz. +    +   Common video str files needs 7/8 of the full speed of the CD reader. +   "Common" means 320x224 videos at 15fps. So you can have a full movie +   in 320x224x15fps with a stereo sound track at 37800hz. So, now, you +   may understand why the common interlacement may vary. +    +   The CI byte does contains some flags about the current sector, but I'm +   yet unable to give a full description of them. I've only got this: for +   audio frames, the bit 0 is set when you have stereo sound, and the bit 2 +   is set when you have "half frequency", ie 18900Hz instead of 37800Hz. +    +   The Video frames are in plain Form 1, and the Audio frames are in plain +   Form 2. But it _seems_ the Video frames are not checked against ECC/EDC, +   and filled with zeros instead.     The last but not the least: the MODE 2 FORM 1 and MODE 2 FORM 2 are also     called XA-Mode1 and XA-Mode2 or simplier: XA-1 and XA-2.  | 
