Mercurial > mplayer.hg
changeset 5613:481592004427
draw_slices with framedrop fixed
author | arpi |
---|---|
date | Sun, 14 Apr 2002 01:21:13 +0000 |
parents | 027568c0f982 |
children | b2b1942b16d5 |
files | libmpcodecs/vd_ffmpeg.c libmpcodecs/vd_libmpeg2.c |
diffstat | 2 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vd_ffmpeg.c Sun Apr 14 01:20:26 2002 +0000 +++ b/libmpcodecs/vd_ffmpeg.c Sun Apr 14 01:21:13 2002 +0000 @@ -147,7 +147,8 @@ if(len<=0) return NULL; // skipped frame - if(ctx->vo_inited && !ctx->convert){ + avctx->draw_horiz_band=NULL; + if(ctx->vo_inited && !ctx->convert && !(flags&3)){ mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, MP_IMGFLAG_PRESERVE | (ctx->do_slices?MP_IMGFLAG_DRAW_CALLBACK:0), sh->disp_w, sh->disp_h); @@ -155,8 +156,7 @@ // vd core likes slices! avctx->draw_horiz_band=draw_slice; avctx->opaque=sh->video_out; - } else - avctx->draw_horiz_band=NULL; + } } ret = avcodec_decode_video(avctx, &lavc_picture,
--- a/libmpcodecs/vd_libmpeg2.c Sun Apr 14 01:20:26 2002 +0000 +++ b/libmpcodecs/vd_libmpeg2.c Sun Apr 14 01:21:13 2002 +0000 @@ -154,7 +154,7 @@ mp_image_t* mpi; int flags; if (picture->picture_coding_type == B_TYPE){ - flags=vd_use_slices?MP_IMGFLAG_DRAW_CALLBACK:0; + flags=(!framedrop && vd_use_slices)?MP_IMGFLAG_DRAW_CALLBACK:0; picture->display_frame= picture->current_frame = picture->temp_frame; } else {