Commit Graph

34 Commits

Author SHA1 Message Date
Moritz Bunkus
ded03f67a9 Updated the Chinese Traditional translation. 2009-06-02 23:20:58 +02:00
Moritz Bunkus
93b06f3a0e Added a translation to Chinese Traditional by Dean Lee (see AUTHORS). 2009-05-17 14:20:42 +02:00
Moritz Bunkus
ba82e6bf3e Added the new hack vobsub_subpic_stop_cmds to mmg including a description. 2009-05-16 16:21:05 +02:00
Moritz Bunkus
2b1b065840 Try to detect invalid padding packet lengths in MPEG program streams.
Patch by Todd Schmuland (see AUTHORS).

His explanation:

I was muxing a DVD and mkvmerge complained about losing sync while
parsing the vob.  I checked to see what was happening and discovered
the length of a 00 00 01 BE padding packet was way too long.  This
resulted in several packets being skipped over and therefore caused a
gap in the resulting mkv.  I've seen this before where the packet
length specified in a 00 00 01 BE padding packet is incorrect.

I've made adjustments to the r_mpeg_ps.cpp code to detect when 00 00
01 BE padding packets have the wrong length specified.  Padding
packets should always fill the gap to the next 2048 (800 hex) page in
the file.  Now the code will detect lengths that are way too long, or
lengths that are just under or just over what they should be, and
correct it.

I also changed it so that with one -v switch, you won't get 100s of
mpeg_ps: parse_packet failed messages anymore.  Adjusted padding
packet lengths will be indicated with one -v switch, but now good 00
00 01 BE padding stream packets and 00 00 01 BF private 2 stream
packets won't be output as failing anymore.

I was finally able to get a good mkv mux of the DVD with the attached
r_mpeg_ps.cpp file.

I just did another DVD and it had a similar bad padding stream packet.
Packet length in vob was 44036 but should only be 1918.  The new
r_mpeg_ps detected and corrected it, whereas the old code would have
skipped (44036-1918)/2048 = ~21 good packets of video/audio.
2009-05-14 09:20:39 +02:00
Moritz Bunkus
8c7d0a737b The VobSub extraction was made more compatible with most applications.
Fix for bug 245. Patch by Todd Schmuland (see AUTHORS).

Explanation from Todd:

I tried using mkvextract to get VobSub tracks out of a mkv to make sure I
muxed in the correct subtitle stream.  What I noticed is that programs like
Subtitle Creator and VobSubStrip would error out on one particular sub file.
 After looking into it, the issue is in how mkvextract handles padding
lengths of 1 to 7.

There are two methods, the one mkvextract currently uses is to use the 00 00
01 BA packet where the 3 least significant bits of the last header byte
indicate how many padding FF bytes follow. There's nothing wrong with this,
however, many programs don't decode this properly and error out since they
are expecting the next bytes to be 00 00 01.

The other method is to pad the 00 00 01 BD packet header with FF bytes and
simply increase the header length byte to include the pad count.  For
example where padding = 5:
method 1
00 00 01 BA 44 32 4C 46 44 01 01 89 C3 FD FF FF FF FF FF
00 00 01 BD 07 E7 81 80 05 21 0C 93 11 91 <payload>

becomes

method 2
00 00 01 BA 44 32 4C 46 44 01 01 89 C3 F8
00 00 01 BD 07 EC 81 80 0A 21 0C 93 11 91 FF FF FF FF FF <payload>

