Index: libmpcodecs/vf.c =================================================================== RCS file: /cvsroot/mplayer/main/libmpcodecs/vf.c,v retrieving revision 1.96 diff -u -r1.96 vf.c --- libmpcodecs/vf.c 29 Nov 2003 19:34:26 -0000 1.96 +++ libmpcodecs/vf.c 2 Dec 2003 16:00:31 -0000 @@ -75,6 +75,7 @@ extern vf_info_t vf_info_decimate; extern vf_info_t vf_info_softpulldown; extern vf_info_t vf_info_pullup; +extern vf_info_t vf_info_pullup2; extern vf_info_t vf_info_framestep; extern vf_info_t vf_info_tile; extern vf_info_t vf_info_delogo; @@ -143,6 +144,7 @@ &vf_info_decimate, &vf_info_softpulldown, &vf_info_pullup, + &vf_info_pullup2, &vf_info_framestep, &vf_info_tile, &vf_info_delogo, Index: libmpcodecs/Makefile =================================================================== RCS file: /cvsroot/mplayer/main/libmpcodecs/Makefile,v retrieving revision 1.115 diff -u -r1.115 Makefile --- libmpcodecs/Makefile 29 Nov 2003 19:34:26 -0000 1.115 +++ libmpcodecs/Makefile 2 Dec 2003 16:00:31 -0000 @@ -14,7 +14,7 @@ VIDEO_SRCS_OPT=vd_realvid.c vd_ffmpeg.c vd_dshow.c vd_dmo.c vd_vfw.c vd_vfwex.c vd_odivx.c vd_divx4.c vd_zrmjpeg.c vd_xanim.c vd_xvid.c vd_xvid4.c vd_libdv.c vd_qtvideo.c vd_theora.c VIDEO_SRCS=dec_video.c vd.c $(VIDEO_SRCS_NAT) $(VIDEO_SRCS_LIB) $(VIDEO_SRCS_OPT) -VFILTER_SRCS=vf.c vf_vo.c vf_crop.c vf_expand.c vf_scale.c vf_format.c vf_yuy2.c vf_flip.c vf_rgb2bgr.c vf_rotate.c vf_mirror.c vf_palette.c vf_lavc.c vf_dvbscale.c vf_cropdetect.c vf_test.c vf_noise.c vf_yvu9.c vf_rectangle.c vf_lavcdeint.c vf_eq.c vf_eq2.c vf_halfpack.c vf_dint.c vf_1bpp.c vf_bmovl.c vf_2xsai.c vf_unsharp.c vf_swapuv.c vf_il.c vf_boxblur.c vf_sab.c vf_smartblur.c vf_perspective.c vf_down3dright.c vf_field.c vf_denoise3d.c vf_hqdn3d.c vf_detc.c vf_telecine.c vf_tfields.c vf_ivtc.c vf_ilpack.c vf_dsize.c vf_decimate.c vf_softpulldown.c vf_tinterlace.c vf_pullup.c pullup.c vf_framestep.c vf_tile.c vf_delogo.c vf_fil.c vf_hue.c vf_spp.c vf_yuvcsp.c +VFILTER_SRCS=vf.c vf_vo.c vf_crop.c vf_expand.c vf_scale.c vf_format.c vf_yuy2.c vf_flip.c vf_rgb2bgr.c vf_rotate.c vf_mirror.c vf_palette.c vf_lavc.c vf_dvbscale.c vf_cropdetect.c vf_test.c vf_noise.c vf_yvu9.c vf_rectangle.c vf_lavcdeint.c vf_eq.c vf_eq2.c vf_halfpack.c vf_dint.c vf_1bpp.c vf_bmovl.c vf_2xsai.c vf_unsharp.c vf_swapuv.c vf_il.c vf_boxblur.c vf_sab.c vf_smartblur.c vf_perspective.c vf_down3dright.c vf_field.c vf_denoise3d.c vf_hqdn3d.c vf_detc.c vf_telecine.c vf_tfields.c vf_ivtc.c vf_ilpack.c vf_dsize.c vf_decimate.c vf_softpulldown.c vf_tinterlace.c vf_pullup.c pullup.c vf_framestep.c vf_tile.c vf_delogo.c vf_fil.c vf_hue.c vf_spp.c vf_yuvcsp.c vf_pullup2.c ifeq ($(HAVE_FFPOSTPROCESS),yes) VFILTER_SRCS += vf_pp.c endif Index: DOCS/man/en/mplayer.1 =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/man/en/mplayer.1,v retrieving revision 1.492 diff -u -r1.492 mplayer.1 --- DOCS/man/en/mplayer.1 30 Nov 2003 16:36:03 -0000 1.492 +++ DOCS/man/en/mplayer.1 2 Dec 2003 16:04:41 -0000 @@ -2917,6 +2917,67 @@ than 24 fps, meaning you'll have trouble if you use it with mencoder \-ofps 23.976. .TP +.B pullup2[=options] +Pulldown reversal filter, similar to the pullup filter above. It is +designed to handle any pulldown pattern, including mixed soft and hard +telecine and limited support for movies that are slowed down or sped up +from their original framerate for TV. Only the luma plane is used to +find the frame breaks. If a frame has no match, it is deinterlaced with +simple linear approximation (not the best quality, but acceptable). If +the source is MPEG-2, libmpeg2 must be used for decoding (not ffmpeg2!), +and this must be the first filter to allow access to the field-flags set +by the MPEG-2 decoder. Depending on the source mpeg, you may be fine +ignoring this advice, as long as you do not see lots of "Bottom-first +field" warnings. With no options it does normal inverse telecine, and +should be used together with mencoder \-fps 29.97 \-ofps 23.976. When +this filter is used with mplayer, it will result in an uneven framerate +during playback, but it is still generally better than using pp=lb or no +deinterlacing at all. Multiple options can be specified separated by /. +.RSs +.IPs crop=w:h:x:y +Just like the crop filter, but faster, and works on mixed hard and soft +telecined content as well as when y is not a multiple of 4. If x or y +would require cropping fractional pixels from the chroma planes, the crop +area is extended. This usually means that x and y must be even. +.IPs io=ifps:ofps +For each ifps input frames the filter will output ofps frames. The ratio +of ifps/ofps should match the \-fps/\-ofps ratio. This could be used to +filter movies that are broadcast on TV at a frame rate different from +their original frame rate. +.IPs luma_only=n +If n is nonzero, the chroma plane is copied unchanged. This is useful +for YV12 sampled TV, which discards one of the chroma fields. +.IPs mmx2=n +On x86, if n is nonzero, use MMX2 optimized functions. If this option is +not specified, MMX2 is auto-detected, use this option to override +auto-detection. +.IPs fast=n +The larger n will speed up the filter at the expense of accuracy. The +default value is n=3. If n is odd, a frame immediately following a frame +marked with the REPEAT_FIRST_FIELD mpeg flag is assumed to be +progressive, thus filter will not spend any time on soft-telecined MPEG-2 +content. This is the only effect of this flag if MMX2 is available. +Without MMX2, if n=0 or 1, the same calculations will be used as with +MMX2. If n=2 or 3, the number of luma levels used to find the frame +breaks is reduced from 256 to 128, which results in a faster filter +without losing much accuracy. If n=4 or 5, a faster, but much less +accurate metrics will be used to find the frame breaks, which is more +likely to misdetect high vertical detail as interlaced content. +.IPs verbose=n +If n is nonzero, print the detailed metrics for each frame. Useful for +debugging. +.IPs dint_thres=n +Deinterlace threshold. Used during de-interlacing of unmatched frames. +Larger value means less deinterlacing, use n=256 to completely turn off +deinterlacing. Default is n=8. +.IPs comb_thres=n +Threshold for comparing a top and bottom fields. Defaults to 128. +.IPs diff_thres=n +Threshold to detect temporal change of a field. Default is 128. +.IPs sad_thres=n +Sum of Absolute Difference threshold, default is 64. +.RE +.TP .B softpulldown This filter works only correct with MEncoder and acts on the MPEG2 flags used for soft 3:2 pulldown (soft telecine).