summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
diff options
context:
space:
mode:
authordynaflash <[email protected]>2010-05-04 16:56:43 +0000
committerdynaflash <[email protected]>2010-05-04 16:56:43 +0000
commit15aa5c37af71153316adcd7d56dbe7d12ad895c2 (patch)
tree87a38102ec17ffbc9af3329a5641417c5c379474 /libhb/work.c
parent5a0738fc0c12c7ce73346b8e7c06d67a28fdcbfa (diff)
Universal Text Subtitle Support Initial Implementation
- Patch by davidfstr ... Thanks! - Adds support for reading TEXT subtitle tracks from file inputs - Tested combinations: -- MKV UTF-8 -> MKV UTF-8 (passthru) -- MKV UTF-8 -> MP4 TX3G (upconvert) -- MP4 TX3G -> MKV UTF-8 (downconvert) -- MP4 TX3G -> MP4 TX3G (downconvert to UTF-8 then upconvert) - Further explained here http://forum.handbrake.fr/viewtopic.php?f=4&t=16099 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3283 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/work.c')
-rw-r--r--libhb/work.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/libhb/work.c b/libhb/work.c
index d2c8ac66b..838e50702 100644
--- a/libhb/work.c
+++ b/libhb/work.c
@@ -308,6 +308,8 @@ void hb_display_job_info( hb_job_t * job )
hb_log( " * subtitle track %i, %s (id %x) %s [%s] -> %s ", subtitle->track, subtitle->lang, subtitle->id,
subtitle->format == PICTURESUB ? "Picture" : "Text",
subtitle->source == VOBSUB ? "VOBSUB" :
+ subtitle->source == UTF8SUB ? "UTF-8" :
+ subtitle->source == TX3GSUB ? "TX3G" :
((subtitle->source == CC608SUB ||
subtitle->source == CC708SUB) ? "CC" : "SRT"),
subtitle->config.dest == RENDERSUB ? "Render/Burn in" : "Pass-Through");
@@ -795,6 +797,25 @@ static void do_job( hb_job_t * job, int cpu_count )
w->subtitle = subtitle;
hb_list_add( job->list_work, w );
}
+
+ if( !job->indepth_scan && subtitle->source == UTF8SUB )
+ {
+ w = hb_get_work( WORK_DECUTF8SUB );
+ w->fifo_in = subtitle->fifo_in;
+ w->fifo_out = subtitle->fifo_raw;
+ hb_list_add( job->list_work, w );
+ }
+
+ if( !job->indepth_scan && subtitle->source == TX3GSUB )
+ {
+ // TODO(davidfstr): For MP4 containers, an alternate work-object
+ // should be used that just passes the packets through,
+ // instead of downconverting to UTF-8 subtitles.
+ w = hb_get_work( WORK_DECTX3GSUB );
+ w->fifo_in = subtitle->fifo_in;
+ w->fifo_out = subtitle->fifo_raw;
+ hb_list_add( job->list_work, w );
+ }
if( !job->indepth_scan &&
subtitle->format == PICTURESUB