diff options
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_tfields.c | 9 | ||||
-rw-r--r-- | libmpcodecs/vf_yadif.c | 7 |
2 files changed, 9 insertions, 7 deletions
diff --git a/libmpcodecs/vf_tfields.c b/libmpcodecs/vf_tfields.c index 0d88119371..347cd4bb9e 100644 --- a/libmpcodecs/vf_tfields.c +++ b/libmpcodecs/vf_tfields.c @@ -310,9 +310,10 @@ static int put_image(struct vf_instance* vf, mp_image_t *mpi, double pts) return continue_buffered_image(vf); } +extern const int under_mencoder; + static int continue_buffered_image(struct vf_instance *vf) { - struct MPOpts *opts = vf->opts; int i=vf->priv->buffered_i; double pts = vf->priv->buffered_pts; mp_image_t *mpi = vf->priv->buffered_mpi; @@ -363,7 +364,7 @@ static int continue_buffered_image(struct vf_instance *vf) dmpi->stride[2] = 2*mpi->stride[2]; } ret |= vf_next_put_image(vf, dmpi, pts); - if (opts->correct_pts) + if (!under_mencoder) break; else if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); @@ -393,7 +394,7 @@ static int continue_buffered_image(struct vf_instance *vf) mpi->chroma_width, mpi->chroma_height, (i^!tff)); } ret |= vf_next_put_image(vf, dmpi, pts); - if (opts->correct_pts) + if (!under_mencoder) break; else if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); @@ -419,7 +420,7 @@ static int continue_buffered_image(struct vf_instance *vf) dmpi->stride[2], mpi->stride[2]*2, (i^!tff)); } ret |= vf_next_put_image(vf, dmpi, pts); - if (opts->correct_pts) + if (!under_mencoder) break; else if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); diff --git a/libmpcodecs/vf_yadif.c b/libmpcodecs/vf_yadif.c index fd46f241cd..2c80a2ec5b 100644 --- a/libmpcodecs/vf_yadif.c +++ b/libmpcodecs/vf_yadif.c @@ -416,9 +416,10 @@ static int put_image(struct vf_instance* vf, mp_image_t *mpi, double pts){ return continue_buffered_image(vf); } +extern const int under_mencoder; + static int continue_buffered_image(struct vf_instance *vf) { - struct MPOpts *opts = vf->opts; mp_image_t *mpi = vf->priv->buffered_mpi; int tff = vf->priv->buffered_tff; double pts = vf->priv->buffered_pts; @@ -435,10 +436,10 @@ static int continue_buffered_image(struct vf_instance *vf) mpi->width,mpi->height); vf_clone_mpi_attributes(dmpi, mpi); filter(vf->priv, dmpi->planes, dmpi->stride, mpi->w, mpi->h, i ^ tff ^ 1, tff); - if (opts->correct_pts && i < (vf->priv->mode & 1)) + if (i < (vf->priv->mode & 1) && !under_mencoder) vf_queue_frame(vf, continue_buffered_image); ret |= vf_next_put_image(vf, dmpi, pts /*FIXME*/); - if (opts->correct_pts) + if (!under_mencoder) break; if(i<(vf->priv->mode&1)) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); |