summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
diff options
context:
space:
mode:
authoreddyg <[email protected]>2009-05-06 04:16:40 +0000
committereddyg <[email protected]>2009-05-06 04:16:40 +0000
commitf79870292926127a3be70c072eca37f653957fc5 (patch)
treea3b7e466a846b1946b3c8fc0989e81b8f8939cba /libhb/work.c
parent6add7d899f49abbe2b6cc0702296941e948f5ef5 (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.c22
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 );
}
}