Mercurial > libavcodec.hg
comparison mpeg12.c @ 1725:4bc18915485a libavcodec
frame rate emulation "fix" by (Mean <fixounet at free dot fr>)
author | michael |
---|---|
date | Sun, 04 Jan 2004 17:43:28 +0000 |
parents | 8158e66f1f75 |
children | 1ed3664b3523 |
comparison
equal
deleted
inserted
replaced
1724:ea5200a9f730 | 1725:4bc18915485a |
---|---|
307 put_bits(&s->pb, 6, (uint32_t)((time_code % fps) / MPEG1_FRAME_RATE_BASE)); | 307 put_bits(&s->pb, 6, (uint32_t)((time_code % fps) / MPEG1_FRAME_RATE_BASE)); |
308 put_bits(&s->pb, 1, 0); /* closed gop */ | 308 put_bits(&s->pb, 1, 0); /* closed gop */ |
309 put_bits(&s->pb, 1, 0); /* broken link */ | 309 put_bits(&s->pb, 1, 0); /* broken link */ |
310 } | 310 } |
311 | 311 |
312 if (s->avctx->frame_rate < (24 * s->avctx->frame_rate_base) && s->picture_number > 0) { | 312 if (s->avctx->frame_rate < (23 * s->avctx->frame_rate_base) && s->picture_number > 0) { |
313 /* insert empty P pictures to slow down to the desired | 313 /* insert empty P pictures to slow down to the desired |
314 frame rate. Each fake pictures takes about 20 bytes */ | 314 frame rate. Each fake pictures takes about 20 bytes */ |
315 fps = frame_rate_tab[s->frame_rate_index]; | 315 fps = frame_rate_tab[s->frame_rate_index]; |
316 n = av_rescale((int64_t)s->picture_number * s->avctx->frame_rate_base, fps, s->avctx->frame_rate) / MPEG1_FRAME_RATE_BASE - 1; | 316 n = av_rescale((int64_t)s->picture_number * s->avctx->frame_rate_base, fps, s->avctx->frame_rate) / MPEG1_FRAME_RATE_BASE - 1; |
317 while (s->fake_picture_number < n) { | 317 while (s->fake_picture_number < n) { |