summaryrefslogtreecommitdiffstats
path: root/libhb/muxmkv.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2012-04-26 19:11:03 +0000
committerjstebbins <[email protected]>2012-04-26 19:11:03 +0000
commit143f723b12881a8ab3732386785a00840bb2c934 (patch)
treec1bfd505f424c241a34ed5f90e474efac637c4fc /libhb/muxmkv.c
parent3f9828657ded40e2eabfef8f01fa2182a4eccd36 (diff)
PGS (bluray) subtitle support \o/
Thanks to patches supplied by David Mitchell and Rob McMullen we finally have PGS support. I added a fix for libav pgs timestamp processing and detection of forced subtitles to their work, then made foreign audio search work with PGS subs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4605 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/muxmkv.c')
-rw-r--r--libhb/muxmkv.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/libhb/muxmkv.c b/libhb/muxmkv.c
index 1bed15c49..1140bc5b0 100644
--- a/libhb/muxmkv.c
+++ b/libhb/muxmkv.c
@@ -322,9 +322,9 @@ static int MKVInit( hb_mux_object_t * m )
continue;
memset(track, 0, sizeof(mk_TrackConfig));
- switch (subtitle->format)
+ switch (subtitle->source)
{
- case PICTURESUB:
+ case VOBSUB:
track->codecID = MK_SUBTITLE_VOBSUB;
for (j = 0; j < 16; j++)
rgb[j] = hb_yuv2rgb(subtitle->palette[j]);
@@ -338,16 +338,20 @@ static int MKVInit( hb_mux_object_t * m )
track->codecPrivate = subidx;
track->codecPrivateSize = len + 1;
break;
- case TEXTSUB:
- if (subtitle->source == SSASUB)
- {
- track->codecID = MK_SUBTITLE_SSA;
- need_fonts = 1;
- track->codecPrivate = subtitle->extradata;
- track->codecPrivateSize = subtitle->extradata_size;
- }
- else
- track->codecID = MK_SUBTITLE_UTF8;
+ case PGSSUB:
+ track->codecID = "S_HDMV/PGS";
+ break;
+ case SSASUB:
+ track->codecID = MK_SUBTITLE_SSA;
+ need_fonts = 1;
+ track->codecPrivate = subtitle->extradata;
+ track->codecPrivateSize = subtitle->extradata_size;
+ break;
+ case CC608SUB:
+ case CC708SUB:
+ case UTF8SUB:
+ case TX3GSUB:
+ track->codecID = MK_SUBTITLE_UTF8;
break;
default:
continue;