diff options
author | jstebbins <[email protected]> | 2015-01-11 18:01:51 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2015-01-11 18:01:51 +0000 |
commit | 095576f3fbb5c96c9ef58fe45af9390bf718e1dd (patch) | |
tree | 674ca34e1f56613f6aac155762380a09dd960764 /libhb | |
parent | 3ee86df5c561ff1f0155b496b1236a84408291f9 (diff) |
json: simplify hb_add_json API
Now automatically adds subtitle scan and 2-pass encoding jobs.
Changed "Pass" integer to "TwoPass" boolean to facilite this.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6731 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/hb_json.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/libhb/hb_json.c b/libhb/hb_json.c index 52d3b4aad..111dfc3a4 100644 --- a/libhb/hb_json.c +++ b/libhb/hb_json.c @@ -479,7 +479,7 @@ char* hb_job_to_json( const hb_job_t * job ) else { json_object_set_new(video_dict, "Bitrate", json_integer(job->vbitrate)); - json_object_set_new(video_dict, "Pass", json_integer(job->pass)); + json_object_set_new(video_dict, "TwoPass", json_boolean(job->pass)); json_object_set_new(video_dict, "Turbo", json_boolean(job->fastfirstpass)); } @@ -715,8 +715,8 @@ hb_job_t* hb_json_to_job( hb_handle_t * h, const char * json_job ) // PAR {Num, Den} "s?{s:i, s:i}," // Video {Codec, Quality, Bitrate, Preset, Tune, Profile, Level, - // Options, Pass, Turbo, ColorMatrixCode} - "s:{s:i, s?f, s?i, s?s, s?s, s?s, s?s, s?s, s?i, s?b, s?i}," + // Options, TwoPass, Turbo, ColorMatrixCode} + "s:{s:i, s?f, s?i, s?s, s?s, s?s, s?s, s?s, s?b, s?b, s?i}," // Audio {CopyMask, FallbackEncoder} "s?{s?i, s?i}," // Subtitle {Search {Enable, Forced, Default, Burn}} @@ -758,7 +758,7 @@ hb_job_t* hb_json_to_job( hb_handle_t * h, const char * json_job ) "Profile", unpack_s(&video_profile), "Level", unpack_s(&video_level), "Options", unpack_s(&video_options), - "Pass", unpack_i(&job->pass), + "TwoPass", unpack_b(&job->pass), "Turbo", unpack_b(&job->fastfirstpass), "ColorMatrixCode", unpack_i(&job->color_matrix_code), "Audio", @@ -842,11 +842,6 @@ hb_job_t* hb_json_to_job( hb_handle_t * h, const char * json_job ) hb_metadata_set_long_description(job->metadata, meta_long_desc); } - if (job->indepth_scan == 1) - { - job->pass = -1; - hb_job_set_encoder_options(job, NULL); - } // process chapter list json_t * chapter_list = NULL; result = json_unpack_ex(dict, &error, 0, @@ -1092,7 +1087,27 @@ int hb_add_json( hb_handle_t * h, const char * json_job ) if (job == NULL) return -1; - hb_add(h, job); + if (job->indepth_scan) + { + hb_deep_log(2, "Adding subtitle scan pass"); + int pass = job->pass; + job->pass = -1; + hb_add(h, job); + job->pass = pass; + job->indepth_scan = 0; + } + if (job->pass) + { + hb_deep_log(2, "Adding two-pass encode"); + job->pass = 1; + hb_add(h, job); + job->pass = 2; + hb_add(h, job); + } + else + { + hb_add(h, job); + } hb_job_close(&job); return 0; |