2004-06-03 Moritz Bunkus * mkvmerge: new feature: Added support for the audio/video synchronization method used by NanDub (garbage at the beginning of audio tracks inside an AVI) for AC3 and MPEG audio tracks. In other words: If an AVI is read and an audio track contains garbage right at the beginning then the corresponding audio delay is calculated and used instead of simply discarding the garbage. 2004-05-31 Moritz Bunkus * Released v0.9.0. * mkvmerge: bug fix: Improved handling for OGM files. Streams that are lacking the comment packet are handled better. 2004-05-29 Moritz Bunkus * mkvmerge: bug fix: Some MP3 streams are padded in the front with trash (mostly those in AVI files). This trash might contain valid MP3 headers which do not match the remaining headers for the actual track. Both the MP3 reader and the MP3 packetizer can now skip up to one of those bogus headers in the trash. 2004-05-25 Moritz Bunkus * mmg: bug fix: On some occasions the chapter editor thought there was no language associated with a chapter name and complained about that. * mmg: Removed the 'advanced' tab. Those options shouldn't be used anyway. * mkvmerge: bug fix: The OGM reader was not Endian safe. 2004-05-20 Moritz Bunkus * mkvmerge: Rewrite of the VobSub handling code. 2004-05-17 Moritz Bunkus * mmg: bug fix: The chapter editor did not honor the values selected for 'country' and 'language'. 2004-05-15 Moritz Bunkus * mkvmerge: bug fix: Audio sync for Vorbis was partially broken for positive offsets. 2004-05-06 Moritz Bunkus * mmg: Fix for compilation with wxWindows < 2.4.2. * Released v0.8.9. * mmg: new feature: mmg will ask for confirmation before overwriting a file. This can be turned off on the settings tab. 2004-05-04 Moritz Bunkus * mmg: new feature: Implement drag'n'drop of files onto the input, attachment and chapter tabs. For the input and attachment tabs it works like pressing the 'add' button. On the chapters tab it works like calling 'Chapter Editor -> Open'. 2004-05-02 Moritz Bunkus * mkvinfo/mmg: Enabled compilation with wxWidgets 2.5 and Unicode enabled builds of wxWidgets. 2004-04-30 Moritz Bunkus * all: Increased the precision for timecodes in chapter files to nanoseconds (optionally, you can still use fewer digits after the '.'). 2004-04-26 Moritz Bunkus * mkvmerge: Fixes for compilation with gcc 3.4. 2004-04-24 Moritz Bunkus * mkvmerge: bug fix: Some strings read from RealMedia files were not zero-terminated resulting in broken track recognition for some files. 2004-04-23 Moritz Bunkus * Released v0.8.8. * mkvtoolnix now depends on libebml 0.7.0 and libmatroska 0.7.0. 2004-04-21 Moritz Bunkus * mkvinfo: bug fix: mkvinfo was forcing libmatroska not to handle unknown elements and crashed on those. 2004-04-15 Moritz Bunkus * mmg: new feature: When adding Matroska files the video track's display dimensions are displayed as well. 2004-04-13 Moritz Bunkus * mkvmerge: new feature: Implemented reading AAC from AVIs. 2004-04-11 Moritz Bunkus * mkvmerge: bug fix: The Flac packetizer was accessing uninitialized memory resulting in a crash on Windows. * avilib: bug fix: Fixed compilation on big endian systems. * mkvmerge: bug fix: Fixed the handling of RealMedia files with 'multirate' tracks (again). 2004-04-09 Moritz Bunkus * mkvmerge: bug fix: On some rare occasions chapters were not written correctly when splitting was active. 2004-04-06 Moritz Bunkus * mmg: bug fix: On non-Windows systems some combinations of wxWindows and GTK caused continuous 100% CPU usage after a special call to wxExecute. 2004-04-05 Moritz Bunkus * Released v0.8.7. 2004-04-03 Moritz Bunkus * mkvinfo: new feature: Added a terse output format via '-s'. 2004-03-27 Moritz Bunkus * mkvmerge: new feature: If using MPEG4 video and no aspect ratio or display dimensions are given mkvmerge will extract the aspect ratio information from the stream and automatically set the display dimensions accordingly. 2004-03-22 Moritz Bunkus * mkvmerge: bug fix: Using audio sync on AC3 tracks read from Matroska files did not work. 2004-03-21 Moritz Bunkus * mkvextract: new feature: Added extraction of RealAudio and RealVideo tracks to RealMedia files. 2004-03-16 Moritz Bunkus * mmg: new feature: Added a 'job queue'. The current settings can be added as a new job, and all pending jobs can be started for batch processing without user interaction. 2004-03-13 Moritz Bunkus * Released v0.8.6. * mkvmerge: bug fix: OGMs created by Cyrius OGMuxer are missing comment packets for some streams which mkvmerge choked on. 2004-03-10 Moritz Bunkus * mkvmerge/mmg: bug fix: The LANGUAGE and TITLE comments from OGM files were not set in the GUI when adding such files. 2004-03-09 Moritz Bunkus * mmg: bug fix: If the FourCC was set for one track it had been used for each track you selected as well. * mkvmerge: new feature: Tags are being kept when reading Matroska files. * mkvmerge: bug fix: Large values for --sync (over 2100) would cause an integer overflow resulting in no sync being done at all. * mkvmerge: bug fix: The VobSub handling was broken if the .idx file contains an entry for a track ("id: en") but no "timestamp:" entries for such a track. * mkvmerge: bug fix: The segment UID was not generated if splitting was off. * mmg: new feature: Automatically set the output file name when the first file is added to the same name but with a '.mkv' extension if it hasn't been set yet. Can be disabled on the 'settings' page. * mkvmerge: bug fix: More of the non-ASCII character fixes (in --tags and --chapters this time). * mkvmerge/mmg: new feature: Made the process priority selectable on the 'settings' page and default to 'normal' again (was 'lower' before). 2004-03-07 Moritz Bunkus * mmg: new feature: mmg will ask for confirmation before overwriting an existing output file. 2004-02-29 Moritz Bunkus * mkvmerge: bug fix: No memory was allocated for the --attachment-description resulting in weird descriptions or mkvmerge aborting with 'invalid UTF-8 characters'. * mkvmerge: bug fix: More of the non-ASCII characters fixes. 2004-02-28 Moritz Bunkus * mkvmerge: bug fix: File names with non-ASCII characters like Umlaute are handled correctly. 2004-02-27 Moritz Bunkus * mkvmerge: bug fix: Some RealMedia files contain several tracks for multirate stuff which are now ignored. Only tracks with known MIME types (audio/x-pn-realaudio and video/x-pn-realvideo) are used. 2004-02-23 Moritz Bunkus * mmg: Added a list of 'popular' languages on top of all language drop down boxes. 2004-02-22 Moritz Bunkus * Released v0.8.5. 2004-02-21 Moritz Bunkus * mkvmerge: bug fix: segfault in the RealMedia reader. * mmg: bug fix: When adding a Matroska file that contains a track name or a title with non-ASCII characters those would be displayed as UTF-8 in the appropriate input boxes. This has been changed, but obviously it won't work if you add files with Japanese characters on a system with a different locale. For full Unicode support you'll have to wait quite a bit longer. * mmg: bug fix: For some 'browse file' buttons the default directory was not set to the last directory a file was selected from. 2004-02-16 Moritz Bunkus * mmg: new feature: Added a function for adjusting the chapter timecodes by a fixed amount. 2004-02-15 Moritz Bunkus * mkvmerge: bug fix: Splitting by size would sometimes abort directly after opening the second file. 2004-02-14 Moritz Bunkus * mkvmerge: bug fix: Splitting by time was broken. 2004-02-12 Moritz Bunkus * all: A couple of changes that allow compilation on MacOS X. * avilib: synchronized with transcode's current CVS version. 2004-02-11 Moritz Bunkus * Released v0.8.4. * mkvmerge: bug fix: When reading Matroska files the durations attached to blocks were lost (e.g. for subtitle tracks). 2004-02-09 Moritz Bunkus * Released v0.8.3. 2004-02-08 Moritz Bunkus * mkvmerge: new feature: The LANGUAGE, TITLE tags and chapters are being kept when reading OGM files. * mkvmerge: Changed the meaning of '--global-tags'. They now apply to the complete file. 2004-02-07 Moritz Bunkus * mkvmerge: bug fix: VobSub durations were not converted from ms to ns precision resulting in VERY short packets :) 2004-02-01 Moritz Bunkus * mkvmerge: bug fix: The change from ms to ns precision broke subtitle handling from OGM. 2004-01-31 Moritz Bunkus * mkvmerge: Made "do not link files when splitting" the default, just like in mmg. * mkvmerge: new feature: Enabled reading of AAC from OGMs. * mkvmerge: The VobSub reader will not discard packets that exceed a certain size (64KB) anymore. * mkvmerge: Improved some internal memory freeing decisions. This should help with files/sections in which are only few keyframes. 2004-01-30 Moritz Bunkus * mkvmerge: Changed the two-pass splitting into a one-pass splitting. The resulting files will always be a little bit larger than the desired size/length, but this shouldn't matter. 2004-01-25 Moritz Bunkus * mkvmerge: bug fix: Segfault when using external timecode v1 files. 2004-01-24 Moritz Bunkus * mmg: Rewrote the chapter editor. It now makes a lot more sense: You can have multiple names for one chapter entry, and for each name there's only one language/country association. 2004-01-23 Moritz Bunkus * mkvmerge: bug fix: The AAC-in-Real stuff again. 2004-01-22 Moritz Bunkus * mkvmerge: Changed the complete timecode handling from ms precision to ns precision. Expect some things to be broken by this change. * mkvmerge: bug fix: Fixed a couple of memory leaks, especially in the QuickTime/MP4 parser. 2004-01-21 Moritz Bunkus * mmg: Added some more extensions for RealMedia files. * mkvmerge: bug fix: Proper handling for AAC read from RealMedia files (sample rate/output sample rate were not assigned correctly). * Released v0.8.2. 2004-01-19 Moritz Bunkus * mkvmerge: bug fix: The PCM handling was broken resulting in packets that did not end on sample boundaries. 2004-01-17 Moritz Bunkus * mkvmerge: bug fix: AVIs with uncompressed sound were leading to buffer overflows. * mkvmerge/mmg: allow the track names to be empty so that you can remove them when muxing Matroska files. Same for the file title. * mkvmerge: new feature: The track headers will be rendered completely including the elements that are set to their default values. Causes less confusion and allows the setting of e.g. the track language without having to remux the file completely. * mkvmerge: bug fix: If remuxing a file that contains frames with a reference to the same timecode those references were lost turning such P frames into I frames. This was the case for some RealAudio stuff. 2004-01-15 Moritz Bunkus * mmg: new feature: Automatically pre-set the attachment's MIME type if the file has a known extension (e.g. 'text/plain' for '.txt'). * mkvmerge: new feature: Unknown/unsupported track types can be copied 1:1 from Matroska input files. * mkvmerge: new feature: Added proper support for AAC-inside-RealMedia files. 2004-01-14 Moritz Bunkus * mkvmerge: new feature: Write cues for audio-only files as well (not more than one cue entry during a two seconds period). 2004-01-12 Moritz Bunkus * mkvmerge: bug fix: The default track flags could not be overriden on the command line when reading Matroska files. * Windows binaries after v0.8.1 require a new runtime DLL archive. Please download it from http://www.bunkus.org/videotools/mkvtoolnix/ Thanks. 2004-01-11 Moritz Bunkus * mkvmerge: new feature: Added the two new chapter flags 'hidden' and 'enabled'. * mkvmerge: new feature: Added a new format for the external timecode files. 2004-01-09 Moritz Bunkus * mkvmerge: bug fix: The VobSub handling was on occasion putting SPU packets for the wrong MPEG stream into the current stream resulting in that particular entity not being displayed. 2004-01-06 Moritz Bunkus * Released v0.8.1. 2004-01-05 Moritz Bunkus * mkvmerge: bug fix: The I/O classes were not initialized correctly on Windows resulting in spontaneous strange error messages, especially when muxing VobSubs. 2004-01-03 Moritz Bunkus * mkvmerge: bug fix: For some special atom sizes in Quicktime and MP4 files the size was not read correctly. This affected e.g. files created by Nero Digital. 2004-01-02 Moritz Bunkus * mkvmerge: bug fix: Segfault when muxing some video formats due to unchecked data (includes RealVideo). 2004-01-01 Moritz Bunkus * Released v0.8.0. 2003-12-29 Moritz Bunkus * mmg: bug fix: Fixed the "write chapters to Matroska file" feature. * mmg: bug fix: Made mmg not abort but only display an error message when malformed XML chapter files should be loaded. 2003-12-28 Moritz Bunkus * mkvmerge: bug fix: The timescodes for Vorbis were calculated one packet too early (meaning that the first packet did not start at 0). * mmg: Made "don't link" ON by default because some players might have problems with the second and all following files if they don't expect them not to start at 0. * mkvmerge, mkvextract, mkvinfo: Added support for the new tagging system. * mmg: bug fix: The default values for the chapter language and chapter country are now applied when loading simple (OGM) style chapter files as well. * mkvmerge: bug fix: The VobSub packetizer will assume MPEG2 if no MPEG version identifier was found ("Unsupported MPEG version: 0x00..."). 2003-12-23 Moritz Bunkus * mkvmerge: There are MP4 files that actually contain HE-AAC but don't have the 5 byte identifier. mkvmerge will also assume SBR if there's only the 2 byte identifier with a sampling frequency < 44100Hz. 2003-12-22 Moritz Bunkus * mkvextract: bug fix: Wrong display output and illegal memory access when extracting FLAC files. 2003-12-17 Moritz Bunkus * mmg: bug fix: If one added a Matroska file and the track name or language of a track consisted of only blanks then mmg would segfault. 2003-12-15 Moritz Bunkus * mmg: The input box will automatically select the first track when a file is selected. Upon track selection the input focus is set to the track name input box. * mmg: The chapter editor automatically focuses the chapter name input box whenever a chapter entry is selected. * mmg: bug fix: The chapter editor did not properly escape the chapter names resulting in invalid XML files if the special characters &, < or > were used. 2003-12-12 Moritz Bunkus * mkvmerge: bug fix: If splitting was active then a wrong CodecID was written to the second and all following files for MP2 tracks. 2003-12-11 Moritz Bunkus * Released v0.7.9. 2003-12-05 Moritz Bunkus * mkvmerge: Set the thread priority to BELOW_NORMAL on Windows (mkvmerge was already nice(2)'d on Unix systems). * mmg: bug fix: Removed the Ctrl-v and Ctrl-c accelerators that I used for mmg functions which overrode the usual 'paste' and 'copy' functionality. * mmg: Command line arguments are put into an option file which is then handed over to mkvmerge. This allows really long command lines, even on Windows. * mkvmerge: bug fix: Negative track IDs in Ogg files were reported incorrectly for mkvmerge -i (which affected the GUI). * mkvmerge: bug fix: Internal changes had messed up the --language and --track-name functionality. 2003-12-04 Moritz Bunkus * mmg: new feature: Added "up" and "down" buttons for the tracks, too. * mmg: new feature: Added a menu option, 'set output file', that can be used as an alternative to the "browse" button at the bottom (for those poor users with nothing more than 800x600 ;)). * mkvmerge: new feature: The user can alter the order in which the tracks for an input file are put into the output file with the new "--track-order" option. * mmg: bug fix: The "AAC is SBR" check box was grayed out for AAC inside MP4 files. 2003-12-03 Moritz Bunkus * mmg: bug fix: The "load settings" function did not load all settings, and some strings were not allocated at all resulting in a crash when a track was removed after loading these settings. * mkvmerge: bug fix: The AAC packetizer was not working if packets were being read from a raw AAC file (it worked fine from MP4 and Matroska files). * mkvmerge: bug fix: Avoid deadlocks when parsing broken SPU packets from VobSubs. * mmg: new feature: Added buttons for moving input files up and down in the input file box. 2003-12-02 Moritz Bunkus * Released v0.7.8. * mmg: new feature: You can set the values for the language and/or country codes for a chapter and all its children with the push of one button (the new "Set values" button). * mmg: new feature: You can set default values for the language and the country codes in the chapter editor (Chapter menu -> Set default values). 2003-12-01 Moritz Bunkus * mkvmerge: bug fix: Display dimensions were sometimes off by one, e.g. 640x479 instead of 640x480. This should not happen anymore for sane pixel dimensions. * mkvmerge: Changed the options '--fourcc' and '--aspect-ratio'. They now take a track ID just like all the other track specific options. * mkvmerge: new feature: Added an option '--display-dimensions' which allows the direct setting of the display dimensions. It is mutually exclusive with '--aspect-ratio', of course. 2003-11-29 Moritz Bunkus * mmg: bug fix: The language combo box was not correctly set on Windows. 2003-11-25 Moritz Bunkus * mkvmerge: Added an option for dumpig all split points including file size and timestamp information after the first splitting pass. 2003-11-23 Moritz Bunkus * mmg: bug fix: Quotes were missing if the timecode file's name contained spaces. 2003-11-18 Moritz Bunkus * mkvmerge: Rewrote the SPU packet parsing code. It should not abort anymore. * everything: Committed a lot of cross-OS compatibility fixes (thanks to Haali and thedj). 2003-11-16 Moritz Bunkus * Released v0.7.7. * mkvextract: Added extraction of FLAC to raw FLAC or OggFLAC files. * mkvmerge: Added full support for FLAC (both raw FLAC and OggFLAC are supported, even though raw FLAC is very slow). 2003-11-15 Moritz Bunkus * mmg: Added an input field for the 'CUE sheet to chapter name' conversion format. * mkvmerge: bug fix: Reworked the audio sychronization which did not work correctly for Matroska source files. 2003-11-13 Moritz Bunkus * mkvmerge: bug fix: Increased the size of the space reserved for the first meta seek element (see mkvmerge.1 for an explanation). In some situations (with tags, chapters, attachements and very big file) it might not have been enough in order to contain all elements. 2003-11-12 Moritz Bunkus * mmg: Added an input field for the 'timecodes' file to the track options. * mkvmerge: bug fix: When reading MP3 audio tracks from a Matroska file with the A_MS/ACM CodecID (MS compatibility mode) the layer was not identified correctly. * mkvmerge: Improved the file type detection for AC3 and AAC files a bit. * mkvmerge: Implemented a lot of fixes for big endian systems and processors that don't allow non-aligned memory access for word or bigger sized objects. * mmg: Made mmg accept return codes of 1 when 'mkvmerge -i' is run when an input file is added. This way mmg won't reject mkvmerge's output if mkvmerge only printed some warnings which will result in a return code of 1 instead of 0. * mkvmerge: bug fix: If running in identification mode (-i, used by mmg a lot) then don't output any warnings or mmg will not accept this file. 2003-11-10 Moritz Bunkus * mkvmerge: new feature: CUE sheets can be used for chapters. 2003-11-09 Moritz Bunkus * mkvmerge: Added support for --sync for VobSub tracks. * mkvtoolnix: Re-worked the configure script. Removed all the lib specific --with-...-include and --with-...-lib options. The --with-extra-includes and --with-extra-libs options can be used instead. 2003-11-08 Moritz Bunkus * mmg: When a file is being added then some information from it (languages, track names, file title) are kept, and the appropriate input boxes are pre-set with these values. Works only for formats that support such information (Matroska, VobSub). * mkvmerge: Sped up the reading of VobSub .idx files. 2003-11-05 Moritz Bunkus * Released v0.7.5. * mkvmerge: bug fix: The VobSub .idx parser was dividing by 0 if a track only contained one entry. * mkvmerge: Fixed the timecode reader code and made it a bit more flexible. Added more documentation for this feature along with an example file (examples/example-timecodes.txt). * mmg: bug fix: When 'default track' is selected then all other tracks of the same type will have their 'default track' flag cleared. * mkvmerge: SPU packets belonging to the same timecode are grouped together, and the duration is extracted directly from the SPU stream. 2003-10-29 Moritz Bunkus * mkvmerge: The VobSubs are now stripped of the MPEG program stream, and only the SPU packets are kept. 2003-10-28 Moritz Bunkus * mkvmerge, mkvextract: The Matroska reader and the OGM reader (mkvmerge) as well as mkvextract will discard empty or 'cleaning only' subtitle packets as they are appear in OGMs in order to mark the end of an entry. 2003-10-27 Moritz Bunkus * mkvmerge: new feature: Added the ability to read timecodes from text files which override the timecodes mkvmerge calculates normally. 2003-10-26 Moritz Bunkus * mkvextract: bug fix: Add all the mandatory elements when extracting chapters so that the resulting XML can always be used directly with mkvmerge again without having to manually add e.g. ChapterLanguage. * mkvmerge: bug fix; Handle audio tracks from Matroska files with the CodecID A_MS/ACM correctly. 2003-10-25 Moritz Bunkus * mkvmerge: Changes to use libmatroska's new lacing code. 2003-10-23 Moritz Bunkus * mkvmerge: bug fix: The VobSub .idx parser was mis-calculating the subtitle entry frame sizes. * mkvmerge: bug fix: The Vorbis packetizer was miscalculating the number of samples to add/remove when using audio sync. 2003-10-22 Moritz Bunkus * mmg: new feature: Added a new menu entry "File -> new" which will clear all the current muxing settings. * mmg: Added support for VobSub subtitles including their compression options. Added the .m4a extension to the 'add file' dialog. * mmg: bug fix: Made the input boxes for file names (tags and chapters) editable so that their contents can be deleted. * mkvmerge: Adjusted the compression handling to the final content encoding specs. 2003-10-19 Moritz Bunkus * mkvmerge: new feature: Implemented generic support for frame compression (mostly useful for VobSub subtitles but could also be used for others) and the complete framework for handling content encodings in the Matroska reader. 2003-10-18 Moritz Bunkus * mkvinfo: new feature: Dump unknown elements recursively. 2003-10-15 Moritz Bunkus * mkvmerge: bug fix: Made the SRT reader more tolerant regarding empty lines. 2003-10-14 Moritz Bunkus * Released v0.7.2. * mkvmerge: bug fix: If 'no linking' and splitting was active mkvmerge would abort on the start of the second output file due to timecodes that were calculated incorrectly. * mkvmerge: Implemented some speedups for a couple of container formats and track types (mainly AVI reader, MP3/AC3/AAC packetizers). Especially noticeable when splitting is active as well. 2003-10-12 Moritz Bunkus * mkvextract: bug fix: Support for extracting SBR AAC (previous 'fix' did not actually fix this). * mkvextract: bug fix: All extracted subtitles where written to the first output file given, not to the one they were supposed to be written to. 2003-10-11 Moritz Bunkus * mmg: bug fix: The 'abort' button was doing nothing under Windows. 2003-10-06 Moritz Bunkus * mmg: bug fix: Audio, video and subtitle track selection was translated into the wrong command line options. * mkvmerge: Replaced the avilib based AVI reading functions with AVI classes from Cyrius. 2003-10-03 Moritz Bunkus * Released v0.7.1. * Added a guide for mmg including some pictures. 2003-10-01 Moritz Bunkus * mkvmerge: Changed the lacing strategy again. New defaults are NOT to write duration elements for all blocks, NOT to use time slices and to USE lacing for most audio tracks. This will save some space. The downside is that the laced frames 'lose' their precise timecode information. Current demuxers don't care and will work nevertheless. More sophisticated applications that make use of these advanced information (duration elements, time slices) are not available at the moment. All these options can be toggled by the user with the new/modified options --disable-lacing, --enable-durations and --enable-timeslices. 2003-09-29 Moritz Bunkus * mkvmerge: new feature: Attachments are kept when reading Matroska files. 2003-09-28 Moritz Bunkus * mmg: new feature: Added a (nearly) full-featured chapter editor. 2003-09-26 Moritz Bunkus * mkvmerge: bug fix: XML chapters were not parsed correctly. 2003-09-24 Moritz Bunkus * mkvmerge: bug fix/new feature: Rewrote the complete MP3 handling. Now files with ID3 tags (both v1 and v2) are handled correctly. All MPEG-1 audio files (all layers) should be handled correctly now. 2003-09-23 Moritz Bunkus * mkvextract: new feature: Support for extract HE-AAC tracks to .aac files. Bug fix: Missing elements (default values) are handled correctly for audio tracks. 2003-09-19 Moritz Bunkus * mkvmerge: bugfix: If attachments were given with path components then the path component wasn't discarded for the attachment's description on Windows (normally only the file name should be used as the attachment's name). * mmg: Fixed wrong order of the options --chapters, --chapter-language and --chapter-charset. 2003-09-17 Moritz Bunkus * mmg: Added a lot of checks on the data given by the user so that invalid data is reported by mmg and not by mkvmerge. * mmg: Made the app a GUI app which gets rid of the "DOS box" on Windows. 2003-09-16 Moritz Bunkus * mmg: bugfix: Moved the aspect ratio and FourCC input fields from the global tab to the input tab where they belong to. * mkvmerge: new feature: RealAudio can be read from Matroska files. * mkvmerge: bugfix: RealVideo was not read correctly from Matroska files. * mkvmerge: bugfix: The SRT reader would abort if there was more than one empty line between subtitle entries line. * mkvextract: bugfix: Proper BOMs are written according to the desired charset when extracting text subtitles. * Released v0.7.0. * mkvextract: Add an UTF-8 BOM to extracted SSA/ASS and SRT subtitle files. Print warnings for missing durations for text subtitle tracks. 2003-09-14 Moritz Bunkus * Added a complete GUI for mkvmerge, mkvmergeGUI (mmg) based on the work of Florian Wagner. 2003-09-12 Moritz Bunkus * mkvmerge: Support for setting the track names. * mkvmerge: For Matroska source files: If the source contains chapters then these are kept unless the user specified chapters with --chapters. 2003-09-11 Moritz Bunkus * mkvmerge: Implemented an experimental VobSub reader and packetizer. No specs exist for these yet, though. * mkvmerge: Improved the support for Matroska files with tracks with big gaps between entries, e.g. subtitle tracks whose entries are a minute or more apart. * mkvmerge: When splitting is active and the source is a Matroska file then splitpoints were borked, and the first pass was slow as your average mole. * mkvmerge: The track UIDs are kept when reading Matroska files even when splitting is active. 2003-09-09 Moritz Bunkus * mkvmerge: Added a QuickTime/MP4 reader. Can handle several QuickTime video and QuickTime audio formats as well as AAC (both 'normal' AAC and SBR AAC). 2003-09-08 Moritz Bunkus * mkvmerge: DisplayWidth and DisplayHeight are kept intact when reading from a Matroska file but can be overridden with --aspect-ratio. 2003-08-30 Moritz Bunkus * Wrote documentation, XML examples and the DTD for the XML chapter files. * mkvinfo: Rewrote mkvinfo to use libebml's Read() function instead of manually reading each and every element. * mkvmerge: Added support for XML based chapter files. 2003-08-29 Moritz Bunkus * Released v0.6.5. 2003-08-28 Moritz Bunkus * mkvmerge: On Windows the 'isspace()' function used to trim leading and trailing white spaces from tags considered some parts of valid UTF-8 character sequences to be white spaces as well. Fixed by replacing 'isspace()' with 'isblank()'. Reported by Liisachan. * mkvmerge: Support for chosing the charset and language used in simple chapter files. Suggestion by Liisachan. * Rewrote the UTF-8 conversion routines. They should now handle U+8000 characters correctly. Reported by Liisachan. * mkvmerge: Real reader: For RV40 the actual dimensions were also used for the aspect ratio/display dimensions. This has been fixed: the actual dimensions are used for PixelWidth/PixelHeight, the dimensions stored in the RM container are used for the aspect ratio/DisplayWidth & DisplayHeight. Reported by Karl Lillevold. 2003-08-27 Moritz Bunkus * Released v0.6.4. * mkvextract: Support for re-creating dropped frames when extracting video to an AVI. Works only well if the frame durations in the source file are multiples of the frame rate, of course. * mkvmerge: The MP3 packetizer did not start at 0 with its timecodes. It does now. Reported by alexnoe. * mkvmerge: Proper support for dropped frames when reading AVI files. Reported by alley_cat, Horváth István. * mkvmerge: Fixed some missing default values in the Matroska reader (e.g. mono audio files). Reported by Liisachan. 2003-08-25 Moritz Bunkus * mkvmerge: Improved all command line parsing error messages. * mkvmerge: Improved the error message for the XML tag file parser if an invalid &-sequence is found. * mkvextract: Strings are postprocessed so that the special characters &, <, >, " are replaced by their HTML equivalents &, <, > and ". 2003-08-24 Moritz Bunkus * mkvmerge: Disabled lacing by default and renamed --no-lacing to --enable-lacing. With all the proper info about the laced frames lacing is actually producing larger files than without lacing. * mkvmerge: Meta seek element is split into two elements. The first's located at the start of the file containing only a small number of level 1 elements. The clusters are referenced in a second meta seek element located at the end of the file. Removed the options "--meta-seek-size" and "--no-meta-seek". Added the option to disable that second meta seek entry, "--no-clusters-in-meta-seek". 2003-08-22 Moritz Bunkus * mkvextract: Backwards compatibility: Accepts S_SSA and S_ASS as valid CodecIDs (new CodecIDs are S_TEXT/SSA and S_TEXT/ASS). * mkvmerge: Bugfix: If a subtitle packet was the last packet in a cluster then its duration was not written resulting in a broken file. 2003-08-21 Moritz Bunkus * mkvinfo: Added support for the following elements: KaxPrevFilename, KaxNextFilename, KaxTrackFlagEnabled, KaxTrackName, KaxCodecName, KaxCodecSettings, KaxCodecInfoURL, KaxCodecDownloadURL, KaxCodecDecodeAll, KaxTrackOverlay, KaxAudioPosition, KaxAudioOutputSamplingFreq, KaxVideoDisplayUnit, KaxVideoColourSpace, KaxVideoGamma, KaxVideoFlagInterlaced, KaxVideoStereoMode, KaxVideoAspectRatio, KaxClusterPosition, KaxClusterPrevSize, KaxBlockVirtual, KaxBlockAdditions, KaxBlockMore, KaxBlockAddID, KaxBlockAdditional, KaxReferenceVirtual, KaxSliceBlockAddID, KaxChapters, KaxEditionEntry, KaxChapterAtom, KaxChapterUID, KaxChapterTimeStart, KaxChapterTimeEnd, KaxChapterTrack, KaxChapterTrackNumber, KaxChapterDisplay, KaxChapterString, KaxChapterLanguage, KaxChapterCountry 2003-08-20 Moritz Bunkus * Released v0.6.3. * mkvmerge: The Real reader accepts incomplete video packets and tries to re-assemble them instead of aborting with 'die: len != total'. 2003-08-18 Moritz Bunkus * mkvmerge: Implemented a switch that has to be used for SBR AAC / AAC+ / HE-AAC if the source file is an AAC file and the AAC file contains SBR AAC data (no automatic detection possible in this case!). 2003-08-14 Moritz Bunkus * mkvmerge: Low bitrate AC3 tracks from Real's DNET are identified as A_AC3/BSID9 or A_AC3/BSID10. * mkvmerge: The RealMedia reader takes the number of packets into account when reading which results in better end-of-file detection. 2003-08-12 Moritz Bunkus * Windows versions: Fixed a bug with files bigger than 2GB not being recognized. The accompanying error message was "File NAME has unknown type. Please have a look at the supported file types..." * all tools: Fixed a bug which would only allow Matroska files up to 4GB to be read. The accompanying error message was "No segment found" or something similar. * mkvinfo: Unknown elements are properly skipped now. 2003-08-11 Moritz Bunkus * mkvmerge: For RV40 (RealVideo 9) the actual video dimensions are decoded from the first video frame. * Released v0.6.2. * mkvmerge: Video aspect ratio was set wrong if the user did not specify any. * Released v0.6.1. * mkvmerge: RealVideo: Support for all kinds of frames including "short" and "merged" frames (results are identical to Gabest's output). 2003-08-10 Moritz Bunkus * mkvmerge: The aspect ratio setting will only cause upscaling of the current video dimensions which are then put into KaxVideoDisplayWidth and KaxVideoDisplayHeight. * mkvextract: Changed how the global elements are handled by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod. * mkvmerge: Changed how the Matroska reader handles global elements by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod. * mkvinfo: Changed how mkvinfo handles global elements by taking the parent's size into account. Hopefully this is now correct. * mkvextract: Support for MultiComment tags. * mkvmerge: Fixed support for reading MultiComment tags from XML tag files. * mkvmerge: Allow some slightly broken Matroska files to be processed correctly if the reference blocks are off by at most 1ms. 2003-08-09 Moritz Bunkus * mkvmerge: MP3: Better support for other MPEG versions and layers (number of samples per packet). * mkvinfo: Added Adler32 calculation and display for frame contents with the -c option. * mkvmerge: RealAudio: "dnet" is actually byte-swapped AC3 and is being treated as such (re-swapped and output as AC3). * mkvmerge: Fixed a bug with chapters and splitting which would crash mkvmerge if no chapter belonged into the output file. 2003-08-06 Moritz Bunkus * Changes for compilation with gcc 2.95. 2003-08-04 Moritz Bunkus * Released v0.6.0. 2003-07-30 Moritz Bunkus * base64tool: Added a tool for Base64 encoding/decoding needed for binary elements in the tags. 2003-07-29 Moritz Bunkus * mkvextract: Support for extracting chapter information. * mkvmerge: Added support for simple chapter files (CHAPTER01=..., CHAPTER01NAME=Hello World etc). 2003-07-26 Moritz Bunkus * mkvmerge: Added support tags based on XML files. * mkvextract: Rewrote the command line syntax. Added extracting attachments and tags as new options. * mkvmerge: Fixed a bug in the SRT reader which would not always handle Unix/DOS style new line cases correctly. 2003-07-23 Moritz Bunkus * mkvmerge: Added support for the "SegmentTitle" (general title of the file written). 2003-07-16 Moritz Bunkus * mkvmerge: Added support for UTF-8 and UTF-16 encoded text files for the SRT and SSA/ASS readers. 2003-07-15 Moritz Bunkus * mkvmerge: The SSA/ASS reader ignored the --sub-charset option and always used the current charset to recode the subtitles. 2003-07-14 Moritz Bunkus * mkvmerge: Added support for attaching files to the output file(s). * mkvinfo: Support for the elements dealing with attachments (KaxAttachments, KaxAttached, KaxFileDescription, KaxFileName, KaxMimeType, KaxFileData). 2003-07-13 Moritz Bunkus * mkvmerge: Changed the RealVideo packaging method: Subpackets are assembled into complete packets so the demuxer does not have to do that anymore. * mkvmerge: DisplayWidth and DisplayHeight, which form the display aspect ratio, are now always written to ease changing them later without having to completely remux the file. 2003-07-08 Moritz Bunkus * mkvmerge: Fixed some infinite-reading-from-a-file bug that occured on Windows when reading SSA/ASS files. * mkvmerge: Fixed a bug which would mostly appear with subtitles that have very long ( > 60s) gaps between entries. Here the cluster would not been rendered properly leaving mkvmerge either comatose ( = endless loop) or just plain dead ( = crashing). 2003-07-07 Moritz Bunkus * mkvinfo: Added support for the rest of the tags: KaxTagMultiComment, KaxTagMultiCommentName, KaxTagMultiCommentComments and KaxTagMultiCommentLanguage. Almost all tags have been successfully tested. 2003-07-06 Moritz Bunkus * Added a RealMedia demuxer that can handle both RealVideo and RealAudio (all codecs). 2003-07-02 Moritz Bunkus * mkvinfo: Added support for allmost all tags (totally untested): KaxTag KaxTagArchivalLocation KaxTagAudioEncryption KaxTagAudioGain KaxTagAudioGenre KaxTagAudioPeak KaxTagAudioSpecific KaxTagBibliography KaxTagBPM KaxTagCaptureDPI KaxTagCaptureLightness KaxTagCapturePaletteSetting KaxTagCaptureSharpness KaxTagChapterUID KaxTagCommercial KaxTagCropped KaxTagDate KaxTagDiscTrack KaxTagEncoder KaxTagEncodeSettings KaxTagEntity KaxTagEqualisation KaxTagFile KaxTagGeneral KaxTagGenres KaxTagIdentifier KaxTagImageSpecific KaxTagInitialKey KaxTagKeywords KaxTagLanguage KaxTagLegal KaxTagMood KaxTagMultiCommercial KaxTagMultiCommercialAddress KaxTagMultiCommercialEmail KaxTagMultiCommercialType KaxTagMultiCommercialURL KaxTagMultiDate KaxTagMultiDateDateBegin KaxTagMultiDateDateEnd KaxTagMultiDateType KaxTagMultiEntity KaxTagMultiEntityAddress KaxTagMultiEntityEmail KaxTagMultiEntityName KaxTagMultiEntityType KaxTagMultiEntityURL KaxTagMultiIdentifier KaxTagMultiIdentifierBinary KaxTagMultiIdentifierString KaxTagMultiIdentifierType KaxTagMultiLegal KaxTagMultiLegalAddress KaxTagMultiLegalType KaxTagMultiLegalURL KaxTagMultiPrice KaxTagMultiPriceAmount KaxTagMultiPriceCurrency KaxTagMultiPricePriceDate KaxTagMultiTitle KaxTagMultiTitleAddress KaxTagMultiTitleEdition KaxTagMultiTitleEmail KaxTagMultiTitleLanguage KaxTagMultiTitleName KaxTagMultiTitleSubTitle KaxTagMultiTitleType KaxTagMultiTitleURL KaxTagOfficialAudioFileURL KaxTagOfficialAudioSourceURL KaxTagOriginalDimensions KaxTagOriginalMediaType KaxTagPlayCounter KaxTagPopularimeter KaxTagProduct KaxTagRating KaxTagRecordLocation KaxTags KaxTagSetPart KaxTagSource KaxTagSourceForm KaxTagSubGenre KaxTagSubject KaxTagTargets KaxTagTitle KaxTagTrackUID KaxTagVideoGenre 2003-06-29 Moritz Bunkus * mkvmerge: Support for handling native video tracks (e.g. B frames) when reading Matroska files. * mkvmerge: Implemented time slice durations , default block duration and block durations for slices where necessary. 2003-06-24 Moritz Bunkus * mkvinfo: Support for KaxSegmentFilename, KaxTitle, KaxSlices, KaxTimeSlice, KaxSliceLaceNumber, KaxSliceFrameNumber, KaxSliceDelay and KaxSliceDuration. 2003-06-22 Moritz Bunkus * Released v0.5.0. * Added 'ReferencePriority' element to the known elements for mkvinfo. * Removed "(mkvinfo) " from mkvinfo's output in order to improve readability and save space. * --sub-charset now also needs a track ID. * Modified the verbosity levels for mkvinfo: The seek head subentries and cue subentries will only be shown at level 2 to make the output easier to read. * The language and default track settings are now kept again if not overridden when reading from Matroska files. 2003-06-21 Moritz Bunkus * Added mkvextract which can extract tracks from a Matroska file into other files. 2003-06-20 Moritz Bunkus * Switched from cygwin to MinGW32 for the Windows binaries. * Fixed a double free() on cleanup (after writing the cues) which resulted in a segfault sometimes. * Added a SSA/ASS reader. 2003-06-19 Moritz Bunkus * Support for reading text subtitles from Matroska files. * Made the AAC reader automatically recognize if a MPEG4 AAC file contains the emphasis header (deprecated) or not (current standard). 2003-06-15 Moritz Bunkus * Released v0.4.4. * Several options now need an explicity track ID to specify which tracks of an input file the option should be applied to. These options include --atracks, --vtracks, --stracks, --sync, --default-track, --cues and --language. * The Matroska reader now handles track selection correctly. 2003-06-13 Moritz Bunkus * Added an option for identifying input files and their track types. 2003-06-12 Moritz Bunkus * Released v0.4.3. 2003-06-11 Moritz Bunkus * Support for proper linking of segments via the segment UIDs. The first and last files created can be manually linked to given UIDs. 2003-06-08 Moritz Bunkus * Added support for splitting output files by size or by time and limiting the number of output files. * Added support for the segment UID/next segment UID/previous segment UID. 2003-06-06 Moritz Bunkus * A lot of changes to comply with libmatroska/libebml 0.4.4. 2003-06-03 Moritz Bunkus * Implemented stricter content based file type identification for MP3 and AC3 files so that those won't be mis-identified. 2003-05-31 Moritz Bunkus * Some improvements to the mkvinfo GUI (thanks to jcsston for the patch/the ideas). 2003-05-29 Moritz Bunkus * Released v0.4.2. * Support for some more tags in both mkvmerge and mkvinfo. * Fixed a segfault in the Matroska reader. * Removed the '--sub-type' switch as all text subtitles will be stored in UTF-8 format. Made iconv mandatory in the configure checks for this very reason. * Added a GUI to mkvinfo. 2003-05-23 Moritz Bunkus * Released v0.4.1. * A lot of changes regarding file I/O. Files bigger than 2GB should now be handled correctly on both Linux and Windows. 2003-05-22 Moritz Bunkus * Added checks for MP4/Quicktime files which will abort mkvmerge. * Support for reading AAC tracks from Matroska files. * Released v0.4.0. 2003-05-21 Moritz Bunkus * Some internal changes and enhancements. Code requires libebml and libmatroska 0.4.3 now. 2003-05-19 Moritz Bunkus * ADTS headers are stripped from the AAC streams. This is what I'd call 'proper AAC support'. 2003-05-18 Moritz Bunkus * Better support for DTS streams in general and for DTS-in-WAV in particular (patch by Peter Niemayer ). 2003-05-17 Moritz Bunkus * Renamed '--no-utf8-subs' to '--sub-type utf8'. Polished the man page regarding subtitle handling. * Fixed a bug with mono MP3 files. * Added support for AAC files (only those with ADTS headers at the moment). 2003-05-15 Moritz Bunkus * Released v0.3.3. * If an error occurs while writing to the destination file the error is reported and mkvmerge aborts with a non-zero exit code. * The OGM reader reported I frames as P frames and vice versa round making seeking not really nice ;) 2003-05-11 Moritz Bunkus * Fixed a bug with the AC3 timecode calculation (patch by Peter Niemayer ). * Support for reading DTS files & putting them into Matroska (main patch by Peter Niemayer , a few things by me). * Released v0.3.2. * Fixed the huge memory need if reading from AVI files (introduced on 2003-05-06 with the internal changes). * Proper handling of the 'default track' flag and the language for the Matroska reader. * Proper handling of the 'default track' flag for all the packetizers. 2003-05-09 Moritz Bunkus * Made mkvtoolnix compile under cygwin. 2003-05-06 Moritz Bunkus * Added support for aspect ratio. * Subtitle charsets can be specified with --sub-charset and do not rely on the current locale anymore. * For the last packet of each track its duration is now stored. * A lot of internal changes - I hope nothing has broken... (See ChangeLog.cvs for details.) * The matroska reader calculated wrong header lengths for Vorbis tracks. 2003-05-04 Moritz Bunkus * mkvinfo reports the FourCC for video tracks with a CodecID of V_MS/VFW/FOURCC and the format tag for audio tracks with a CodecID of A_MS/ACM. 2003-05-03 Moritz Bunkus * Released v0.3.1. * Tracks read from a Matroska file will keep their UID if it hasn't been used yet. * Support for reading text subtitle streams from OGM files. * Added support for EbmlVoid everywhere to mkvinfo. 2003-05-02 Moritz Bunkus * Support for KaxTrackLanguage and ISO639 languages. 2003-04-30 Moritz Bunkus * First public release.