Mercurial > mplayer.hg
diff libmpcodecs/ve_x264.c @ 17659:92ac78a93625
Fix video delay when encoding with B-frames.
Encoding delay is adjusted for on-the-fly during encoding.
Decoding delay is compensated for by setting an appropriate dwStart on
the audio stream (only in muxer_avi at this point).
author | corey |
---|---|
date | Tue, 21 Feb 2006 09:39:22 +0000 |
parents | f0e7712385dc |
children | a3dd033ec92e |
line wrap: on
line diff
--- a/libmpcodecs/ve_x264.c Mon Feb 20 23:50:40 2006 +0000 +++ b/libmpcodecs/ve_x264.c Tue Feb 21 09:39:22 2006 +0000 @@ -435,6 +435,11 @@ return 0; } + if (mod->param.i_bframe > 1 && mod->param.b_bframe_pyramid) + mod->mux->decoder_delay = 2; + else + mod->mux->decoder_delay = mod->param.i_bframe ? 1 : 0; + return 1; } @@ -511,6 +516,8 @@ && frame_ref == 1 && !bframe); muxer_write_chunk(mod->mux, i_size, keyframe?0x10:0, MP_NOPTS_VALUE, MP_NOPTS_VALUE); } + else + ++mod->mux->encoder_delay; return i_size; }