mirror of
https://github.com/mpv-player/mpv
synced 2025-01-01 04:36:24 +01:00
Avoid flickering OSD with -vf yadif=1
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28209 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
3a6137fbcb
commit
5904de25e3
@ -655,6 +655,14 @@ int vf_next_control(struct vf_instance_s* vf, int request, void* data){
|
||||
return vf->next->control(vf->next,request,data);
|
||||
}
|
||||
|
||||
void vf_extra_flip(struct vf_instance_s* vf) {
|
||||
vf_next_control(vf, VFCTRL_DRAW_OSD, NULL);
|
||||
#ifdef CONFIG_ASS
|
||||
vf_next_control(vf, VFCTRL_DRAW_EOSD, NULL);
|
||||
#endif
|
||||
vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
|
||||
}
|
||||
|
||||
int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt){
|
||||
int flags=vf->next->query_format(vf->next,fmt);
|
||||
if(flags) flags|=vf->default_caps;
|
||||
|
@ -112,6 +112,7 @@ int vf_next_config(struct vf_instance_s* vf,
|
||||
int width, int height, int d_width, int d_height,
|
||||
unsigned int flags, unsigned int outfmt);
|
||||
int vf_next_control(struct vf_instance_s* vf, int request, void* data);
|
||||
void vf_extra_flip(struct vf_instance_s* vf);
|
||||
int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt);
|
||||
int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi, double pts);
|
||||
void vf_next_draw_slice (struct vf_instance_s* vf, unsigned char** src, int* stride, int w,int h, int x, int y);
|
||||
|
@ -440,7 +440,7 @@ static int continue_buffered_image(struct vf_instance_s *vf)
|
||||
if (correct_pts)
|
||||
break;
|
||||
if(i<(vf->priv->mode&1))
|
||||
vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
|
||||
vf_extra_flip(vf);
|
||||
}
|
||||
vf->priv->buffered_i = 1;
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user