Moritz Bunkus
|
c11c95126b
|
Frames with forward-only references are more or less P frames.
|
2005-07-19 18:35:26 +00:00 |
|
Moritz Bunkus
|
218425a0f8
|
Don't pass objects through ...
|
2005-07-19 18:19:28 +00:00 |
|
Moritz Bunkus
|
052b45ab52
|
AVC/H.264: Non-I frames reference the previous "P" frame just as if "B" frames were referenced as well and not the previous I frame.
|
2005-07-19 17:31:43 +00:00 |
|
Moritz Bunkus
|
688ea33885
|
That Printf was producing wrong results on x86_64 for some reason.
|
2005-07-19 08:39:00 +00:00 |
|
Moritz Bunkus
|
f3bfcd091d
|
Spelling.
|
2005-07-19 07:43:19 +00:00 |
|
Moritz Bunkus
|
8d72574b9f
|
Changed the timecode parsers to be more flexible in what formats they accept. Removed all other timecode parsers except the one in common.cpp and made the other parts of the programs use this one. Updated the documentation.
|
2005-07-16 14:51:18 +00:00 |
|
Moritz Bunkus
|
5e5005e16d
|
Do not reformat the <text> ... </text> entries during USF extraction.
|
2005-07-08 13:14:54 +00:00 |
|
Moritz Bunkus
|
ec3f6f4b33
|
Use the xml_parser_c class in the xml_formatter_c class instead of calling expat directly.
|
2005-07-08 12:55:12 +00:00 |
|
Moritz Bunkus
|
e502fc7c05
|
Older versions of expat don't know XML_ERROR_FINISHED yet.
|
2005-07-08 12:22:37 +00:00 |
|
Moritz Bunkus
|
c8426104bc
|
Fixed support for USF subtitles stored in UTF-16 and UTF-32. Added support for USF subtitles stored in UTF-8 without a BOM. Both work by parsing the "<?xml ... encoding="..." ...?>" line and adjusting the "encoding" attribute if necessary.
|
2005-07-08 12:12:51 +00:00 |
|
Moritz Bunkus
|
84f7683e07
|
Wrote a small wrapper class around expat and converted the USF reader to using it. This is a pre-step for supporting XML files with encoding="UTF-16".
|
2005-07-07 14:09:27 +00:00 |
|
Moritz Bunkus
|
311e1837d4
|
Missing a newline.
|
2005-07-06 12:54:11 +00:00 |
|
Moritz Bunkus
|
b8296e4d0b
|
Updated the version number & the release code name.
|
2005-07-01 08:11:31 +00:00 |
|
Moritz Bunkus
|
3202c2e4f9
|
Wrong variable in the loop (robux' fault ;) He wrote the patch ;)).
|
2005-06-26 12:32:36 +00:00 |
|
Moritz Bunkus
|
705524491f
|
The default value for track languages is "eng".
|
2005-06-26 11:08:14 +00:00 |
|
Moritz Bunkus
|
16cf402352
|
Don't strip white spaces inside <text> ... </text>, but strip the outer white spaces around a complete entry.
|
2005-06-26 10:37:38 +00:00 |
|
Moritz Bunkus
|
b3605794c9
|
Moved the MPEG-4 part 2 FourCC detection into mpeg4_common.cpp. Let the OGM reader use the MPEG-4 part 2 video packetizer so that native MPEG-4 can be used.
|
2005-06-26 10:04:02 +00:00 |
|
Moritz Bunkus
|
9b3b24fbca
|
If two consecutive calls to "end tag" for the same tag name were done then mkvmerge would wrongly only output one "<tag/>".
|
2005-06-26 09:03:23 +00:00 |
|
Moritz Bunkus
|
79b433d494
|
Reordered the "splitting" section and added an input box for the new "split after timecodes" feature.
|
2005-06-24 14:58:13 +00:00 |
|
Moritz Bunkus
|
2d22769e06
|
Make libebml happy so that it will write elements which still have their default value.
|
2005-06-24 10:36:55 +00:00 |
|
Moritz Bunkus
|
019faeced2
|
Indentation cosmetics.
|
2005-06-24 10:36:00 +00:00 |
|
Moritz Bunkus
|
8b5d160c70
|
The MPEG-1/-2 video packetizer has to create a new packet_t structure for each packet it passes downstream because it may produce more than one output packet from each input packet, and packet_t structures must only be used once.
|
2005-06-24 07:52:23 +00:00 |
|
Moritz Bunkus
|
f76cf0353e
|
Upper chars are OK in --split, too.
|
2005-06-22 16:56:34 +00:00 |
|
Moritz Bunkus
|
0c356f0350
|
Non-native to native MPEG-4 part 2: If the frame queue contains more frames than the timecode queue timecodes then use the FPS and create new ones. If a FPS is not known then issue a warning and drop the frames which do not have a timecode available (at most one frame should have to be dropped anyway).
|
2005-06-17 09:37:52 +00:00 |
|
Moritz Bunkus
|
d809e013f7
|
Fix the codec version string for MPEG-4 codecs: if it indicates "DivX packed bitstream" then change it to not say "packed bitstream" anymore.
|
2005-06-16 14:01:14 +00:00 |
|
Moritz Bunkus
|
6a8e29fd18
|
Accidentally committed a lot of debug code.
|
2005-06-16 08:48:18 +00:00 |
|
Moritz Bunkus
|
056abda15b
|
Changed the timecode_factory_c interface. The get_next() function receives the complete packet and not only a couple of its parameters.
|
2005-06-16 08:34:54 +00:00 |
|
Moritz Bunkus
|
70ac090c65
|
Output information about the assigned timecodes for Haali.
|
2005-06-16 08:09:34 +00:00 |
|
Moritz Bunkus
|
29f9905e5c
|
Only define NULL if it is needed.
|
2005-06-12 09:31:11 +00:00 |
|
Moritz Bunkus
|
41f5e7af68
|
The queue for native MPEG4 must also be flushed if it contains two I/P frames and the next frame is an I or P frame.
|
2005-06-12 08:07:30 +00:00 |
|
Moritz Bunkus
|
3513341664
|
Assign consecutive numbers to all created packet_t objects.
|
2005-06-12 08:03:58 +00:00 |
|
Moritz Bunkus
|
e64f94534a
|
Added a field for specifying a factor that the timecode factory might need, e.g. in MPEG2 field-vs-frame situations.
|
2005-06-10 12:31:57 +00:00 |
|
Moritz Bunkus
|
309b6e2cdf
|
Make sure that all readers call their packetizers' flush() function when they run out of data. Make sure that all packetizers' flush() functions call generic_packetizer_c::flush() as well so that this one can save the fact that flush() has been called already.
|
2005-06-10 07:12:50 +00:00 |
|
Moritz Bunkus
|
0ead02b226
|
Removed some debug code.
|
2005-06-09 09:44:16 +00:00 |
|
Moritz Bunkus
|
16bb7e252a
|
Check the saved window coordinates. If the window is minimized when mmg is closed then the coordinates are negative. Moving the window to that position upon restart will make it invisible.
|
2005-06-07 14:40:26 +00:00 |
|
Moritz Bunkus
|
f4d1a9d351
|
If a OGM style chapter file contains empty chapter names ("CHAPTER01NAME=" without something after the "=") then this chapter's timecode is used as the name instead of aborting.
|
2005-06-07 09:05:44 +00:00 |
|
Moritz Bunkus
|
abcb6ed05e
|
Do not list the extensions of all supported media files in the "open file" dialog. It gets way too wide that way.
|
2005-06-05 17:07:21 +00:00 |
|
Moritz Bunkus
|
989f6a6c80
|
Added splitting after specific timecodes.
|
2005-06-05 14:39:57 +00:00 |
|
Moritz Bunkus
|
45ace4b5ea
|
Split the --split parser function into separate onces for duration and size type arguments. Another preparation for splitting by other criteria.
|
2005-06-05 11:51:29 +00:00 |
|
Moritz Bunkus
|
62f78d92fb
|
Implemented a more flexible system for splitting as a basis for split point and splitting-by-chapters support.
|
2005-06-05 11:28:19 +00:00 |
|
Moritz Bunkus
|
5d5aeaf3ce
|
Ups... Forgot to change this back before committing. Now the segment was only found if its size was 0.
|
2005-06-05 11:01:39 +00:00 |
|
Moritz Bunkus
|
66ddac74d5
|
Handle infinite sized segments correctly.
|
2005-06-04 09:33:53 +00:00 |
|
Moritz Bunkus
|
9b8d9f1f0b
|
Respect infinite sized elements. Use STL's sort algorithm and not my own bubble sort.
|
2005-06-04 09:32:33 +00:00 |
|
Moritz Bunkus
|
03adf4296b
|
Added a new hack (--engage write_headers_twice) for writing the SegmentInfo and Tracks headers a second time directly after the clusters. Those will be indexed as well.
|
2005-05-29 09:53:37 +00:00 |
|
Moritz Bunkus
|
1ec08e1c28
|
Put <USFSubtitles> ... </USFSubtitles> into CodecPrivate, too. Otherwise the USF version number is lost.
|
2005-05-29 09:31:26 +00:00 |
|
Moritz Bunkus
|
ac9c14b265
|
Cleanups & speed improvements for the MPEG video parser. Patch by Steve Lhomme (see AUTHORS).
|
2005-05-26 17:59:10 +00:00 |
|
Moritz Bunkus
|
26a3f6083e
|
Removed unneeded commented-out code.
|
2005-05-26 16:50:10 +00:00 |
|
Moritz Bunkus
|
a25e565d35
|
After add_packet() the function's packet_t argument belongs to the lower layers, and it must not be reused. It's a considerable speed gain.
|
2005-05-26 16:46:32 +00:00 |
|
Moritz Bunkus
|
8a2dfc771a
|
No double delete.
|
2005-05-26 11:25:27 +00:00 |
|
Moritz Bunkus
|
96c08ba235
|
Complete rewrite of the parameter passing between generic_packetizer_c::process() and generic_packetizer_c::add_packet(). Those functions use the packet_t structure. There are a couple of more or less small memory leaks left. Those will be addressed later.
|
2005-05-25 21:31:26 +00:00 |
|
Moritz Bunkus
|
8ef2a14e09
|
Make sure that a track has actually been selected before trying to modify its data. Fixes Anthill bug 133.
|
2005-05-23 20:52:45 +00:00 |
|
Moritz Bunkus
|
ab93eb7ce6
|
'yes' is not a boolean, of course.
|
2005-05-23 20:35:28 +00:00 |
|
Moritz Bunkus
|
3d91659766
|
Implemented the extraction of USF subtitles.
|
2005-05-23 20:24:08 +00:00 |
|
Moritz Bunkus
|
f50aef90ef
|
Added a XML pretty printer class.
|
2005-05-23 20:23:23 +00:00 |
|
Moritz Bunkus
|
d156b7e8cc
|
Parse the <language> node of the <metadata> node as well instead of simply copying <metadata>. This is used as the default language if the <subtitles> node doesn't contain a valid <language> node.
|
2005-05-23 20:22:24 +00:00 |
|
Moritz Bunkus
|
b034ec2188
|
Moved the XML node name creation function into common.cpp. Escape the contents the XML way before putting them into CodecPrivate or the data blocks.
|
2005-05-22 17:40:11 +00:00 |
|
Moritz Bunkus
|
cbe0a25c38
|
Set the default compression method in the packetizer. Otherwise it would have to be set in each reader.
|
2005-05-22 10:05:03 +00:00 |
|
Moritz Bunkus
|
dce6b8c2ea
|
The duration is not the end ;)
|
2005-05-22 08:30:32 +00:00 |
|
Moritz Bunkus
|
9a9029c27b
|
Strip the <subtitle> ... </subtitle> tags for the data blocks.
|
2005-05-22 08:26:35 +00:00 |
|
Moritz Bunkus
|
8684a2289e
|
Implemented the rest of the muxing process: creating the packetizers, handling the language, passing the data to the packetizer, sorting the entries. Removed all of the debug output, too.
|
2005-05-22 07:22:37 +00:00 |
|
Moritz Bunkus
|
77f39e7a2b
|
Added an entry for USF subtitles to the "add file" dialog.
|
2005-05-22 07:20:28 +00:00 |
|
Moritz Bunkus
|
b887cde4a2
|
Slightly improved error message if a demultiplexer does not initialize properly.
|
2005-05-21 21:24:03 +00:00 |
|
Moritz Bunkus
|
4263140f14
|
The beginning of an USF parser. Implemented basic file parsing so that the private data and each entry is already available. Start and end timecodes are already stripped from the entries but not parsed yet. A lot of debug output, and there is no packetizer yet -- so only identifying a file works for the moment. Language processing is not implemented yet either.
|
2005-05-21 18:09:39 +00:00 |
|
Moritz Bunkus
|
99d2e62869
|
Enhanced the escape_xml function to escape quotes if necessary.
|
2005-05-21 18:07:29 +00:00 |
|
Moritz Bunkus
|
01c0480771
|
Use separate exceptions for errors thrown by mm_io_c and its children.
|
2005-05-21 16:30:58 +00:00 |
|
Moritz Bunkus
|
0a3f88b6d7
|
Pad MPEG packets up to 2048 bytes for VobSub extraction because some programs depend on it. Patch by Mike Matsnev <mike () po !cs ! msu ! su>
|
2005-05-17 17:39:00 +00:00 |
|
Moritz Bunkus
|
596d11ae2f
|
Moved the XML mapping table initialization completely into the xml_element_map_init() function.
|
2005-05-07 16:26:30 +00:00 |
|
Moritz Bunkus
|
d08be3d074
|
Stupid buffer overflow...
|
2005-05-07 15:59:08 +00:00 |
|
Moritz Bunkus
|
ece399a299
|
Removed the restriction of having a maximum of ten levels of nesting for Matroska elements.
|
2005-05-07 15:32:50 +00:00 |
|
Moritz Bunkus
|
3a975f4798
|
Properly set the state of all radio buttons when a project file is loaded. This also affects what happens when "File -> new" is selected. On Windows "split by time" was not selectable anymore after "File -> new" if it had been selected before. Fixes Anthill bug 131.
|
2005-05-07 15:11:51 +00:00 |
|
Moritz Bunkus
|
e8cdd29702
|
Output text lines with new lines according to the OS (\r\n on Windows, \n on all other systems).
|
2005-05-05 14:51:30 +00:00 |
|
Moritz Bunkus
|
8cca15fa07
|
Strip newlines at the end of the "Format=" line. Otherwise the fields wanted might not be found and would be missing in the output.
|
2005-05-05 14:38:08 +00:00 |
|
Moritz Bunkus
|
3f8deaba4a
|
Added the ChapterSegmentUID element to the chapter XML files.
|
2005-05-03 11:22:14 +00:00 |
|
Moritz Bunkus
|
bc804cd917
|
Ups, wrong position for that variable.
|
2005-05-02 14:58:39 +00:00 |
|
Moritz Bunkus
|
bb924c0038
|
Added the Windows implementation of the "improved" random number generation.
|
2005-05-02 14:55:09 +00:00 |
|
Moritz Bunkus
|
432d6a3596
|
Improved random number generation (lacking the Windows implementation which will come next).
|
2005-05-02 13:50:23 +00:00 |
|
Moritz Bunkus
|
b53de99588
|
Improved the support for native MPEG-4 (it actually works for three files now). Renamed a couple of function parameters in the process and moved the memory_c class into the "common" subdir.
|
2005-05-02 12:36:51 +00:00 |
|
Moritz Bunkus
|
37910a3c8f
|
Support WAV files that use other RIFF chunks than the usual "fmt " followed by "data" by simply skipping those.
|
2005-04-29 08:56:01 +00:00 |
|
Moritz Bunkus
|
9340c97515
|
Actually check the output of parse_aac_data so that invalid codec data will not go unpunished.
|
2005-04-28 14:51:25 +00:00 |
|
Moritz Bunkus
|
9e6a80158e
|
Refuse AAC codec data where the profile id is 0.
|
2005-04-28 14:50:43 +00:00 |
|
Moritz Bunkus
|
7aaa57b0e0
|
Safer handling of closing files. Also accept text files with a length < 4 bytes and don't segfault on them ;)
|
2005-04-25 12:24:49 +00:00 |
|
Moritz Bunkus
|
1097c66ae8
|
In case of remuxing MPEG-1/-2 video tracks from Matroska files simply hand the frames over as they are without sending them through the MPEG frame detection code.
|
2005-04-18 08:11:40 +00:00 |
|
Moritz Bunkus
|
9012ba609b
|
I/P frames were freed to early after a cluster has been rendered resulting in unresolvable brefs.
|
2005-04-16 10:53:18 +00:00 |
|
Moritz Bunkus
|
c1d2c53d58
|
Hopefully fixed compilation with MSC which doesn't know va_copy but which allows using a va_list with a consumer function more than once.
|
2005-04-11 10:47:01 +00:00 |
|
Moritz Bunkus
|
ed3a1f4a53
|
Cache the file position instead of querying it all the time.
|
2005-04-10 09:07:45 +00:00 |
|
Moritz Bunkus
|
444cecc212
|
Bumped the version number and set the version codename.
|
2005-04-09 17:36:20 +00:00 |
|
Moritz Bunkus
|
78f13d2bc1
|
A va_list is undefined after a call to a consumer function like vsprintf. Therefore it has to be copied if it will be used multiple times. This was working on most 32bit systems but not on AMD64 anymore. Fixes Anthill bug 120.
|
2005-04-09 17:11:50 +00:00 |
|
Moritz Bunkus
|
608b681baa
|
Added the extraction of raw data to mvkextract. Patch by Steve Lhomme (steve ! lhomme () free ! fr) with additions by myself.
|
2005-04-07 17:31:52 +00:00 |
|
Moritz Bunkus
|
dd697e5a49
|
Update the "number of samples in this file" header field upon extraction of WAVPACK data. Patch by Steve Lhomme (steve ! lhomme () free ! fr).
|
2005-04-07 17:15:31 +00:00 |
|
Moritz Bunkus
|
6f31a23ad3
|
Don't free memory handled by a smart pointer!
|
2005-04-07 17:10:35 +00:00 |
|
Moritz Bunkus
|
2f6d607e7c
|
Useless variable removed. Patch by Steve Lhomme.
|
2005-04-07 16:55:55 +00:00 |
|
Moritz Bunkus
|
08e457eaaf
|
Do not use the FPS field of RealMedia files for the default duration of RealVideo tracks. It may contain the maximum number of frames per second that the encoder should output or has output. Fixes Anthill bug 113.
|
2005-04-07 15:17:17 +00:00 |
|
Moritz Bunkus
|
4f08216474
|
If a Matroska file is appended to another one then the timecodes it reports downstream must be zero-based. This was not the case for "linked" files (files created with "--split ... --link"). Fixes Anthill bugs 115 and 116.
|
2005-04-07 15:00:22 +00:00 |
|
Moritz Bunkus
|
6c42e332e3
|
Only output warnings about failed calls to posix_fadvise in verbose mode and silently switch to not using it for that file anymore.
|
2005-04-07 08:53:06 +00:00 |
|
Moritz Bunkus
|
05f1b20cb3
|
Uppon concatenation of files including chapters all chapter atoms that share the same UID have to be merged into a single chapter atom with appropriate start and end timecodes. Addresses Anthill bug 122.
|
2005-04-07 08:46:58 +00:00 |
|
Moritz Bunkus
|
3da4169967
|
Documentation update.
|
2005-04-06 15:03:30 +00:00 |
|
Moritz Bunkus
|
31bd52a95b
|
Chapters that span multiple segments during splitting have to be kept in all files, not just in the first one. Their start timecodes have to be adjusted, of course.
|
2005-04-06 14:32:43 +00:00 |
|
Moritz Bunkus
|
92c59814f3
|
Output timecodes in summary mode in a form that's easier to read, too, and not only in milliseconds.
|
2005-04-06 13:18:32 +00:00 |
|
Moritz Bunkus
|
d2d41d39bc
|
Better handling of damaged/strange Matroska files -- e.g. if the block group does not contain a block, or if no headers have been found for a track number.
|
2005-03-28 19:13:48 +00:00 |
|
Moritz Bunkus
|
23a737b7ce
|
Removed the lower limits for splitting by time and by size.
|
2005-03-27 10:32:03 +00:00 |
|