Commit Graph

66 Commits

Author SHA1 Message Date
michael 1afb6bc118 Here is an updated draft with the bits discussed previously merged:
- short startcode removed

- QT/Microsoft codec_specific_data removed, reverted to a neutral format

- meta packet removed, merged in the info packet.

- stream class simplified, added metadata stream

patch by (Luca Barbato <lu_zero gentoo org>)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14472 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-12 11:54:30 +00:00
alex 4434fc4f05 info packet is now file global, while meta pakcet is stream specific, as discussed with Rich
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13309 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-09-11 09:18:07 +00:00
diego d25a85f17b spelling: big-endian and little-endian
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13048 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-08-18 19:00:05 +00:00
michael a079cc3526 disposition
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12504 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-25 21:46:20 +00:00
michael b3d4771310 index fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12503 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-25 20:59:23 +00:00
michael 8d4d64c985 remove index flag
max_short_distance
reserved_v -> reserved_count
header repeation rules

some of this is from rich


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12502 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-25 20:42:22 +00:00
michael e2a6612057 extendible frame_code table
maybe more compact too


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12429 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-05 17:26:24 +00:00
michael 57ba4435de proposals by rich:
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
2004-05-04 01:29:17 +00:00
michael 63bce7ea7f nicer startcode before keyframe rule
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12393 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-02 01:37:49 +00:00
michael a24323c65f limits too small, my CBR mp3 samples have 2x overhead after removial of size prediction
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12380 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-01 18:48:42 +00:00
michael 478a03c5e7 cosmetic
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12369 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-05-01 11:28:34 +00:00
michael b916b37fad additional start_code rule (implemenattion does this since a long time already)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12366 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-30 22:53:59 +00:00
michael 370a21f1d0 remove frame types
add decode_delay and dts calculation/description
monotonicity requirement
samplerate_nom/denom


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12334 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-28 03:19:35 +00:00
rfelker f533cac836 imo i'm one of the nut spec authors :)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12298 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-26 12:45:47 +00:00
michael 50f875027b remove data_size prediction
merge lsb and full timestamp
maybe clarify flags


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12262 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-23 15:48:17 +00:00
michael a3577a75f8 new time_base_nom limit
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12255 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-22 15:00:30 +00:00
rfelker 48fee4685f remove bad requirement
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12248 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-21 18:43:01 +00:00
michael a70a1c3a37 file_id_string (idea by ivan)
remove 0byte skiped frames (idea by rich)
file structure


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12243 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-20 23:00:28 +00:00
michael 76028a8b6b removing backward pointers
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
2004-04-20 17:58:24 +00:00
michael a54647c14f moving f() and u()
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12210 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-14 23:11:45 +00:00
michael 5efa43de2d type 1/2 packets must have MSB timestamps (this is already mentioned at some other places but i forgot this one)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12209 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-14 21:43:28 +00:00
michael 617218a4e5 (de)coder -> (de)muxer
some clarifications


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12185 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-13 00:49:47 +00:00
michael 35fe7137c4 remove old example stream
add startcode values
remove nonsense redownloading goal


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12163 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-09 18:40:48 +00:00
michael 50f0378605 removing checksum_threshold & keyframe prediction
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12162 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-09 17:05:00 +00:00
michael 3905f57aaf language_code & fourcc vb->v reversal
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
2004-04-07 13:00:33 +00:00
michael 0f62f5847c switching from crc32 to adler32 checksums, cuz they are faster and simpler
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12119 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-05 12:06:30 +00:00
michael e486339264 minor changes
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
2004-04-04 22:40:48 +00:00
michael 0b7f6c6b3c restrictions to ensure that O(log n) seeking and error recovery is possible
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12111 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-04-03 13:23:44 +00:00
michael 18ebe6ca92 reversing the change to the forw/backw pointers, its somewhat simpler to update it if the forward pointer is first
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
2004-03-31 01:44:57 +00:00
michael 886751550e removing subpackets (everyone hates them ...)
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
2004-03-30 01:05:51 +00:00
alex 7aacfcc5e5 replaygain
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11976 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-02-18 13:33:57 +00:00
alex 26794353ff codec_specific_data_size
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10986 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-10-02 22:16:20 +00:00
alex 3ddcf7ba1e moved file_size and len_in_msec
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10874 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-15 20:22:27 +00:00
alex 312149424d moved packet header after startcodes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10832 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-07 01:15:01 +00:00
michael 05ddfeb26e 10
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10828 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-06 14:32:26 +00:00
michael 04b4ce875b reserved_bytes & byte order stuff
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10825 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-06 13:21:08 +00:00
alex a9283667a5 some updates
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10818 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-05 18:45:12 +00:00
michael 49fc9d99b4 colorspace_type
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10167 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-05-23 14:38:59 +00:00
alex 022c06105f some changes (michael: is the colorspace_type field needed?)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10159 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-05-23 12:17:36 +00:00
alex 24ae1cde4f corrected the sample code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10062 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-05-04 18:57:39 +00:00
michael 1de0afc6a9 index per stream
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9581 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-03-13 15:50:41 +00:00
michael 60866034a2 *signed int vlc (needs only 5 lines of code so its no increase of complexity)
*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
2003-03-13 15:32:48 +00:00
michael 46877e4e7a disallow multiple subpackets per packet for video streams idea by (me & Moritz Bunkus <moritz at bunkus dot org>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9423 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-14 11:48:13 +00:00
michael 25f3778518 subpacket_base_size isnt needed for fixed sized subpackets
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9422 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-14 11:37:38 +00:00
michael 7efba7825e variable subpacket size support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9421 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-14 11:11:11 +00:00
alex 767d9cb775 dvds have covers too - Andreas Hess <jaska@gmx.net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9374 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-09 19:01:00 +00:00
michael 33da455d5e index should be otional (idea by alex)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9373 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-09 18:56:51 +00:00
alex bbe16b15e9 added (PAL),(NTSC),..
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9370 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-09 16:45:08 +00:00
michael 4fa5b22cdc encoding the whole name doesnt make sense
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9362 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-09 10:58:23 +00:00
michael 07dbef2a31 "X-" prefix for nonstd fields & "keywords" idea by (Andreas Hess <jaska at gmx dot net>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9361 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-02-09 10:54:35 +00:00