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
replacing zero terminated strings with length + string so it can allso contain binary data
adding a type to every entry in the info_packet
changing the fourcc storage type from v to b, that way it can be read with a hex editor
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9324 b3059339-0415-0410-9bf9-f77b7e298cf2
info_header -> info_packet
adding variable sized reserved_bytes where i forgot it
start/end time in the info_packet
stuffing_packet
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9311 b3059339-0415-0410-9bf9-f77b7e298cf2