Notice the 00 00 01 BD total packet length increased from 07E7 to 07EC and
the packet header length increased from 05 to 0A.  The benefit of this is
that the 00 00 01 BD header length includes the pad length with no
additional work by a program's decoder, so the SUB file is always properly
parsed while decoding.  In fact the DVD this particular VobSub came from
used method 2.
2009-05-13 20:02:19 +02:00
Moritz Bunkus
51308541ce Fixed wrong UTF8 char in name. 2009-05-13 19:59:28 +02:00
Moritz Bunkus
8b5ae95040 Exchanged the order of the family and first name. 2009-05-08 08:06:27 +02:00
Moritz Bunkus
96208ca62b Added a translation to Chinese (simplified) by Dean Lee. 2009-05-07 10:46:30 +02:00
Moritz Bunkus
ac2db254ab Added a Japanese translation by Hiroki Taniura. 2009-03-18 20:20:55 +01:00
Moritz Bunkus
7373881957 Updates 2008-12-04 20:02:20 +00:00
Moritz Bunkus
31e3bd4d7f Recoded from ISO-8859-15 to UTF-8. 2008-10-14 13:12:54 +00:00
Moritz Bunkus
9fa04c501f Added support for PCM tracks with floating point numbers (CodecID A_PCM/FLOAT/IEEE). Patch by Aurelien Jacobs (see AUTHORS). 2008-08-23 12:02:10 +00:00
Moritz Bunkus
04f35dc84a Added support for Ogg Kate subtitles. Patch by ogg.k.ogg.k@googlemail.com. 2008-08-21 10:12:31 +00:00
Moritz Bunkus
aabcccffd5 The BZIP2 API usage was wrong. Patch by Aurelien Jacobs. 2008-05-16 12:06:21 +00:00
Moritz Bunkus
da6bedc367 Fixed wrong timecodes for MP4 files that contain video tracks with B frames and edit lists. Fix for bug 277. Patch by Damiano Galassi (see AUTHORS). 2008-04-16 15:39:29 +00:00
Moritz Bunkus
1151078f02 Added support for reading MP2 audio tracks from OGM files. Patch by Mihail Zenkov <mihail.zenkov@gmail.com>. 2007-08-16 16:30:05 +00:00
Moritz Bunkus
a42d6e05ab Added support for RealAudio v3 in RealMedia files. Patch by Aurelian Jacobs. Fix for bug 246. 2007-06-19 20:15:26 +00:00
Moritz Bunkus
32475ced6a Updates 2006-10-26 07:27:16 +00:00
Moritz Bunkus
3e89d7cc44 PCM audio data with 4 bits per Sample caused mkvmerge to allocate all available memory. Patch by Robert Millan (rmh 4t aybabtu d0t com). 2006-06-16 08:51:49 +00:00
Moritz Bunkus
98edcb10ce Added support for MIME type detection via libmagic (patch by Robert Millan with heavy modifications by myself). See also Anthill bug #194. 2006-04-28 11:33:27 +00:00
Moritz Bunkus
9dcc02051f Added support for CorePicture XML files. Patch by Steve Lhomme (see AUTHORS). 2006-01-30 14:01:04 +00:00
Moritz Bunkus
154c611480 Added support for linking against liblzo2. Patch by Diego Pettenò (see AUTHORS). 2005-12-02 21:39:26 +00:00
Moritz Bunkus
5c9cde6245 Missing directory in output file names are created. mkvextract can use the attachment name stored in Matroska files if the user does not provide one. Patch by Sergey Hakobyan (see AUTHORS) and myself. 2005-12-01 20:43:55 +00:00
Moritz Bunkus
181e409c9b Added support for the new SimpleBlock instead of BlockGroups. Patch by Steve Lhomme (steve ! lhomme () free ! fr) with fixes by myself. 2005-10-21 11:11:57 +00:00
Moritz Bunkus
801e2b9ef5 Added support for extracting h.264 / AVC tracks into proper h.264 ES streams. Patch by Matt Rice <topquark () sluggy ! net>. 2005-08-02 08:20:01 +00:00
Moritz Bunkus
dd3abddd7b Moved the reversal of content encodings from the Matroska reader into a new class called "content_decoder_c". Moved a lot of track entry accessibility functions from xtr_base.cpp into commonebml.cpp. Implemented VobSub extraction based on Mike Matsnev's code. This should make all those suckers happy! (Don't feel offended ;)) 2005-02-11 20:38:00 +00:00
Moritz Bunkus
af3eee55e5 Use posix_fadvise if it is present. With newer libc and kernel 2.6.x this results in a speed up for the whole muxing process. Patch by Peter Niemayer (niemayer () isg ! de) with modifications by myself. 2005-02-02 09:16:52 +00:00
Moritz Bunkus
09346028de Changed the copyright for the Windows implementation of vsscanf: Steve Matsnev did it. Also: Check the Windows version instead of relying on CreateFileW not being present. It IS present on 98 but not working correctly. 2005-01-01 22:35:06 +00:00
Moritz Bunkus
8646040ff1 Added the CreateFileUtf8() function written by Steve Matsnev (frontent for CreateFileW() / CreateFileA()). 2005-01-01 19:51:20 +00:00
Moritz Bunkus
8505f6e401 Added WAVPACK4 muxing. Patch by Steve Lhomme (see AUTHORS). 2004-12-18 17:10:54 +00:00
Moritz Bunkus
0d26538d55 Initial support for VobButtons. Patch by Steve Lhomme (see AUTHORS). 2004-12-17 16:29:10 +00:00
Moritz Bunkus
1900eaa3ba Added spyder to the author list. 2004-11-10 21:55:47 +00:00
Moritz Bunkus
a1fe4d67d9 Merged 2450 2004-11-10 21:54:42 +00:00
Moritz Bunkus
97e353e322 Directory reorganization 2003-07-09 18:53:25 +00:00