summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
diff options
context:
space:
mode:
authorjbrjake <[email protected]>2007-11-10 01:51:36 +0000
committerjbrjake <[email protected]>2007-11-10 01:51:36 +0000
commitd95e8d52105a29a03750232c47949b37dc3075dc (patch)
tree94e4f7b25d65b692259241c7049dede3c9568ab7 /libhb/work.c
parent5e6725417750adb69ccbca26d1c7cbdbfd4fd142 (diff)
First attempt at variable frame rate detelecining for NTSC video sources.
This check-in includes the library code as well as the CLI implementation. Only works with MP4 and MKV, untested with high profile, results may vary with mixed content, consult a physician if condition persists for longer than four hours. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1051 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 22e081532..fdeace025 100644
--- a/libhb/work.c
+++ b/libhb/work.c
@@ -160,6 +160,27 @@ static void do_job( hb_job_t * job, int cpu_count )
job->crop[0], job->crop[1], job->crop[2], job->crop[3] );
hb_log( " + grayscale %s", job->grayscale ? "on" : "off" );
+ if ( job->vfr )
+ {
+ job->vrate_base = 900900;
+
+ int detelecine_present = 0;
+ if ( job->filters )
+ {
+ for( i = 0; i < hb_list_count( job->filters ); i++ )
+ {
+ hb_filter_object_t * filter = hb_list_item( job->filters, i );
+ if (filter->id == FILTER_DETELECINE)
+ detelecine_present = 1;
+ }
+ }
+
+ if (!detelecine_present)
+ hb_list_add( job->filters, &hb_filter_detelecine );
+
+ hb_log("work: VFR mode -- Switching FPS to 29.97 and detelecining.");
+ }
+
if( job->filters )
{
hb_log(" + filters");