diff options
author | jbrjake <[email protected]> | 2007-11-10 01:51:36 +0000 |
---|---|---|
committer | jbrjake <[email protected]> | 2007-11-10 01:51:36 +0000 |
commit | d95e8d52105a29a03750232c47949b37dc3075dc (patch) | |
tree | 94e4f7b25d65b692259241c7049dede3c9568ab7 /libhb/work.c | |
parent | 5e6725417750adb69ccbca26d1c7cbdbfd4fd142 (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.c | 21 |
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"); |