remove predicted delta timestamps
delta timestamp in the frame_code table
reserved vlc count in the frame_code table
global timestamp after frame_startcode
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12414 b3059339-0415-0410-9bf9-f77b7e298cf2
removing frames with type 1
forward pointers point to the next packet (=size of the packet) instead of pointing over several type 0 frames
removing forward pointers from type 2 frames (they are after the above changes equal to the data_size and would thus be redundant)
simplify frame_code flags 7->5 bit
remove zero_bit definition (was unused)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12239 b3059339-0415-0410-9bf9-f77b7e298cf2
version 0->1, 0 was NUT with subpackets :)
stream_id < stream_count rule (otherwise stream[stream_id] would be problematic ...)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12151 b3059339-0415-0410-9bf9-f77b7e298cf2
rename b -> vb, so 'v' is the vlc, 'b' is simply a series of bytes and 'vb' is the length as vlc + the bytes
encode the fourcc & language code as v instead of vb, this is much simpler in practice, at least in lavf as the fourcc is an int there
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12118 b3059339-0415-0410-9bf9-f77b7e298cf2
much more efficient encoding of the frame_code table
stream_id -> stream_id_plus1, that way 0 is the special case instead of stream_count and we can be sure the table needs only 8bit per entry
replace timestamp_msb by timestamp (and obviously dont code the lsb if the whole is coded) thats simpler and more compact
add a msb_timestamp flag to the frame_code[].flags
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12085 b3059339-0415-0410-9bf9-f77b7e298cf2
removing shuffle_type (meaningless without subpackets)
making timestamp_lsb a simple unsigned value (someone proposed that a long time ago, dunno dont remember who, IIRC it was rejected as it more often required the timestamp_msb to be coded but by defining lsb relative to the last lsb we need very few msbs in the error free case and for damaged files its also pretty difficult to trash the timestamp, for example for a fixed fps stream with 7bit lsb_timestamps we need to loose >64 frames in a row to end up with a wrong timestamp)
cleanup (filesize and such where only partially removed)
frame_code byte, with the meaning of each value stored in the main header
the frame_code contains the keyframe_flag, packet_type and can contain the timestamp_delta, stream_id and the data_size or part if it
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12083 b3059339-0415-0410-9bf9-f77b7e298cf2
*moving subpacket shuffle type to the header
*encoding packet timestamps as signed difference from the msb_timestamp this is more flexible & cleaner
*optionally storing the keyframe flag for subpackets (in RLE)
*storing the timestamps differences for subpackets (in RLE)
*storing the signed differences of subpacket sizes instead of unsigned diff from some base size
*more compact encoding of common name/type for info packets
*removing fixed entries at the start of info packets (simpler)
*removing stuffing packet (uneeded, vlc itself allows padding)
*fixing sample code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9580 b3059339-0415-0410-9bf9-f77b7e298cf2
index_flag so the demuxer knows if the index is missing and doesnt need to search for it
adding start/end_stream_id to the info packet so it can cover individual streams too
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9348 b3059339-0415-0410-9bf9-f77b7e298cf2
btw, sorry that i didn mention the names of the ppl from whom all the past ideas came from ...
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9336 b3059339-0415-0410-9bf9-f77b7e298cf2