diff options
author | jstebbins <[email protected]> | 2012-04-26 19:11:03 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2012-04-26 19:11:03 +0000 |
commit | 143f723b12881a8ab3732386785a00840bb2c934 (patch) | |
tree | c1bfd505f424c241a34ed5f90e474efac637c4fc /libhb/muxmkv.c | |
parent | 3f9828657ded40e2eabfef8f01fa2182a4eccd36 (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.c | 28 |
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; |