mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
Support for S_TEXT/UTF8 subtitles (which are also the default now). Reordered the help output and the mkvmerge man page a bit.
This commit is contained in:
parent
2b2cf6f9ed
commit
70f007c39f
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\file
|
\file
|
||||||
\version \$Id: matroska.h,v 1.6 2003/04/23 08:16:39 mosu Exp $
|
\version \$Id: matroska.h,v 1.7 2003/04/24 20:36:45 mosu Exp $
|
||||||
\brief Definitions for the various Codec IDs
|
\brief Definitions for the various Codec IDs
|
||||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||||
*/
|
*/
|
||||||
@ -32,5 +32,6 @@
|
|||||||
#define MKV_V_MSCOMP "V_MS/VFW/FOURCC"
|
#define MKV_V_MSCOMP "V_MS/VFW/FOURCC"
|
||||||
|
|
||||||
#define MKV_S_TEXTASCII "S_TEXT/ASCII"
|
#define MKV_S_TEXTASCII "S_TEXT/ASCII"
|
||||||
|
#define MKV_S_TEXTUTF8 "S_TEXT/UTF8"
|
||||||
|
|
||||||
#endif // __MATROSKA_H
|
#endif // __MATROSKA_H
|
||||||
|
17
mkvmerge.1
17
mkvmerge.1
@ -73,9 +73,6 @@ linear drifts. \fIp\fR defaults to 1000 if omitted. Both \fIo\fR and
|
|||||||
Defaults: no manual synch correction (which is the same as \fId\fR = 0 and
|
Defaults: no manual synch correction (which is the same as \fId\fR = 0 and
|
||||||
\fIo\fR/\fIp\fR = 1.0).
|
\fIo\fR/\fIp\fR = 1.0).
|
||||||
.TP
|
.TP
|
||||||
\fB\-f\fR, \fB\-\-fourcc\fR <\fIFourCC\fR>
|
|
||||||
Forces the FourCC to the specified value. Works only for video tracks.
|
|
||||||
.TP
|
|
||||||
\fB\-\-cues\fR <\fInone\fR|\fIiframes\fR|\fIall\fR>
|
\fB\-\-cues\fR <\fInone\fR|\fIiframes\fR|\fIall\fR>
|
||||||
Controls for which tracks cue (index) entries are created. \fInone\fR inhibits
|
Controls for which tracks cue (index) entries are created. \fInone\fR inhibits
|
||||||
the creation of cue entries for all tracks contained in the following
|
the creation of cue entries for all tracks contained in the following
|
||||||
@ -94,6 +91,20 @@ not explicitly select a track himself then the player should prefer the
|
|||||||
track that has his 'default' flag set. Only one track of each kind (audio,
|
track that has his 'default' flag set. Only one track of each kind (audio,
|
||||||
video, subttiles) can have his 'default' flag set.
|
video, subttiles) can have his 'default' flag set.
|
||||||
.LP
|
.LP
|
||||||
|
Options that only apply to video tracks:
|
||||||
|
.TP
|
||||||
|
\fB\-f\fR, \fB\-\-fourcc\fR <\fIFourCC\fR>
|
||||||
|
Forces the FourCC to the specified value. Works only for video tracks.
|
||||||
|
.LP
|
||||||
|
Options that only apply to text subtitle tracks:
|
||||||
|
.TP
|
||||||
|
\fB\-\-no\-utf8\-subs\fR
|
||||||
|
With this option text subtitles will not be recoded, and the track's
|
||||||
|
CodecId will be set to S_TEXT/ASCII. Without this option the text subtitles
|
||||||
|
will be converted to UTF\-8, and the track's CodecId will be set to
|
||||||
|
S_TEXT/UTF8. \fBmkvmerge\fR uses the value of \fILC_CTYPE\fR as the source
|
||||||
|
charset or ISO\-8859\-15 if \fILC_CTYPE\fR is not set.
|
||||||
|
.LP
|
||||||
Other options:
|
Other options:
|
||||||
.TP
|
.TP
|
||||||
\fB\-l\fR, \fB\-\-list\-types\fR
|
\fB\-l\fR, \fB\-\-list\-types\fR
|
||||||
|
18
mkvmerge.cpp
18
mkvmerge.cpp
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\file
|
\file
|
||||||
\version \$Id: mkvmerge.cpp,v 1.44 2003/04/23 14:38:53 mosu Exp $
|
\version \$Id: mkvmerge.cpp,v 1.45 2003/04/24 20:36:45 mosu Exp $
|
||||||
\brief command line parameter parsing, looping, output handling
|
\brief command line parameter parsing, looping, output handling
|
||||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||||
*/
|
*/
|
||||||
@ -30,6 +30,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
#ifdef LIBEBML_GCC2
|
#ifdef LIBEBML_GCC2
|
||||||
#include <typeinfo>
|
#include <typeinfo>
|
||||||
@ -51,6 +52,7 @@
|
|||||||
#include "KaxCues.h"
|
#include "KaxCues.h"
|
||||||
#include "KaxInfo.h"
|
#include "KaxInfo.h"
|
||||||
#include "KaxInfoData.h"
|
#include "KaxInfoData.h"
|
||||||
|
#include "KaxVersion.h"
|
||||||
|
|
||||||
#include "mkvmerge.h"
|
#include "mkvmerge.h"
|
||||||
#include "cluster_helper.h"
|
#include "cluster_helper.h"
|
||||||
@ -71,6 +73,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
using namespace LIBMATROSKA_NAMESPACE;
|
using namespace LIBMATROSKA_NAMESPACE;
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *ext;
|
char *ext;
|
||||||
@ -170,13 +173,16 @@ static void usage(void) {
|
|||||||
" linear drifts. p defaults to 1000 if\n"
|
" linear drifts. p defaults to 1000 if\n"
|
||||||
" omitted. Both o and p can be floating point\n"
|
" omitted. Both o and p can be floating point\n"
|
||||||
" numbers.\n"
|
" numbers.\n"
|
||||||
" -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n"
|
|
||||||
" Works only for video tracks.\n"
|
|
||||||
" --default-track Sets the 'default' flag for this track.\n"
|
" --default-track Sets the 'default' flag for this track.\n"
|
||||||
" --cues <none|iframes| Create cue (index) entries for this track:\n"
|
" --cues <none|iframes| Create cue (index) entries for this track:\n"
|
||||||
" all> None at all, only for I frames, for all.\n"
|
" all> None at all, only for I frames, for all.\n"
|
||||||
"\n"
|
"\n Options that only apply to video tracks:\n"
|
||||||
" Other options:\n"
|
" -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n"
|
||||||
|
" Works only for video tracks.\n"
|
||||||
|
"\n Options that only apply to text subtitle tracks:\n"
|
||||||
|
" --no-utf8-subs Outputs text subtitles unmodified and do not\n"
|
||||||
|
" convert the text to UTF-8.\n"
|
||||||
|
"\n\n Other options:\n"
|
||||||
" -l, --list-types Lists supported input file types.\n"
|
" -l, --list-types Lists supported input file types.\n"
|
||||||
" -h, --help Show this help.\n"
|
" -h, --help Show this help.\n"
|
||||||
" -V, --version Show version information.\n"
|
" -V, --version Show version information.\n"
|
||||||
@ -597,6 +603,8 @@ static void parse_args(int argc, char **argv) {
|
|||||||
i++;
|
i++;
|
||||||
} else if (!strcmp(argv[i], "--default-track"))
|
} else if (!strcmp(argv[i], "--default-track"))
|
||||||
ti.default_track = 1;
|
ti.default_track = 1;
|
||||||
|
else if (!strcmp(argv[i], "--no-utf8-subs"))
|
||||||
|
ti.no_utf8_subs = 1;
|
||||||
|
|
||||||
// The argument is an input file.
|
// The argument is an input file.
|
||||||
else {
|
else {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\file
|
\file
|
||||||
\version \$Id: p_textsubs.cpp,v 1.8 2003/04/21 08:29:50 mosu Exp $
|
\version \$Id: p_textsubs.cpp,v 1.9 2003/04/24 20:36:45 mosu Exp $
|
||||||
\brief Subripper subtitle reader
|
\brief Subripper subtitle reader
|
||||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||||
*/
|
*/
|
||||||
@ -46,7 +46,10 @@ void textsubs_packetizer_c::set_header() {
|
|||||||
|
|
||||||
set_serial(-1);
|
set_serial(-1);
|
||||||
set_track_type(track_subtitle);
|
set_track_type(track_subtitle);
|
||||||
|
if (ti->no_utf8_subs)
|
||||||
set_codec_id(MKV_S_TEXTASCII);
|
set_codec_id(MKV_S_TEXTASCII);
|
||||||
|
else
|
||||||
|
set_codec_id(MKV_S_TEXTUTF8);
|
||||||
|
|
||||||
if (ti->default_track)
|
if (ti->default_track)
|
||||||
set_as_default_track('s');
|
set_as_default_track('s');
|
||||||
@ -117,6 +120,12 @@ int textsubs_packetizer_c::process(unsigned char *_subs, int, int64_t start,
|
|||||||
}
|
}
|
||||||
*idx2 = 0;
|
*idx2 = 0;
|
||||||
|
|
||||||
|
if (!ti->no_utf8_subs) {
|
||||||
|
char *utf8_subs = to_utf8(subs);
|
||||||
|
add_packet((unsigned char *)utf8_subs, strlen(utf8_subs), start, -1, -1,
|
||||||
|
length);
|
||||||
|
free(utf8_subs);
|
||||||
|
} else
|
||||||
add_packet((unsigned char *)subs, strlen(subs), start, -1, -1, length);
|
add_packet((unsigned char *)subs, strlen(subs), start, -1, -1, length);
|
||||||
|
|
||||||
free(subs);
|
free(subs);
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\file
|
\file
|
||||||
\version \$Id: pr_generic.h,v 1.26 2003/04/21 08:29:50 mosu Exp $
|
\version \$Id: pr_generic.h,v 1.27 2003/04/24 20:36:45 mosu Exp $
|
||||||
\brief class definition for the generic reader and packetizer
|
\brief class definition for the generic reader and packetizer
|
||||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||||
*/
|
*/
|
||||||
@ -49,6 +49,7 @@ typedef struct {
|
|||||||
// Options used by the packetizers.
|
// Options used by the packetizers.
|
||||||
unsigned char *private_data;
|
unsigned char *private_data;
|
||||||
int private_size;
|
int private_size;
|
||||||
|
int no_utf8_subs;
|
||||||
|
|
||||||
char fourcc[5];
|
char fourcc[5];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user