Thanks that was really helpful....
Let's assume this was not meant sarcastic...
I was wondering if anyone could expand on what I have and put it into some comprehensable terms.
From what I understand, the mdec data you describe can be directly decompressed and converted into rgb in the MDEC decoder. But it looks like there is an additional step required for the CPU to convert the data stream into a format the MDEC can use. The ffmpeg code seems to do some Huffman decompression, but I didn't find many resources on this.
I assumed, as you wrote the documentation, that you're familiar with the terms. So a few explanations:
Y/Cb/Cr colourspace is a colour representation used for video encoding. Y is a grayscale picture, Cb and Cr are used to "colour" this grayscale picture. This conversion is done by multiplying this vector of 3 values with a 3x3 matrix, which results in an RGB vector.
The advantage of this transformation is that you can store colour at a lower resolution than the grayscale data, because the human eye is more sensitive to changes in brightness than in changes to colour.
The DCT (Discrete Cosine Transform) transform separates high frequency from low frequency content, and then you can store the low frequency content with fewer bits. Human eye again: You are sensitive to high frequency changes in your view, because that is how to separate different objects.
Also a quick glance at the code shows that an STR file can have more than two channels (Audio, video), and I fear that there might be camera movements encoded in a 3rd channel. If I wanted my camera to sync with the video, that's where I'd put it.
That seems to be used in MOV files. The frames in the STR files all begin with the 0x3800 magic number for MDEC data.
Also are the STR videos 24 bit all the way through?
MDEC data is not stored in a specific bit depth, as mentioned above it is not even in RGB.
The file seem to be in RIFF format, with the data block being called "CDXA" (I knida wish I can see this for myself, but I can't mount a PSX disk under linux because it's the wrong format.)
That seems to be an artefact of the extraction. The STR files on the CD are just a sequence of XA-format sectors, each sector with a STR header.
You will probably have to write some advanced software on Linux to access the movies. If you just open the /dev/cdrom device you will just have access to the normal data sectors. I'd have to look up how to configure the driver to return raw sectors. But have a look on
http://freshmeat.net , maybe there is already software available for that.