diff options
author | jstebbins <[email protected]> | 2015-02-02 19:08:34 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2015-02-02 19:08:34 +0000 |
commit | ed749ed715a9ea7a83bd45bddc1175cf085b0a99 (patch) | |
tree | 6d885b17297b98950372fabfbfbb4837db3407d0 /libhb/scan.c | |
parent | 6879158d26de2bda56f41a9e571a312b9085a873 (diff) |
scan: improve preview generation for short videos that have no IDRs
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6862 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/scan.c')
-rw-r--r-- | libhb/scan.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libhb/scan.c b/libhb/scan.c index e638ebc54..74d960117 100644 --- a/libhb/scan.c +++ b/libhb/scan.c @@ -596,7 +596,20 @@ static int DecodePreviews( hb_scan_t * data, hb_title_t * title, int flush ) vid_decoder->flush( vid_decoder ); if (title->flags & HBTF_NO_IDR) { - frame_wait = 100; + if (!flush) + { + // If we are doing the first previews decode attempt, + // set this threshold high so that we get the best + // quality frames possible. + frame_wait = 100; + } + else + { + // If we failed to get enough valid frames in the first + // previews decode attempt, lower the threshold to improve + // our chances of getting something to work with. + frame_wait = 10; + } } hb_buffer_t * vid_buf = NULL; |