summaryrefslogtreecommitdiffstats
path: root/DOCS/tech/mpcf.txt
Commit message (Collapse)AuthorAgeFilesLines
* less amateurish-looking mpcf.txt patch by (Jeff >snacky ikaruga co uk<)michael2005-03-251-47/+48
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15009 b3059339-0415-0410-9bf9-f77b7e298cf2
* returning to the old index at the end system, alternatives are too complex ↵michael2005-03-041-32/+14
| | | | | | with questionable advantages git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14920 b3059339-0415-0410-9bf9-f77b7e298cf2
* store local keyframes too so faster seeking is possiblemichael2005-03-041-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14912 b3059339-0415-0410-9bf9-f77b7e298cf2
* partial indexesmichael2005-03-031-15/+28
| | | | | | | comments (with alternative suggestions and advantages) welcome git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14907 b3059339-0415-0410-9bf9-f77b7e298cf2
* some comments and whitespace changes by (Luca Barbato <lu_zero gentoo org>)michael2005-03-011-57/+101
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14855 b3059339-0415-0410-9bf9-f77b7e298cf2
* Here is an updated draft with the bits discussed previously merged:michael2005-01-121-89/+34
| | | | | | | | | | | | | | | - 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
* info packet is now file global, while meta pakcet is stream specific, as ↵alex2004-09-111-16/+44
| | | | | | discussed with Rich git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13309 b3059339-0415-0410-9bf9-f77b7e298cf2
* spelling: big-endian and little-endiandiego2004-08-181-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13048 b3059339-0415-0410-9bf9-f77b7e298cf2
* dispositionmichael2004-05-251-0/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12504 b3059339-0415-0410-9bf9-f77b7e298cf2
* index fixesmichael2004-05-251-12/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12503 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove index flagmichael2004-05-251-8/+33
| | | | | | | | | | | 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
* extendible frame_code tablemichael2004-05-051-12/+15
| | | | | | | maybe more compact too git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12429 b3059339-0415-0410-9bf9-f77b7e298cf2
* proposals by rich:michael2004-05-041-28/+50
| | | | | | | | | | 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
* nicer startcode before keyframe rulemichael2004-05-021-2/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12393 b3059339-0415-0410-9bf9-f77b7e298cf2
* limits too small, my CBR mp3 samples have 2x overhead after removial of size ↵michael2004-05-011-2/+2
| | | | | | prediction git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12380 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmeticmichael2004-05-011-5/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12369 b3059339-0415-0410-9bf9-f77b7e298cf2
* additional start_code rule (implemenattion does this since a long time already)michael2004-04-301-0/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12366 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove frame typesmichael2004-04-281-29/+53
| | | | | | | | | 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
* imo i'm one of the nut spec authors :)rfelker2004-04-261-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12298 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove data_size predictionmichael2004-04-231-36/+35
| | | | | | | | merge lsb and full timestamp maybe clarify flags git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12262 b3059339-0415-0410-9bf9-f77b7e298cf2
* new time_base_nom limitmichael2004-04-221-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12255 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove bad requirementrfelker2004-04-211-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12248 b3059339-0415-0410-9bf9-f77b7e298cf2
* file_id_string (idea by ivan)michael2004-04-201-1/+21
| | | | | | | | remove 0byte skiped frames (idea by rich) file structure git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12243 b3059339-0415-0410-9bf9-f77b7e298cf2
* removing backward pointersmichael2004-04-201-47/+24
| | | | | | | | | | | 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
* moving f() and u()michael2004-04-141-3/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12210 b3059339-0415-0410-9bf9-f77b7e298cf2
* type 1/2 packets must have MSB timestamps (this is already mentioned at some ↵michael2004-04-141-1/+1
| | | | | | other places but i forgot this one) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12209 b3059339-0415-0410-9bf9-f77b7e298cf2
* (de)coder -> (de)muxermichael2004-04-131-9/+12
| | | | | | | some clarifications git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12185 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove old example streammichael2004-04-091-63/+12
| | | | | | | | add startcode values remove nonsense redownloading goal git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12163 b3059339-0415-0410-9bf9-f77b7e298cf2
* removing checksum_threshold & keyframe predictionmichael2004-04-091-11/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12162 b3059339-0415-0410-9bf9-f77b7e298cf2
* language_code & fourcc vb->v reversalmichael2004-04-071-4/+4
| | | | | | | | 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
* switching from crc32 to adler32 checksums, cuz they are faster and simplermichael2004-04-051-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12119 b3059339-0415-0410-9bf9-f77b7e298cf2
* minor changesmichael2004-04-041-11/+10
| | | | | | | | 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
* restrictions to ensure that O(log n) seeking and error recovery is possiblemichael2004-04-031-1/+10
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12111 b3059339-0415-0410-9bf9-f77b7e298cf2
* reversing the change to the forw/backw pointers, its somewhat simpler to ↵michael2004-03-311-38/+39
| | | | | | | | | | | | 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
* removing subpackets (everyone hates them ...)michael2004-03-301-120/+103
| | | | | | | | | | | 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
* replaygainalex2004-02-181-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11976 b3059339-0415-0410-9bf9-f77b7e298cf2
* codec_specific_data_sizealex2003-10-021-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10986 b3059339-0415-0410-9bf9-f77b7e298cf2
* moved file_size and len_in_msecalex2003-09-151-2/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10874 b3059339-0415-0410-9bf9-f77b7e298cf2
* moved packet header after startcodesalex2003-09-071-5/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10832 b3059339-0415-0410-9bf9-f77b7e298cf2
* 10michael2003-09-061-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10828 b3059339-0415-0410-9bf9-f77b7e298cf2
* reserved_bytes & byte order stuffmichael2003-09-061-2/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10825 b3059339-0415-0410-9bf9-f77b7e298cf2
* some updatesalex2003-09-051-11/+9
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10818 b3059339-0415-0410-9bf9-f77b7e298cf2
* colorspace_typemichael2003-05-231-2/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10167 b3059339-0415-0410-9bf9-f77b7e298cf2
* some changes (michael: is the colorspace_type field needed?)alex2003-05-231-9/+26
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10159 b3059339-0415-0410-9bf9-f77b7e298cf2
* corrected the sample codealex2003-05-041-4/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10062 b3059339-0415-0410-9bf9-f77b7e298cf2
* index per streammichael2003-03-131-1/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9581 b3059339-0415-0410-9bf9-f77b7e298cf2
* *signed int vlc (needs only 5 lines of code so its no increase of complexity)michael2003-03-131-63/+136
| | | | | | | | | | | | | | | *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
* disallow multiple subpackets per packet for video streams idea by (me & ↵michael2003-02-141-1/+3
| | | | | | Moritz Bunkus <moritz at bunkus dot org>) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9423 b3059339-0415-0410-9bf9-f77b7e298cf2
* subpacket_base_size isnt needed for fixed sized subpacketsmichael2003-02-141-2/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9422 b3059339-0415-0410-9bf9-f77b7e298cf2
* variable subpacket size supportmichael2003-02-141-11/+45
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9421 b3059339-0415-0410-9bf9-f77b7e298cf2
* dvds have covers too - Andreas Hess <jaska@gmx.net>alex2003-02-091-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9374 b3059339-0415-0410-9bf9-f77b7e298cf2
* index should be otional (idea by alex)michael2003-02-091-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9373 b3059339-0415-0410-9bf9-f77b7e298cf2
* added (PAL),(NTSC),..alex2003-02-091-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9370 b3059339-0415-0410-9bf9-f77b7e298cf2
* encoding the whole name doesnt make sensemichael2003-02-091-4/+8
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9362 b3059339-0415-0410-9bf9-f77b7e298cf2
* "X-" prefix for nonstd fields & "keywords" idea by (Andreas Hess <jaska at ↵michael2003-02-091-0/+2
| | | | | | gmx dot net>) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9361 b3059339-0415-0410-9bf9-f77b7e298cf2
* supprting various codec specific/private headers for different APIs (ideas ↵michael2003-02-091-1/+11
| | | | | | by arpi/alex/fabian) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9358 b3059339-0415-0410-9bf9-f77b7e298cf2
* simplificationmichael2003-02-091-17/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9357 b3059339-0415-0410-9bf9-f77b7e298cf2
* -typo, +time, -ntsc/pal (idea by alex)michael2003-02-081-4/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9351 b3059339-0415-0410-9bf9-f77b7e298cf2
* changing name to "nut" for now, we can change it again if we agree on ↵michael2003-02-081-4/+22
| | | | | | | | | | something else 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
* lang & country codes from ISO & utf8 requirement (ideas from Tobias Diedrich ↵michael2003-02-081-0/+5
| | | | | | | | | <td at sim dot uni-hannover dot de> 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
* hex editor friendly language_codemichael2003-02-071-2/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9326 b3059339-0415-0410-9bf9-f77b7e298cf2
* some more info (copy & pasted from ML)michael2003-02-071-15/+43
| | | | | | | | | 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
* typomichael2003-02-071-2/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9313 b3059339-0415-0410-9bf9-f77b7e298cf2
* zero_bit for normal frames, so we can distinguish them from other packetsmichael2003-02-071-3/+10
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9312 b3059339-0415-0410-9bf9-f77b7e298cf2
* some typosmichael2003-02-071-8/+38
| | | | | | | | | | 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
* 10l (copy & pasting the generator poly for crc32 from ogg was a bad idea...)michael2003-02-071-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9308 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove non byte sized stuffmichael2003-02-061-6/+4
| | | | | | | remove more useless startcode emulation prevention stuff git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9300 b3059339-0415-0410-9bf9-f77b7e298cf2
* use fraction for time_basemichael2003-02-061-3/+11
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9298 b3059339-0415-0410-9bf9-f77b7e298cf2
* removing startcode emulation prevention, its nonsense ...michael2003-02-061-7/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9297 b3059339-0415-0410-9bf9-f77b7e298cf2
* updatemichael2003-02-061-25/+43
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9296 b3059339-0415-0410-9bf9-f77b7e298cf2
* nonsense (MPlayer container format draft 0.01)michael2003-02-061-0/+415
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9295 b3059339-0415-0410-9bf9-f77b7e298cf2