diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-09 02:54:28 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-09 02:54:28 +0000 |
commit | 56ae80d6e465bfd131b933d12166d04be8c1333c (patch) | |
tree | 581305d96320ea81b88e37c24f3ca9e10e60aa75 /DOCS/tech/realcodecs/streaming.txt | |
parent | c047d8b1dfad8f3d991ea9d946324568d19692a6 (diff) | |
download | mpv-56ae80d6e465bfd131b933d12166d04be8c1333c.tar.bz2 mpv-56ae80d6e465bfd131b933d12166d04be8c1333c.tar.xz |
initial version from Florian Schneider <flo-mplayer-dev@gmx.net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6350 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/tech/realcodecs/streaming.txt')
-rw-r--r-- | DOCS/tech/realcodecs/streaming.txt | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/DOCS/tech/realcodecs/streaming.txt b/DOCS/tech/realcodecs/streaming.txt new file mode 100644 index 0000000000..483f91a19d --- /dev/null +++ b/DOCS/tech/realcodecs/streaming.txt @@ -0,0 +1,55 @@ +In the RV30 format, another encapsulated data layer for the video stream +has been introduced. In lack of a name I'll call them sub packets, the +normal packets which exist in RV10 I'll call - well - packets. The stream +of bytes which is put in one memory block is named block. + +The format extension has been * by wild guessing and comparing the +received data between the original viewer and the demuxer. + + + +Every packet may contain one or more sub packets, and one block may +be contained inside one or more adjacent (sub) packets. +A sub packet starts with a small header (two letters are one byte): + + +aa(bb)[ccccdddd{eeee}ff] + +aa: indicates the type of header + the 2MSB indicate the header type (mask C0) + C0: the [] part exists, but not () + 00, 80: the data block is encapsulated inside multiple packets. + bb contains the sequence number, beginning with 1. + 80 indicates the last sub packet containing data for the + current block. no C0 or 40 sub packet follows until + the block has been finished with a 80 sub packet. + No packet with another stream than the current video stream + is inside the sub packet chain, at least I haven't seen + such case - the demuxer will shout in this case. + 40: [] does not exist, the meaning of bb is unknown to me + data follows to the end of the packet + mask 3F: unknown +bb: unknown +cccc: mask 3FFF: length of data + mask C000: unknown, seems to be always 4000 +dddd: when it's 0, {} exists (only in this case) + mask 3FFF: I thought it would have been the offset inside the + block, is not correct in every case. Just appending the + data works better, ignoring it. + mask C000: like cccc, except the first case +eeee: only exists when dddd exists and is zero. contains the data + dddd should contain in the second case. don't know what the developers + had in mind. +ff: sequence number for the data blocks, beginning with 0 + + + +packet header: + +ushort unknown +ulong blocksize +ushort streamid +uchar reserved +uchar flags 1=reliable, 2=keyframe + + |