diff options
author | jstebbins <[email protected]> | 2010-04-25 21:15:43 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-04-25 21:15:43 +0000 |
commit | c22e82ad0081856466a92a6e47a72b3ea9b5628c (patch) | |
tree | 4118bfdb4913105820b98e7317021704c8f39faa /libhb/decavcodec.c | |
parent | e6ba7dc071b0b1f070b7f92e3b30eab1ee00a0b5 (diff) |
bump ffmpeg to rev 22950
offset ffmpeg seeks by value of initial timestamp since it can be non-zero
catch pix fmt that is unsupported by swscale, log it, skip the track
use new ffmpeg avg_frame_rate for more accurate framerate estimate
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3267 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decavcodec.c')
-rw-r--r-- | libhb/decavcodec.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c index a506154db..0a9f63fec 100644 --- a/libhb/decavcodec.c +++ b/libhb/decavcodec.c @@ -1027,8 +1027,14 @@ static void init_ffmpeg_context( hb_work_object_t *w ) // Because the time bases are so screwed up, we only take values // in the range 8fps - 64fps. AVRational tb; - if ( st->time_base.num * 64 > st->time_base.den && - st->time_base.den > st->time_base.num * 8 ) + if ( st->avg_frame_rate.den * 64 > st->avg_frame_rate.num && + st->avg_frame_rate.num > st->avg_frame_rate.den * 8 ) + { + tb.num = st->avg_frame_rate.den; + tb.den = st->avg_frame_rate.num; + } + else if ( st->time_base.num * 64 > st->time_base.den && + st->time_base.den > st->time_base.num * 8 ) { tb = st->time_base; } |