diff options
author | eddyg <[email protected]> | 2009-05-06 04:16:40 +0000 |
---|---|---|
committer | eddyg <[email protected]> | 2009-05-06 04:16:40 +0000 |
commit | f79870292926127a3be70c072eca37f653957fc5 (patch) | |
tree | a3b7e466a846b1946b3c8fc0989e81b8f8939cba /libhb/work.c | |
parent | 6add7d899f49abbe2b6cc0702296941e948f5ef5 (diff) |
VOBSUB encoder skeleton for use with mkv VOBSUB pass-through
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2389 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/work.c')
-rw-r--r-- | libhb/work.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/libhb/work.c b/libhb/work.c index 0f7c13154..323f4cf4a 100644 --- a/libhb/work.c +++ b/libhb/work.c @@ -488,9 +488,10 @@ static void do_job( hb_job_t * job, int cpu_count ) if( subtitle ) { - subtitle->fifo_in = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); - subtitle->fifo_raw = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); - subtitle->fifo_out = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); + subtitle->fifo_in = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); + subtitle->fifo_raw = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); + subtitle->fifo_sync = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); + subtitle->fifo_out = hb_fifo_init( FIFO_CPU_MULT * cpu_count ); /* * Disable forced subtitles if we didn't find any in the scan @@ -517,6 +518,20 @@ static void do_job( hb_job_t * job, int cpu_count ) w->fifo_out = subtitle->fifo_raw; hb_list_add( job->list_work, w ); } + + if( !job->indepth_scan && + subtitle->format == PICTURESUB + && subtitle->dest == PASSTHRUSUB ) + { + /* + * Passing through a subtitle picture, this will have to + * be rle encoded before muxing. + */ + w = hb_get_work( WORK_ENCSUB ); + w->fifo_in = subtitle->fifo_sync; + w->fifo_out = subtitle->fifo_out; + hb_list_add( job->list_work, w ); + } } } @@ -861,6 +876,7 @@ cleanup: { hb_fifo_close( &subtitle->fifo_in ); hb_fifo_close( &subtitle->fifo_raw ); + hb_fifo_close( &subtitle->fifo_sync ); hb_fifo_close( &subtitle->fifo_out ); } } |