Mercurial > libavformat.hg
diff avidec.c @ 85:25062c9b1f86 libavformat
per context frame_rate_base, this should finally fix frame_rate related av sync issues
author | michaelni |
---|---|
date | Wed, 12 Mar 2003 15:16:19 +0000 |
parents | 0068a6902911 |
children | 0c5a7b4ccca9 |
line wrap: on
line diff
--- a/avidec.c Wed Mar 12 01:35:47 2003 +0000 +++ b/avidec.c Wed Mar 12 15:16:19 2003 +0000 @@ -133,12 +133,16 @@ scale= get_le32(pb); /* scale */ rate= get_le32(pb); /* rate */ - if(scale && rate) - st->codec.frame_rate= (rate * (uint64_t)FRAME_RATE_BASE + scale/2) / scale; - else if(frame_period) - st->codec.frame_rate = (1000000LL * FRAME_RATE_BASE + frame_period/2) / frame_period; - else - st->codec.frame_rate = 25 * FRAME_RATE_BASE; + if(scale && rate){ + st->codec.frame_rate = rate; + st->codec.frame_rate_base= scale; + }else if(frame_period){ + st->codec.frame_rate = 1000000; + st->codec.frame_rate_base= frame_period; + }else{ + st->codec.frame_rate = 25; + st->codec.frame_rate_base = 1; + } url_fskip(pb, size - 7 * 4); break;