summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vf_filmdint.c
diff options
context:
space:
mode:
authorrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-11 04:47:42 +0000
committerrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-11 04:47:42 +0000
commit7b4ab7ba374f3f585fe8eeff3064440a5af71cb4 (patch)
tree2d825a55e7dc2c93f6afcde63b0a1f3cf00d7fb9 /libmpcodecs/vf_filmdint.c
parent571bf466e607136a145f6964adfca9d4e78842d1 (diff)
downloadmpv-7b4ab7ba374f3f585fe8eeff3064440a5af71cb4.tar.bz2
mpv-7b4ab7ba374f3f585fe8eeff3064440a5af71cb4.tar.xz
Patch from the author, Zoltan Hidvegi:
The filmdint filter does not handle NTSC "telecined" 15fps movies where there is a frame break in the middle of every second NTSC frame, it outputs only 15 frames for every 30 input frames, ignoring the io option. You can notice this during encoding such a sequence you will have lots of diplicate frames / skip frames messages. The patch below fixes this. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11624 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_filmdint.c')
-rw-r--r--libmpcodecs/vf_filmdint.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libmpcodecs/vf_filmdint.c b/libmpcodecs/vf_filmdint.c
index d332200d53..a3c2c07097 100644
--- a/libmpcodecs/vf_filmdint.c
+++ b/libmpcodecs/vf_filmdint.c
@@ -1239,7 +1239,10 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
} else {
if (p->notout >= p->num_fields)
dropped_fields += p->num_fields + 2 - breaks;
- if (breaks == 2 && p->iosync > -3*p->in_inc)
+ if (breaks == 1) {
+ if (p->iosync >= 4*p->in_inc)
+ show_fields = 6;
+ } else if (p->iosync > -3*p->in_inc)
show_fields = 3; /* odd+even */
}
break;