some changes (michael: is the colorspace_type field needed?)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10159 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
alex 2003-05-23 12:17:36 +00:00
parent 6930a03a30
commit 022c06105f
1 changed files with 26 additions and 9 deletions

View File

@ -9,7 +9,7 @@ Features / goals:
Simple
use the same encoding for nearly all fields
simple decoding, so slow cpus can handle it
simple decoding, so slow cpus (and embedded systems) can handle it
Extendible
no limit for the possible values for all fields (using universal vlc)
allow adding of new headers in the future
@ -22,6 +22,8 @@ Error resistant
headers & index can be repeated
audio packet reshuffle
checksums to allow quick redownloading of damaged parts
damaged files can be played back with minimal data lost and fast
resyncing times
@ -230,11 +232,6 @@ file_size
length_in_msec
length of the file in milli seconds (can be 0 if realtime or such)
index_flag
1 indicates that this file has an index
Note, all files SHOULD have an index at the end except, (realtime) streams
Note, all streams SHOULD have an index
stream_id
Note: streams with a lower relative class MUST have a lower relative id
so a stream with class 0 MUST allways have a id which is lower then any
@ -251,7 +248,7 @@ stream_class
fourcc
identification for the codec
example: "H264"
MUST contain 4 bytes, note, this might be increasd in the future if
MUST contain 4 bytes, note, this might be increased in the future if
needed
language_code
@ -286,6 +283,11 @@ msb_timestamp_shift
fixed_fps
1 indicates that the fps is fixed
index_flag
1 indicates that this file has an index
Note, all files SHOULD have an index at the end except, (realtime) streams
Note, all streams SHOULD have an index
codec_specific_data_type
0 end
1 native
@ -372,6 +374,9 @@ sample_width/sample_height (aspect ratio)
depth
for compatibility with some win32 codecs
colorspace_type
?
samplerate_mul
the number of samples per second in one time_base unit
samplerate = time_base*samplerate_mul
@ -543,7 +548,7 @@ static inline void put_bytes(BufferContext *bc, int count, uint64_t val){
static inline uint64_t get_v(BufferContext *bc){
uint64_t val= 0;
for(; spaceLeft(bc) > 0; ){
for(; space_left(bc) > 0; ){
int tmp= *(bc->buf_ptr++);
if(tmp&0x80)
val= (val<<7) + tmp - 0x80;
@ -557,7 +562,7 @@ static inline uint64_t get_v(BufferContext *bc){
static inline int put_v(BufferContext *bc, uint64_t val){
int i;
if(spaceLeft(bc) < 9) return -1;
if(space_left(bc) < 9) return -1;
val &= 0x7FFFFFFFFFFFFFFFULL; // FIXME can only encode upto 63 bits currently
for(i=7; ; i+=7){
@ -639,3 +644,15 @@ video_stream_header (stream 2 subtitle atde, timebase 30, lsb_timestamp_length=
audio_stream_header (stream 3, audio jpjp, timebase 1 , lsb_timestamp_length=8)
audio_stream_header (stream 4, audio usen, timebase 1 , lsb_timestamp_length=8)
index (stream 0)
Authors
Folks from MPlayer Developers Mailinglist (http://www.mplayehrq.hu/).
Authors in ABC-order: (FIXME! Tell us if we left you out)
Beregszaszi, Alex (alex@fsn.hu)
Bunkus, Moritz (moritz@bunkus.org)
Diedrich, Tobias (td@sim.uni-hannover.de)
Franz, Fabian (FabianFranz@gmx.de)
Gereoffy, Arpad (arpi@thot.banki.hu)
Hess, Andreas (jaska@gmx.net)
Niedermayer, Michael (michaelni@gmx.at)