[MPlayer-cvslog] CVS: main/libmpcodecs dec_video.c, 1.165, 1.166 ve_divx4.c, 1.20, 1.21 ve_lavc.c, 1.134, 1.135 ve_libdv.c, 1.15, 1.16 ve_nuv.c, 1.9, 1.10 ve_qtvideo.c, 1.18, 1.19 ve_raw.c, 1.7, 1.8 ve_vfw.c, 1.21, 1.22 ve_x264.c, 1.48, 1.49 ve_xvid.c, 1.32, 1.33 ve_xvid4.c, 1.25, 1.26 vf.c, 1.124, 1.125 vf.h, 1.29, 1.30 vf_1bpp.c, 1.5, 1.6 vf_2xsai.c, 1.4, 1.5 vf_bmovl.c, 1.14, 1.15 vf_boxblur.c, 1.6, 1.7 vf_crop.c, 1.18, 1.19 vf_cropdetect.c, 1.13, 1.14 vf_decimate.c, 1.3, 1.4 vf_delogo.c, 1.6, 1.7 vf_denoise3d.c, 1.10, 1.11 vf_detc.c, 1.7, 1.8 vf_dint.c, 1.5, 1.6 vf_divtc.c, 1.4, 1.5 vf_down3dright.c, 1.6, 1.7 vf_eq.c, 1.10, 1.11 vf_eq2.c, 1.10, 1.11 vf_expand.c, 1.34, 1.35 vf_fame.c, 1.12, 1.13 vf_field.c, 1.6, 1.7 vf_fil.c, 1.2, 1.3 vf_filmdint.c, 1.5, 1.6 vf_flip.c, 1.14, 1.15 vf_framestep.c, 1.2, 1.3 vf_fspp.c, 1.13, 1.14 vf_halfpack.c, 1.8, 1.9 vf_harddup.c, 1.3, 1.4 vf_hqdn3d.c, 1.7, 1.8 vf_hue.c, 1.6, 1.7 vf_il.c, 1.7, 1.8 vf_ilpack.c, 1.6, 1.7 vf_ivtc.c, 1.6, 1.7 vf_kerndeint.c, 1.4, 1.5 vf_lavc.c, 1.20, 1.21 vf_lavcdeint.c, 1.9, 1.10 vf_mirror.c, 1.8, 1.9 vf_noise.c, 1.16, 1.17 vf_palette.c, 1.13, 1.14 vf_perspective.c, 1.4, 1.5 vf_phase.c, 1.4, 1.5 vf_pp.c, 1.35, 1.36 vf_pp7.c, 1.7, 1.8 vf_pullup.c, 1.14, 1.15 vf_qp.c, 1.6, 1.7 vf_rectangle.c, 1.10, 1.11 vf_remove_logo.c, 1.4, 1.5 vf_rgb2bgr.c, 1.7, 1.8 vf_rgbtest.c, 1.3, 1.4 vf_rotate.c, 1.9, 1.10 vf_sab.c, 1.8, 1.9 vf_scale.c, 1.64, 1.65 vf_screenshot.c, 1.8, 1.9 vf_smartblur.c, 1.11, 1.12 vf_softpulldown.c, 1.4, 1.5 vf_softskip.c, 1.2, 1.3 vf_spp.c, 1.34, 1.35 vf_swapuv.c, 1.7, 1.8 vf_telecine.c, 1.3, 1.4 vf_test.c, 1.8, 1.9 vf_tfields.c, 1.12, 1.13 vf_tile.c, 1.2, 1.3 vf_tinterlace.c, 1.4, 1.5 vf_unsharp.c, 1.9, 1.10 vf_uspp.c, 1.6, 1.7 vf_vo.c, 1.26, 1.27 vf_yuvcsp.c, 1.2, 1.3 vf_yuy2.c, 1.9, 1.10 vf_yvu9.c, 1.7, 1.8 vf_zrmjpeg.c, 1.6, 1.7

Michael Niedermayer CVS syncmail at mplayerhq.hu
Tue Mar 21 22:26:47 CET 2006


CVS change done by Michael Niedermayer CVS

Update of /cvsroot/mplayer/main/libmpcodecs
In directory mail:/var2/tmp/cvs-serv2478

Modified Files:
	dec_video.c ve_divx4.c ve_lavc.c ve_libdv.c ve_nuv.c 
	ve_qtvideo.c ve_raw.c ve_vfw.c ve_x264.c ve_xvid.c ve_xvid4.c 
	vf.c vf.h vf_1bpp.c vf_2xsai.c vf_bmovl.c vf_boxblur.c 
	vf_crop.c vf_cropdetect.c vf_decimate.c vf_delogo.c 
	vf_denoise3d.c vf_detc.c vf_dint.c vf_divtc.c vf_down3dright.c 
	vf_eq.c vf_eq2.c vf_expand.c vf_fame.c vf_field.c vf_fil.c 
	vf_filmdint.c vf_flip.c vf_framestep.c vf_fspp.c vf_halfpack.c 
	vf_harddup.c vf_hqdn3d.c vf_hue.c vf_il.c vf_ilpack.c 
	vf_ivtc.c vf_kerndeint.c vf_lavc.c vf_lavcdeint.c vf_mirror.c 
	vf_noise.c vf_palette.c vf_perspective.c vf_phase.c vf_pp.c 
	vf_pp7.c vf_pullup.c vf_qp.c vf_rectangle.c vf_remove_logo.c 
	vf_rgb2bgr.c vf_rgbtest.c vf_rotate.c vf_sab.c vf_scale.c 
	vf_screenshot.c vf_smartblur.c vf_softpulldown.c vf_softskip.c 
	vf_spp.c vf_swapuv.c vf_telecine.c vf_test.c vf_tfields.c 
	vf_tile.c vf_tinterlace.c vf_unsharp.c vf_uspp.c vf_vo.c 
	vf_yuvcsp.c vf_yuy2.c vf_yvu9.c vf_zrmjpeg.c 
Log Message:
passing pts through the filter layer (lets see if pts or cola comes out at the end)


Index: dec_video.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/dec_video.c,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -r1.165 -r1.166
--- dec_video.c	9 Feb 2006 14:07:55 -0000	1.165
+++ dec_video.c	21 Mar 2006 21:26:40 -0000	1.166
@@ -336,7 +336,7 @@
 
 //vo_draw_image(video_out,mpi);
 vf=sh_video->vfilter;
-ret = vf->put_image(vf,mpi); // apply video filters and call the leaf vo/ve
+ret = vf->put_image(vf,mpi, MP_NOPTS_VALUE); // apply video filters and call the leaf vo/ve
 if(ret>0) vf->control(vf,VFCTRL_DRAW_OSD,NULL);
 
     t2=GetTimer()-t2;

Index: ve_divx4.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_divx4.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- ve_divx4.c	26 Jan 2006 19:32:06 -0000	1.20
+++ ve_divx4.c	21 Mar 2006 21:26:40 -0000	1.21
@@ -387,7 +387,7 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     ENC_RESULT enc_result;
     vf->priv->enc_frame.image=mpi->planes[0];
     vf->priv->enc_frame.bitstream=mux_v->buffer;

Index: ve_lavc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_lavc.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- ve_lavc.c	17 Mar 2006 23:47:10 -0000	1.134
+++ ve_lavc.c	21 Mar 2006 21:26:40 -0000	1.135
@@ -338,7 +338,7 @@
 #define FF_QP2LAMBDA 1
 #endif
 
-static int encode_frame(struct vf_instance_s* vf, AVFrame *pic);
+static int encode_frame(struct vf_instance_s* vf, AVFrame *pic, double pts);
 
 static int config(struct vf_instance_s* vf,
         int width, int height, int d_width, int d_height,
@@ -782,7 +782,7 @@
     switch(request){
         case VFCTRL_FLUSH_FRAMES:
             if(vf->priv->codec->capabilities & CODEC_CAP_DELAY)
-                while(encode_frame(vf, NULL) > 0);
+                while(encode_frame(vf, NULL, MP_NOPTS_VALUE) > 0);
             return CONTROL_TRUE;
         default:
             return CONTROL_UNKNOWN;
@@ -826,7 +826,7 @@
     return -10.0*log(d)/log(10);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     AVFrame *pic= vf->priv->pic;
 
     pic->data[0]=mpi->planes[0];
@@ -848,13 +848,17 @@
     }
 #endif
 
-    return (encode_frame(vf, pic) >= 0);
+    return (encode_frame(vf, pic, pts) >= 0);
 }
 
-static int encode_frame(struct vf_instance_s* vf, AVFrame *pic){
+static int encode_frame(struct vf_instance_s* vf, AVFrame *pic, double pts){
     const char pict_type_char[5]= {'?', 'I', 'P', 'B', 'S'};
     int out_size;
 
+    if(pic){
+        pic->opaque= malloc(sizeof(pts));
+        memcpy(pic->opaque, &pts, sizeof(pts));
+    }
 	out_size = avcodec_encode_video(lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
 	    pic);
 
@@ -863,7 +867,10 @@
         return 0;
     }
            
-    muxer_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
+    muxer_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0, 
+                      pts, 
+                      *(double*)lavc_venc_context->coded_frame->opaque);
+    free(lavc_venc_context->coded_frame->opaque);
         
 #if LIBAVCODEC_BUILD >= 4643
     /* store psnr / pict size / type / qscale */

Index: ve_libdv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_libdv.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ve_libdv.c	26 Jan 2006 19:32:06 -0000	1.15
+++ ve_libdv.c	21 Mar 2006 21:26:40 -0000	1.16
@@ -71,13 +71,13 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 
     dv_encode_full_frame(vf->priv->enc, mpi->planes, 
 	(mpi->flags&MP_IMGFLAG_YUV) ? e_dv_color_yuv : e_dv_color_rgb,
 	mux_v->buffer);
 
-    muxer_write_chunk(mux_v, 480 * (vf->priv->enc->isPAL ? 300 : 250) , 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
+    muxer_write_chunk(mux_v, 480 * (vf->priv->enc->isPAL ? 300 : 250) , 0x10, pts, pts);
     return 1;
 }
 

Index: ve_nuv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_nuv.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ve_nuv.c	26 Jan 2006 19:32:06 -0000	1.9
+++ ve_nuv.c	21 Mar 2006 21:26:40 -0000	1.10
@@ -97,7 +97,7 @@
   return 0;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
   struct rtframeheader* ench = (struct rtframeheader*)vf->priv->buffer;
   uint8_t* data = vf->priv->buffer + FRAMEHEADERSIZE;
   uint8_t* zdata = vf->priv->zbuffer + FRAMEHEADERSIZE;
@@ -175,7 +175,7 @@
   ench->packetlength = len;
   le2me_rtframeheader(ench);
   mux_v->buffer=(void*)ench;
-  muxer_write_chunk(mux_v, len + FRAMEHEADERSIZE, 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
+  muxer_write_chunk(mux_v, len + FRAMEHEADERSIZE, 0x10, pts, pts);
   return 1;
 }
 

Index: ve_qtvideo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_qtvideo.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ve_qtvideo.c	26 Jan 2006 19:32:06 -0000	1.18
+++ ve_qtvideo.c	21 Mar 2006 21:26:40 -0000	1.19
@@ -172,7 +172,7 @@
 
 static int codec_inited = 0;
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 
     OSErr cres;
     long framesizemax;

Index: ve_raw.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_raw.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ve_raw.c	26 Jan 2006 19:32:06 -0000	1.7
+++ ve_raw.c	21 Mar 2006 21:26:40 -0000	1.8
@@ -115,9 +115,9 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s *vf, mp_image_t *mpi) {
+static int put_image(struct vf_instance_s *vf, mp_image_t *mpi, double pts) {
     mux_v->buffer = mpi->planes[0];
-    muxer_write_chunk(mux_v, mpi->width*mpi->height*mux_v->bih->biBitCount/8, 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
+    muxer_write_chunk(mux_v, mpi->width*mpi->height*mux_v->bih->biBitCount/8, 0x10, pts, pts);
     return 1;
 }
 

Index: ve_vfw.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_vfw.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- ve_vfw.c	26 Jan 2006 19:32:06 -0000	1.21
+++ ve_vfw.c	21 Mar 2006 21:26:40 -0000	1.22
@@ -238,12 +238,12 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     long flags=0;
     int ret;
 //    flip_upside_down(vo_image_ptr,vo_image_ptr,3*vo_w,vo_h); // dirty hack
     ret=vfw_encode_frame(mux_v->bih, mux_v->buffer, vfw_bih, mpi->planes[0], &flags, 10000);
-    muxer_write_chunk(mux_v,mux_v->bih->biSizeImage,flags, MP_NOPTS_VALUE, MP_NOPTS_VALUE);
+    muxer_write_chunk(mux_v,mux_v->bih->biSizeImage,flags, pts, pts);
     return 1;
 }
 

Index: ve_x264.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_x264.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- ve_x264.c	20 Mar 2006 23:13:37 -0000	1.48
+++ ve_x264.c	21 Mar 2006 21:26:40 -0000	1.49
@@ -221,7 +221,7 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s *vf, mp_image_t *mpi);
+static int put_image(struct vf_instance_s *vf, mp_image_t *mpi, double pts);
 static int encode_frame(struct vf_instance_s *vf, x264_picture_t *pic_in);
 
 static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt) {
@@ -474,7 +474,7 @@
     return 0;
 }
 
-static int put_image(struct vf_instance_s *vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s *vf, mp_image_t *mpi, double pts)
 {
     h264_module_t *mod=(h264_module_t*)vf->priv;
     int i;

Index: ve_xvid.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_xvid.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- ve_xvid.c	21 Feb 2006 09:39:21 -0000	1.32
+++ ve_xvid.c	21 Mar 2006 21:26:40 -0000	1.33
@@ -434,7 +434,7 @@
 }
 
 static int
-put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     XVID_ENC_STATS enc_stats;
     struct vf_priv_s *fp = vf->priv;

Index: ve_xvid4.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_xvid4.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ve_xvid4.c	1 Mar 2006 09:18:56 -0000	1.25
+++ ve_xvid4.c	21 Mar 2006 21:26:40 -0000	1.26
@@ -591,7 +591,7 @@
  *==========================================================================*/
 
 static int
-put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int size;
 	xvid_enc_stats_t stats; 

Index: vf.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf.c,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -r1.124 -r1.125
--- vf.c	16 Mar 2006 21:56:24 -0000	1.124
+++ vf.c	21 Mar 2006 21:26:40 -0000	1.125
@@ -630,8 +630,8 @@
     return flags;
 }
 
-int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi){
-    return vf->next->put_image(vf->next,mpi);
+int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi, double pts){
+    return vf->next->put_image(vf->next,mpi, pts);
 }
 
 void vf_next_draw_slice(struct vf_instance_s* vf,unsigned char** src, int * stride,int w, int h, int x, int y){

Index: vf.h
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- vf.h	9 Feb 2006 14:07:55 -0000	1.29
+++ vf.h	21 Mar 2006 21:26:40 -0000	1.30
@@ -37,7 +37,7 @@
     void (*get_image)(struct vf_instance_s* vf,
         mp_image_t *mpi);
     int (*put_image)(struct vf_instance_s* vf,
-        mp_image_t *mpi);
+        mp_image_t *mpi, double pts);
     void (*start_slice)(struct vf_instance_s* vf,
         mp_image_t *mpi);
     void (*draw_slice)(struct vf_instance_s* vf,
@@ -78,6 +78,10 @@
 
 #include "vfcap.h"
 
+//FIXME this should be in a common header, but i dunno which
+#define MP_NOPTS_VALUE (-1LL<<63) //both int64_t and double should be able to represent this exactly
+
+
 // functions:
 void vf_mpi_clear(mp_image_t* mpi,int x0,int y0,int w,int h);
 mp_image_t* vf_get_image(vf_instance_t* vf, unsigned int outfmt, int mp_imgtype, int mp_imgflag, int w, int h);
@@ -96,7 +100,7 @@
 	unsigned int flags, unsigned int outfmt);
 int vf_next_control(struct vf_instance_s* vf, int request, void* data);
 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);
+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);
 
 vf_instance_t* append_filters(vf_instance_t* last);

Index: vf_1bpp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_1bpp.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- vf_1bpp.c	18 Nov 2005 14:39:22 -0000	1.5
+++ vf_1bpp.c	21 Mar 2006 21:26:40 -0000	1.6
@@ -105,7 +105,7 @@
     }
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     
     // hope we'll get DR buffer:
@@ -151,7 +151,7 @@
 	return 0;
     }
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_2xsai.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_2xsai.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_2xsai.c	18 Nov 2005 14:39:22 -0000	1.4
+++ vf_2xsai.c	21 Mar 2006 21:26:40 -0000	1.5
@@ -318,7 +318,7 @@
     return vf_next_config(vf,2*width,2*height,2*d_width,2*d_height,flags,outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     // hope we'll get DR buffer:
@@ -330,7 +330,7 @@
 		  dmpi->planes[0], dmpi->stride[0],
 		  mpi->w, mpi->h, mpi->bpp/8);
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_bmovl.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_bmovl.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- vf_bmovl.c	16 Feb 2006 10:08:03 -0000	1.14
+++ vf_bmovl.c	21 Mar 2006 21:26:40 -0000	1.15
@@ -199,7 +199,7 @@
 			
 
 static int
-put_image(struct vf_instance_s* vf, mp_image_t* mpi){
+put_image(struct vf_instance_s* vf, mp_image_t* mpi, double pts){
 	int buf_x=0, buf_y=0, buf_pos=0;
 	int have, got, want;
 	int xpos=0, ypos=0, pos=0;
@@ -246,10 +246,10 @@
 			else if( strncmp(cmd,"OPAQUE",6)==0 ) vf->priv->opaque=TRUE;
 			else if( strncmp(cmd,"SHOW",  4)==0 ) vf->priv->hidden=FALSE;
 			else if( strncmp(cmd,"HIDE",  4)==0 ) vf->priv->hidden=TRUE;
-			else if( strncmp(cmd,"FLUSH" ,5)==0 ) return vf_next_put_image(vf, dmpi);
+			else if( strncmp(cmd,"FLUSH" ,5)==0 ) return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			else {
 			    mp_msg(MSGT_VFILTER, MSGL_WARN, "\nvf_bmovl: Unknown command: '%s'. Ignoring.\n", cmd);
-			    return vf_next_put_image(vf, dmpi);
+			    return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			}
 
 			if(command == CMD_ALPHA) {
@@ -268,7 +268,7 @@
 			    buffer = malloc(imgw*imgh*pxsz);
 			    if(!buffer) {
 			    	mp_msg(MSGT_VFILTER, MSGL_WARN, "\nvf_bmovl: Couldn't allocate temporary buffer! Skipping...\n\n");
-					return vf_next_put_image(vf, dmpi);
+					return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			    }
   				/* pipes/sockets might need multiple calls to read(): */
 			    want = (imgw*imgh*pxsz);
@@ -329,7 +329,7 @@
 					if( (imgx <= vf->priv->x2) && ( (imgx+imgw) >= vf->priv->x2) )
 						vf->priv->x2 = imgx;
 				}
-				return vf_next_put_image(vf, dmpi);
+				return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			}
 
 			for( buf_y=0 ; (buf_y < imgh) && (buf_y < (vf->priv->h-imgy)) ; buf_y++ ) {
@@ -387,7 +387,7 @@
 		}
     }
 
-	if(vf->priv->hidden) return vf_next_put_image(vf, dmpi);
+	if(vf->priv->hidden) return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 
 	if(vf->priv->opaque) {	// Just copy buffer memory to screen
 		for( ypos=vf->priv->y1 ; ypos < vf->priv->y2 ; ypos++ ) {
@@ -439,7 +439,7 @@
 			} // for xpos
 		} // for ypos
 	} // if !opaque
-    return vf_next_put_image(vf, dmpi);
+    return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 } // put_image
 
 static int

Index: vf_boxblur.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_boxblur.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_boxblur.c	13 Jan 2006 00:23:31 -0000	1.6
+++ vf_boxblur.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -132,7 +132,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
 
@@ -156,7 +156,7 @@
 	vBlur(dmpi->planes[2], dmpi->planes[2], cw,ch, 
 		dmpi->stride[2], dmpi->stride[2], vf->priv->chromaParam.radius, vf->priv->chromaParam.power);
     
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_crop.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_crop.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- vf_crop.c	18 Nov 2005 14:39:22 -0000	1.18
+++ vf_crop.c	21 Mar 2006 21:26:41 -0000	1.19
@@ -67,10 +67,10 @@
     return vf_next_config(vf,vf->priv->crop_w,vf->priv->crop_h,d_width,d_height,flags,outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     if (mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)
-	return vf_next_put_image(vf,vf->dmpi);
+	return vf_next_put_image(vf,vf->dmpi, pts);
     dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_EXPORT, 0,
 	vf->priv->crop_w, vf->priv->crop_h);
@@ -91,7 +91,7 @@
     }
     dmpi->stride[0]=mpi->stride[0];
     dmpi->width=mpi->width;
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void start_slice(struct vf_instance_s* vf, mp_image_t *mpi){

Index: vf_cropdetect.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_cropdetect.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- vf_cropdetect.c	18 Nov 2005 14:39:22 -0000	1.13
+++ vf_cropdetect.c	21 Mar 2006 21:26:41 -0000	1.14
@@ -55,7 +55,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     int bpp=mpi->bpp/8;
     int w,h,x,y,shrink_by;
@@ -135,7 +135,7 @@
 
 }
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int query_format(struct vf_instance_s* vf, unsigned int fmt) {

Index: vf_decimate.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_decimate.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vf_decimate.c	18 Nov 2005 14:39:22 -0000	1.3
+++ vf_decimate.c	21 Mar 2006 21:26:41 -0000	1.4
@@ -110,7 +110,7 @@
 		new->w*(new->bpp/8), new->h, old->stride[0], new->stride[0]);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -143,7 +143,7 @@
 			mpi->chroma_width, mpi->chroma_height,
 			dmpi->stride[2], mpi->stride[2]);
 	}
-	return vf_next_put_image(vf, dmpi);
+	return vf_next_put_image(vf, dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf)

Index: vf_delogo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_delogo.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_delogo.c	13 Jan 2006 00:23:31 -0000	1.6
+++ vf_delogo.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -147,7 +147,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -170,7 +170,7 @@
 
     vf_clone_mpi_attributes(dmpi, mpi);
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_denoise3d.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_denoise3d.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- vf_denoise3d.c	13 Jan 2006 00:23:31 -0000	1.10
+++ vf_denoise3d.c	21 Mar 2006 21:26:41 -0000	1.11
@@ -114,7 +114,7 @@
 
 
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
         int W = mpi->w, H = mpi->h;
@@ -147,7 +147,7 @@
                 vf->priv->Coefs[3] + 256);
 
 	vf->priv->pmpi=dmpi; // save reference image
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_detc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_detc.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_detc.c	18 Nov 2005 14:39:22 -0000	1.7
+++ vf_detc.c	21 Mar 2006 21:26:41 -0000	1.8
@@ -327,10 +327,10 @@
 	}
 
 	p->outframes++;
-	return vf_next_put_image(vf, dmpi);
+	return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int ret=0;
 	mp_image_t *dmpi;

Index: vf_dint.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_dint.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- vf_dint.c	18 Nov 2005 14:39:23 -0000	1.5
+++ vf_dint.c	21 Mar 2006 21:26:41 -0000	1.6
@@ -62,7 +62,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
 }
 
-static int put_image (struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image (struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     char rrow0[MAXROWSIZE];
     char rrow1[MAXROWSIZE];
@@ -171,7 +171,7 @@
     }
     vf->priv->was_dint = 0;
 //    mp_msg (MSGT_VFILTER, MSGL_INFO, "DI:%d/%d ", vf->priv->rdfr, vf->priv->dfr);
-    return vf_next_put_image (vf, mpi);
+    return vf_next_put_image (vf, mpi, pts);
 }
 
 static int open (vf_instance_t *vf, char* args){

Index: vf_divtc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_divtc.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_divtc.c	18 Nov 2005 14:39:23 -0000	1.4
+++ vf_divtc.c	21 Mar 2006 21:26:41 -0000	1.5
@@ -235,7 +235,7 @@
    return m;
    }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
    {
    mp_image_t *dmpi, *tmpi=0;
    int n, m, f, newphase;
@@ -350,12 +350,12 @@
 	    imgop((void *)memcpy_pic, tmpi, mpi, 0);
 	    imgop(deghost_plane, tmpi, dmpi, p->deghost);
 	    imgop((void *)memcpy_pic, dmpi, mpi, 0);
-	    return vf_next_put_image(vf, tmpi);
+	    return vf_next_put_image(vf, tmpi, MP_NOPTS_VALUE);
 	    }
       }
 
    imgop((void *)memcpy_pic, dmpi, mpi, 0);
-   return vf_next_put_image(vf, dmpi);
+   return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
    }
 
 static int analyze(struct vf_priv_s *p)

Index: vf_down3dright.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_down3dright.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_down3dright.c	18 Nov 2005 14:39:23 -0000	1.6
+++ vf_down3dright.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -79,7 +79,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -93,7 +93,7 @@
 	toright(dmpi->planes, mpi->planes, dmpi->stride,
 		mpi->stride, mpi->w, mpi->h, vf->priv);
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int config(struct vf_instance_s* vf,

Index: vf_eq.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_eq.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- vf_eq.c	18 Nov 2005 14:39:23 -0000	1.10
+++ vf_eq.c	21 Mar 2006 21:26:41 -0000	1.11
@@ -116,7 +116,7 @@
 
 /* FIXME: add packed yuv version of process */
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -142,7 +142,7 @@
 			vf->priv->contrast);
 	}
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int control(struct vf_instance_s* vf, int request, void* data)

Index: vf_eq2.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_eq2.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- vf_eq2.c	20 Jan 2005 13:22:52 -0000	1.10
+++ vf_eq2.c	21 Mar 2006 21:26:41 -0000	1.11
@@ -224,7 +224,7 @@
 }
 
 static
-int put_image (vf_instance_t *vf, mp_image_t *src)
+int put_image (vf_instance_t *vf, mp_image_t *src, double pts)
 {
   unsigned      i;
   vf_eq2_t      *eq2;
@@ -264,7 +264,7 @@
     }
   }
 
-  return vf_next_put_image (vf, dst);
+  return vf_next_put_image (vf, dst, pts);
 }
 
 static

Index: vf_expand.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_expand.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- vf_expand.c	5 Dec 2005 17:52:00 -0000	1.34
+++ vf_expand.c	21 Mar 2006 21:26:41 -0000	1.35
@@ -329,7 +329,7 @@
     vf->priv->first_slice = 0;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     if(mpi->flags&MP_IMGFLAG_DIRECT || mpi->flags&MP_IMGFLAG_DRAW_CALLBACK){
 	vf->dmpi=mpi->priv;
 	if(!vf->dmpi) { printf("Why do we get NULL \n"); return 0; }
@@ -340,7 +340,7 @@
 	// we've used DR, so we're ready...
 	if(!(mpi->flags&MP_IMGFLAG_PLANAR))
 	    vf->dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
-	return vf_next_put_image(vf,vf->dmpi);
+	return vf_next_put_image(vf,vf->dmpi, pts);
     }
 
     // hope we'll get DR buffer:
@@ -372,7 +372,7 @@
 #ifdef OSD_SUPPORT
     if(vf->priv->osd) draw_osd(vf,mpi->w,mpi->h);
 #endif
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_fame.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_fame.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- vf_fame.c	18 Nov 2005 14:39:23 -0000	1.12
+++ vf_fame.c	21 Mar 2006 21:26:41 -0000	1.13
@@ -45,7 +45,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_MPEGPES);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     fame_yuv_t yuv;
     mp_image_t *dmpi;
     int out_size;
@@ -75,7 +75,7 @@
     
     dmpi->planes[0]=(void*) &vf->priv->pes;
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, MP_NOPTS_VALUE);
 }
 
 //===========================================================================//

Index: vf_field.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_field.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_field.c	18 Nov 2005 14:39:23 -0000	1.6
+++ vf_field.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -22,7 +22,7 @@
     return vf_next_config(vf,width,height/2,d_width,d_height,flags,outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
 	MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE,
 	mpi->width, mpi->height/2);
@@ -40,7 +40,7 @@
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
     
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_fil.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_fil.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vf_fil.c	18 Nov 2005 14:39:23 -0000	1.2
+++ vf_fil.c	21 Mar 2006 21:26:41 -0000	1.3
@@ -47,10 +47,10 @@
         (d_width*vf->priv->stridefactor)>>1, 2*d_height/vf->priv->stridefactor, flags, outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     if(mpi->flags&MP_IMGFLAG_DIRECT){
 	// we've used DR, so we're ready...
-	return vf_next_put_image(vf,(mp_image_t*)mpi->priv);
+	return vf_next_put_image(vf,(mp_image_t*)mpi->priv, pts);
     }
 
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
@@ -68,7 +68,7 @@
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
     
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_filmdint.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_filmdint.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- vf_filmdint.c	18 Nov 2005 14:39:23 -0000	1.5
+++ vf_filmdint.c	21 Mar 2006 21:26:41 -0000	1.6
@@ -1137,7 +1137,7 @@
 
 #define ITOC(X) (!(X) ? ' ' : (X) + ((X)>9 ? 'a'-10 : '0'))
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     mp_image_t *dmpi;
     struct vf_priv_s *p = vf->priv;
@@ -1332,7 +1332,7 @@
 	       "" : " @@@@@@@@@@@@@@@@@");
 
     p->merge_time += get_time() - diff_time;
-    return show_fields ? vf_next_put_image(vf, dmpi) : 0;
+    return show_fields ? vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE) : 0;
 }
 
 static int query_format(struct vf_instance_s* vf, unsigned int fmt)

Index: vf_flip.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_flip.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- vf_flip.c	18 Nov 2005 14:39:23 -0000	1.14
+++ vf_flip.c	21 Mar 2006 21:26:41 -0000	1.15
@@ -41,12 +41,12 @@
     }
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     if(mpi->flags&MP_IMGFLAG_DIRECT){
 	// we've used DR, so we're ready...
 	if(!(mpi->flags&MP_IMGFLAG_PLANAR))
 	    ((mp_image_t*)mpi->priv)->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
-	return vf_next_put_image(vf,(mp_image_t*)mpi->priv);
+	return vf_next_put_image(vf,(mp_image_t*)mpi->priv, pts);
     }
 
     vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
@@ -67,7 +67,7 @@
     } else
 	vf->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
     
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_framestep.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_framestep.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vf_framestep.c	18 Nov 2005 14:39:23 -0000	1.2
+++ vf_framestep.c	21 Mar 2006 21:26:41 -0000	1.3
@@ -75,7 +75,7 @@
 };
 
 /* Filter handler */
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     mp_image_t        *dmpi;
     struct vf_priv_s  *priv;
@@ -125,7 +125,7 @@
         dmpi->height    = mpi->height;
 
         /* Chain to next filter / output ... */
-        return vf_next_put_image(vf, dmpi);
+        return vf_next_put_image(vf, dmpi, pts);
     }
 
     /* Skip the frame */

Index: vf_fspp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_fspp.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- vf_fspp.c	31 Jan 2006 23:36:12 -0000	1.13
+++ vf_fspp.c	21 Mar 2006 21:26:41 -0000	1.14
@@ -519,7 +519,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     mp_image_t *dmpi;
     if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -564,7 +564,7 @@
 #ifdef HAVE_MMX2
     if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
 #endif
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf)

Index: vf_halfpack.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_halfpack.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vf_halfpack.c	18 Nov 2005 14:39:23 -0000	1.8
+++ vf_halfpack.c	21 Mar 2006 21:26:41 -0000	1.9
@@ -143,7 +143,7 @@
 	int dststride, int srcstride[3], int w, int h);
 
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -164,7 +164,7 @@
 			mpi->stride, mpi->w, mpi->h);
 	}
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int config(struct vf_instance_s* vf,

Index: vf_harddup.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_harddup.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vf_harddup.c	18 Nov 2005 14:39:23 -0000	1.3
+++ vf_harddup.c	21 Mar 2006 21:26:41 -0000	1.4
@@ -15,7 +15,7 @@
 	mp_image_t *last_mpi;
 };
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 	int ret;
@@ -34,7 +34,7 @@
 		dmpi->stride[2] = mpi->stride[2];
 	}
 	
-	return vf_next_put_image(vf, dmpi);
+	return vf_next_put_image(vf, dmpi, pts);
 }
 
 static int control(struct vf_instance_s* vf, int request, void* data)
@@ -46,7 +46,7 @@
 		// has been called earlier in the filter chain
 		// since the last put_image. This is reasonable
 		// because we're handling a duplicate frame!
-		if (put_image(vf, vf->priv->last_mpi))
+		if (put_image(vf, vf->priv->last_mpi, MP_NOPTS_VALUE))
 			return CONTROL_TRUE;
 		break;
 	}

Index: vf_hqdn3d.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_hqdn3d.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_hqdn3d.c	13 Jan 2006 00:23:31 -0000	1.7
+++ vf_hqdn3d.c	21 Mar 2006 21:26:41 -0000	1.8
@@ -207,7 +207,7 @@
 }
 
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
         int W = mpi->w, H = mpi->h;
@@ -237,7 +237,7 @@
                 vf->priv->Coefs[2],
                 vf->priv->Coefs[3]);
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_hue.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_hue.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_hue.c	18 Nov 2005 14:39:23 -0000	1.6
+++ vf_hue.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -58,7 +58,7 @@
 
 /* FIXME: add packed yuv version of process */
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -89,7 +89,7 @@
 			vf->priv->hue, vf->priv->saturation);
 	}
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int control(struct vf_instance_s* vf, int request, void* data)

Index: vf_il.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_il.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_il.c	13 Jan 2006 00:23:31 -0000	1.7
+++ vf_il.c	21 Mar 2006 21:26:41 -0000	1.8
@@ -77,7 +77,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int w;
 	FilterParam *luma  = &vf->priv->lumaParam;
 	FilterParam *chroma= &vf->priv->chromaParam;
@@ -104,7 +104,7 @@
 			dmpi->stride[2], mpi->stride[2], chroma->interleave, luma->swap);
 	}
     
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_ilpack.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_ilpack.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_ilpack.c	18 Nov 2005 14:39:23 -0000	1.6
+++ vf_ilpack.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -353,7 +353,7 @@
 }
 
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 
@@ -364,7 +364,7 @@
 
 	ilpack(dmpi->planes[0], mpi->planes, dmpi->stride[0], mpi->stride, mpi->w, mpi->h, vf->priv->pack);
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int config(struct vf_instance_s* vf,

Index: vf_ivtc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_ivtc.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_ivtc.c	12 Mar 2006 18:31:50 -0000	1.6
+++ vf_ivtc.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -449,10 +449,10 @@
 	}
 
 	p->outframes++;
-	return vf_next_put_image(vf, dmpi);
+	return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int ret=0;
 	struct vf_priv_s *p = vf->priv;

Index: vf_kerndeint.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_kerndeint.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_kerndeint.c	18 Nov 2005 14:39:23 -0000	1.4
+++ vf_kerndeint.c	21 Mar 2006 21:26:41 -0000	1.5
@@ -76,7 +76,7 @@
 #define PLANAR_U 1
 #define PLANAR_V 2
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
         int W = mpi->w, H = mpi->h;
@@ -272,7 +272,7 @@
 		}
 	}
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_lavc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_lavc.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- vf_lavc.c	31 Jan 2006 23:36:12 -0000	1.20
+++ vf_lavc.c	21 Mar 2006 21:26:41 -0000	1.21
@@ -115,7 +115,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_MPEGPES);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t* dmpi;
     int out_size;
     AVFrame *pic= vf->priv->pic;
@@ -143,7 +143,7 @@
     
     dmpi->planes[0]=(unsigned char*)&vf->priv->pes;
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, MP_NOPTS_VALUE);
 }
 
 //===========================================================================//
@@ -203,7 +203,7 @@
     }
 #if LIBAVCODEC_BUILD >= 4754
     lavc_venc_context.time_base.num = 1000*1001;
-    lavc_venc_context.time_base.den = (p_fps<1.0) ? 0 : (p_fps * lavc_venc_context.time_base.num);
+    lavc_venc_context.time_base.den = (p_fps<1.0) ? 1000*1001*25 : (p_fps * lavc_venc_context.time_base.num);
 #else
 #if LIBAVCODEC_BUILD >= 4662
     lavc_venc_context.frame_rate_base = 1000*1001;

Index: vf_lavcdeint.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_lavcdeint.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vf_lavcdeint.c	31 Jan 2006 23:36:12 -0000	1.9
+++ vf_lavcdeint.c	21 Mar 2006 21:26:41 -0000	1.10
@@ -103,7 +103,7 @@
 }
 
 static int 
-put_image (struct vf_instance_s* vf, mp_image_t *mpi)
+put_image (struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
   struct vf_priv_s *priv = vf->priv;
   mp_image_t* dmpi;
@@ -135,7 +135,7 @@
       return 0;
     }
   
-  return vf_next_put_image(vf, dmpi);
+  return vf_next_put_image(vf, dmpi, pts);
 }
 
 

Index: vf_mirror.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_mirror.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vf_mirror.c	18 Nov 2005 14:39:23 -0000	1.8
+++ vf_mirror.c	21 Mar 2006 21:26:41 -0000	1.9
@@ -68,7 +68,7 @@
 
 //===========================================================================//
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     // hope we'll get DR buffer:
@@ -93,7 +93,7 @@
 	dmpi->planes[1]=mpi->planes[1]; // passthrough rgb8 palette
     }
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_noise.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_noise.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- vf_noise.c	13 Jan 2006 00:23:31 -0000	1.16
+++ vf_noise.c	21 Mar 2006 21:26:41 -0000	1.17
@@ -333,7 +333,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	mp_image_t *dmpi;
 
 	if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -359,7 +359,7 @@
 	if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
 #endif
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_palette.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_palette.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- vf_palette.c	18 Nov 2005 14:39:24 -0000	1.13
+++ vf_palette.c	21 Mar 2006 21:26:41 -0000	1.14
@@ -73,7 +73,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,vf->priv->fmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     
     // hope we'll get DR buffer:
@@ -152,7 +152,7 @@
 	}
     }
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_perspective.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_perspective.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_perspective.c	13 Jan 2006 00:23:31 -0000	1.4
+++ vf_perspective.c	21 Mar 2006 21:26:41 -0000	1.5
@@ -257,7 +257,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
 
@@ -283,7 +283,7 @@
 				vf->priv, mpi->chroma_x_shift, mpi->chroma_y_shift);
 	}
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_phase.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_phase.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_phase.c	5 Dec 2005 01:28:59 -0000	1.4
+++ vf_phase.c	21 Mar 2006 21:26:41 -0000	1.5
@@ -178,7 +178,7 @@
    return mode;
    }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
    {
    mp_image_t *dmpi;
    int w;
@@ -219,7 +219,7 @@
 	       &vf->priv->buf[2], mode);
       }
 
-   return vf_next_put_image(vf, dmpi);
+   return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
    }
 
 static void uninit(struct vf_instance_s* vf)

Index: vf_pp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_pp.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- vf_pp.c	22 Jan 2006 18:11:35 -0000	1.35
+++ vf_pp.c	21 Mar 2006 21:26:41 -0000	1.36
@@ -112,7 +112,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
 	// no DR, so get a new image! hope we'll get DR buffer:
 	vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
@@ -137,7 +137,7 @@
 		    mpi->pict_type);
 #endif
     }
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_pp7.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_pp7.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_pp7.c	9 Feb 2006 14:07:55 -0000	1.7
+++ vf_pp7.c	21 Mar 2006 21:26:41 -0000	1.8
@@ -369,7 +369,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     if(mpi->flags&MP_IMGFLAG_DIRECT){
@@ -401,7 +401,7 @@
     if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
 #endif
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_pullup.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_pullup.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- vf_pullup.c	18 Nov 2005 14:39:24 -0000	1.14
+++ vf_pullup.c	21 Mar 2006 21:26:41 -0000	1.15
@@ -118,7 +118,7 @@
 	mpi->flags &= ~MP_IMGFLAG_DRAW_CALLBACK;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	struct pullup_context *c = vf->priv->ctx;
 	struct pullup_buffer *b;
@@ -263,7 +263,7 @@
 			dmpi->qstride = mpi->qstride;
 			dmpi->qscale_type = mpi->qscale_type;
 		}
-		return vf_next_put_image(vf, dmpi);
+		return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 	}
 	dmpi = vf_get_image(vf->next, mpi->imgfmt,
 		MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE,
@@ -282,7 +282,7 @@
 		dmpi->qstride = mpi->qstride;
 		dmpi->qscale_type = mpi->qscale_type;
 	}
-	ret = vf_next_put_image(vf, dmpi);
+	ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 	pullup_release_frame(f);
 	return ret;
 }

Index: vf_qp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_qp.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_qp.c	31 Jan 2006 23:36:12 -0000	1.6
+++ vf_qp.c	21 Mar 2006 21:26:41 -0000	1.7
@@ -117,7 +117,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	mp_image_t *dmpi;
         int x,y;
 
@@ -157,7 +157,7 @@
             }
         }
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_rectangle.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_rectangle.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- vf_rectangle.c	18 Nov 2005 14:39:24 -0000	1.10
+++ vf_rectangle.c	21 Mar 2006 21:26:41 -0000	1.11
@@ -64,7 +64,7 @@
     return 0;
 }
 static int
-put_image(struct vf_instance_s* vf, mp_image_t* mpi){
+put_image(struct vf_instance_s* vf, mp_image_t* mpi, double pts){
     mp_image_t* dmpi;
     unsigned int bpp = mpi->bpp / 8;
     unsigned int x, y, w, h;
@@ -144,7 +144,7 @@
 	    p += dmpi->stride[0];
 	}
     }
-    return vf_next_put_image(vf, dmpi);
+    return vf_next_put_image(vf, dmpi, pts);
 }
 
 static int

Index: vf_remove_logo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_remove_logo.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_remove_logo.c	12 Jan 2006 20:04:34 -0000	1.4
+++ vf_remove_logo.c	21 Mar 2006 21:26:41 -0000	1.5
@@ -771,7 +771,7 @@
  * filter, has the logo removed by the filter, and is then sent to the next
  * filter.
  */
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     
     dmpi=vf_get_image(vf->next,((vf_priv_s *)vf->priv)->fmt,
@@ -810,7 +810,7 @@
 	return 0;
     }
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_rgb2bgr.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_rgb2bgr.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_rgb2bgr.c	18 Nov 2005 14:39:24 -0000	1.7
+++ vf_rgb2bgr.c	21 Mar 2006 21:26:41 -0000	1.8
@@ -44,7 +44,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,vf->priv->fmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     // hope we'll get DR buffer:
@@ -72,7 +72,7 @@
 	    rgb24tobgr24(mpi->planes[0],dmpi->planes[0],mpi->w*mpi->h*3);
     }
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_rgbtest.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_rgbtest.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vf_rgbtest.c	18 Nov 2005 14:39:24 -0000	1.3
+++ vf_rgbtest.c	21 Mar 2006 21:26:41 -0000	1.4
@@ -86,7 +86,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,vf->priv->fmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     int x, y;
 
@@ -108,7 +108,7 @@
          }
      }
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_rotate.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_rotate.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vf_rotate.c	18 Nov 2005 14:39:24 -0000	1.9
+++ vf_rotate.c	21 Mar 2006 21:26:41 -0000	1.10
@@ -69,7 +69,7 @@
     return vf_next_config(vf,height,width,d_height,d_width,flags,outfmt);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     // hope we'll get DR buffer:
@@ -94,7 +94,7 @@
 	dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
     }
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_sab.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_sab.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vf_sab.c	13 Jan 2006 00:23:31 -0000	1.8
+++ vf_sab.c	21 Mar 2006 21:26:41 -0000	1.9
@@ -236,7 +236,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
 
@@ -250,7 +250,7 @@
 	blur(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], &vf->priv->chroma);
 	blur(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], &vf->priv->chroma);
     
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_scale.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_scale.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- vf_scale.c	24 Feb 2006 15:22:59 -0000	1.64
+++ vf_scale.c	21 Mar 2006 21:26:41 -0000	1.65
@@ -322,7 +322,7 @@
     scale(vf->priv->ctx, vf->priv->ctx2, src, stride, y, h, dmpi->planes, dmpi->stride, vf->priv->interlaced);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi=mpi->priv;
 
 //    printf("vf_scale::put_image(): processing whole frame! dmpi=%p flag=%d\n",
@@ -346,7 +346,7 @@
 
     if(vf->priv->palette) dmpi->planes[1]=vf->priv->palette; // export palette!
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static int control(struct vf_instance_s* vf, int request, void* data){

Index: vf_screenshot.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_screenshot.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vf_screenshot.c	18 Nov 2005 14:39:24 -0000	1.8
+++ vf_screenshot.c	21 Mar 2006 21:26:42 -0000	1.9
@@ -187,7 +187,7 @@
     mpi->priv=(void*)vf->dmpi;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     mp_image_t *dmpi = (mp_image_t *)mpi->priv;
     
@@ -220,7 +220,7 @@
 	vf->priv->store_slices = 0;
     }
 
-    return vf_next_put_image(vf, dmpi);
+    return vf_next_put_image(vf, dmpi, pts);
 }
 
 int control (vf_instance_t *vf, int request, void *data)

Index: vf_smartblur.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_smartblur.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- vf_smartblur.c	13 Jan 2006 00:23:31 -0000	1.11
+++ vf_smartblur.c	21 Mar 2006 21:26:42 -0000	1.12
@@ -184,7 +184,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	int cw= mpi->w >> mpi->chroma_x_shift;
 	int ch= mpi->h >> mpi->chroma_y_shift;
 	FilterParam *f= &vf->priv;
@@ -200,7 +200,7 @@
 	blur(dmpi->planes[1], mpi->planes[1], cw    , ch   , dmpi->stride[1], mpi->stride[1], &vf->priv->chroma);
 	blur(dmpi->planes[2], mpi->planes[2], cw    , ch   , dmpi->stride[2], mpi->stride[2], &vf->priv->chroma);
     
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_softpulldown.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_softpulldown.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_softpulldown.c	18 Nov 2005 14:39:24 -0000	1.4
+++ vf_softpulldown.c	21 Mar 2006 21:26:42 -0000	1.5
@@ -33,7 +33,7 @@
 	return retval;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 	int ret = 0;
@@ -59,7 +59,7 @@
 	}
 
 	if (state == 0) {
-		ret = vf_next_put_image(vf, mpi);
+		ret = vf_next_put_image(vf, mpi, MP_NOPTS_VALUE);
 		vf->priv->out++;
 		if (flags & MP_IMGFIELD_REPEAT_FIRST) {
 			my_memcpy_pic(dmpi->planes[0],
@@ -95,10 +95,10 @@
 			              mpi->chroma_width, mpi->chroma_height/2,
 			              dmpi->stride[2]*2, mpi->stride[2]*2);
 		}
-		ret = vf_next_put_image(vf, dmpi);
+		ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 		vf->priv->out++;
 		if (flags & MP_IMGFIELD_REPEAT_FIRST) {
-			ret |= vf_next_put_image(vf, mpi);
+			ret |= vf_next_put_image(vf, mpi, MP_NOPTS_VALUE);
 			vf->priv->out++;
 			state=0;
 		} else {

Index: vf_softskip.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_softskip.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vf_softskip.c	18 Nov 2005 14:39:24 -0000	1.2
+++ vf_softskip.c	21 Mar 2006 21:26:42 -0000	1.3
@@ -15,7 +15,7 @@
 	int skipflag;
 };
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 	
@@ -34,7 +34,7 @@
 		dmpi->stride[2] = mpi->stride[2];
 	}
 	
-	return vf_next_put_image(vf, dmpi);
+	return vf_next_put_image(vf, dmpi, pts);
 }
 
 static int control(struct vf_instance_s* vf, int request, void* data)

Index: vf_spp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_spp.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- vf_spp.c	31 Jan 2006 23:36:12 -0000	1.34
+++ vf_spp.c	21 Mar 2006 21:26:42 -0000	1.35
@@ -465,7 +465,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	mp_image_t *dmpi;
 
 	if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -508,7 +508,7 @@
 	if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
 #endif
 
-	return vf_next_put_image(vf,dmpi);
+	return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_swapuv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_swapuv.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_swapuv.c	13 Jan 2006 00:23:31 -0000	1.7
+++ vf_swapuv.c	21 Mar 2006 21:26:42 -0000	1.8
@@ -53,7 +53,7 @@
     mpi->priv=(void*)dmpi;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     
     if(mpi->flags&MP_IMGFLAG_DIRECT){
@@ -72,7 +72,7 @@
     
     vf_clone_mpi_attributes(dmpi, mpi);
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_telecine.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_telecine.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vf_telecine.c	18 Nov 2005 14:39:24 -0000	1.3
+++ vf_telecine.c	21 Mar 2006 21:26:42 -0000	1.4
@@ -30,7 +30,7 @@
 	return retval;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	mp_image_t *dmpi;
 	int ret;
@@ -58,7 +58,7 @@
 				mpi->chroma_width, mpi->chroma_height/2,
 				dmpi->stride[2]*2, mpi->stride[2]*2);
 		}
-		ret = vf_next_put_image(vf, dmpi);
+		ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 	case 1:
 	case 2:
 		memcpy_pic(dmpi->planes[0], mpi->planes[0], mpi->w, mpi->h,
@@ -71,7 +71,7 @@
 				mpi->chroma_width, mpi->chroma_height,
 				dmpi->stride[2], mpi->stride[2]);
 		}
-		return vf_next_put_image(vf, dmpi) || ret;
+		return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE) || ret;
 	case 3:
 		my_memcpy_pic(dmpi->planes[0]+dmpi->stride[0],
 			mpi->planes[0]+mpi->stride[0], mpi->w, mpi->h/2,
@@ -86,7 +86,7 @@
 				mpi->chroma_width, mpi->chroma_height/2,
 				dmpi->stride[2]*2, mpi->stride[2]*2);
 		}
-		ret = vf_next_put_image(vf, dmpi);
+		ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 		my_memcpy_pic(dmpi->planes[0], mpi->planes[0], mpi->w, mpi->h/2,
 			dmpi->stride[0]*2, mpi->stride[0]*2);
 		if (mpi->flags & MP_IMGFLAG_PLANAR) {

Index: vf_test.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_test.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vf_test.c	9 Feb 2006 14:07:55 -0000	1.8
+++ vf_test.c	21 Mar 2006 21:26:42 -0000	1.9
@@ -268,7 +268,7 @@
 	}
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     int frame= vf->priv->frame_num;
 
@@ -301,7 +301,7 @@
 
     frame++;
     vf->priv->frame_num= frame;
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_tfields.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_tfields.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- vf_tfields.c	18 Nov 2005 14:39:24 -0000	1.12
+++ vf_tfields.c	21 Mar 2006 21:26:42 -0000	1.13
@@ -311,7 +311,7 @@
 static void (*qpel_li)(unsigned char *d, unsigned char *s, int w, int h, int ds, int ss, int up);
 static void (*qpel_4tap)(unsigned char *d, unsigned char *s, int w, int h, int ds, int ss, int up);
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int i;
 	int ret=0;
@@ -356,7 +356,7 @@
 				dmpi->stride[1] = 2*mpi->stride[1];
 				dmpi->stride[2] = 2*mpi->stride[2];
 			}
-			ret |= vf_next_put_image(vf, dmpi);
+			ret |= vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
 		}
 		break;
@@ -383,7 +383,7 @@
 				deint(dmpi->planes[2], dmpi->stride[2], mpi->planes[2], mpi->stride[2],
 					mpi->chroma_width, mpi->chroma_height, (i^!tff));
 			}
-			ret |= vf_next_put_image(vf, dmpi);
+			ret |= vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
 		}
 		break;
@@ -406,7 +406,7 @@
 					mpi->chroma_width, mpi->chroma_height/2,
 					dmpi->stride[2], mpi->stride[2]*2, (i^!tff));
 			}
-			ret |= vf_next_put_image(vf, dmpi);
+			ret |= vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 			if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
 		}
 		break;

Index: vf_tile.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_tile.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vf_tile.c	18 Nov 2005 14:39:24 -0000	1.2
+++ vf_tile.c	21 Mar 2006 21:26:42 -0000	1.3
@@ -93,7 +93,7 @@
 }
 
 /* Filter handler */
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
     mp_image_t        *dmpi;
     struct vf_priv_s  *priv;
@@ -170,7 +170,7 @@
         /* Display the composition */
         dmpi->width  = xw;
         dmpi->height = yh;
-        return vf_next_put_image(vf, dmpi);
+        return vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
     }
     else {
         /* Skip the frame */

Index: vf_tinterlace.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_tinterlace.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- vf_tinterlace.c	13 Jan 2006 00:23:31 -0000	1.4
+++ vf_tinterlace.c	21 Mar 2006 21:26:42 -0000	1.5
@@ -35,7 +35,7 @@
 	mp_image_t *dmpi;
 };
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts)
 {
 	int ret = 0;
 	mp_image_t *dmpi;
@@ -74,16 +74,16 @@
 					   mpi->chroma_width, mpi->chroma_height,
 					   dmpi->stride[2]*2, mpi->stride[2]);
 			}
-			ret = vf_next_put_image(vf, dmpi);
+			ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 		}
 		break;
 	case 1:
 		if (vf->priv->frame & 1)
-			ret = vf_next_put_image(vf, mpi);
+			ret = vf_next_put_image(vf, mpi, MP_NOPTS_VALUE);
 		break;
 	case 2:
 		if ((vf->priv->frame & 1) == 0)
-			ret = vf_next_put_image(vf, mpi);
+			ret = vf_next_put_image(vf, mpi, MP_NOPTS_VALUE);
 		break;
 	case 3:
 		dmpi = vf_get_image(vf->next, mpi->imgfmt,
@@ -114,7 +114,7 @@
 					   dmpi->stride[2]*2, mpi->stride[2]);
 			}
 		}
-		ret = vf_next_put_image(vf, dmpi);
+		ret = vf_next_put_image(vf, dmpi, MP_NOPTS_VALUE);
 		break;
 	}
 

Index: vf_unsharp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_unsharp.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vf_unsharp.c	13 Jan 2006 00:23:31 -0000	1.9
+++ vf_unsharp.c	21 Mar 2006 21:26:42 -0000	1.10
@@ -183,7 +183,7 @@
     mpi->flags |= MP_IMGFLAG_DIRECT;
 }
 
-static int put_image( struct vf_instance_s* vf, mp_image_t *mpi ) {
+static int put_image( struct vf_instance_s* vf, mp_image_t *mpi, double pts) {
     mp_image_t *dmpi;
 
     if( !(mpi->flags & MP_IMGFLAG_DIRECT) )
@@ -206,7 +206,7 @@
 	asm volatile ("sfence\n\t");
 #endif
     
-    return vf_next_put_image( vf, dmpi );
+    return vf_next_put_image( vf, dmpi, pts);
 }
 
 static void uninit( struct vf_instance_s* vf ) {

Index: vf_uspp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_uspp.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_uspp.c	13 Feb 2006 07:00:37 -0000	1.6
+++ vf_uspp.c	21 Mar 2006 21:26:42 -0000	1.7
@@ -275,7 +275,7 @@
     mpi->flags|=MP_IMGFLAG_DIRECT;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -307,7 +307,7 @@
     if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
 #endif
 
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 static void uninit(struct vf_instance_s* vf){

Index: vf_vo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_vo.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- vf_vo.c	18 Nov 2005 14:39:25 -0000	1.26
+++ vf_vo.c	21 Mar 2006 21:26:42 -0000	1.27
@@ -100,7 +100,7 @@
 }
 
 static int put_image(struct vf_instance_s* vf,
-        mp_image_t *mpi){
+        mp_image_t *mpi, double pts){
   if(!vo_config_count) return 0; // vo not configured?
   // first check, maybe the vo/vf plugin implements draw_image using mpi:
   if(video_out->control(VOCTRL_DRAW_IMAGE,mpi)==VO_TRUE) return 1; // done.

Index: vf_yuvcsp.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_yuvcsp.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vf_yuvcsp.c	18 Nov 2005 14:39:25 -0000	1.2
+++ vf_yuvcsp.c	21 Mar 2006 21:26:42 -0000	1.3
@@ -30,7 +30,7 @@
     return (x > 240) ? 240 : (x < 16) ? 16 : x;
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     int i,j;
     uint8_t *y_in, *cb_in, *cr_in;
     uint8_t *y_out, *cb_out, *cr_out;
@@ -58,7 +58,7 @@
 	    cr_out[i*vf->dmpi->stride[2]+j] = clamp_c(cr_in[i*mpi->stride[2]+j]);
 	}
     
-    return vf_next_put_image(vf,vf->dmpi);
+    return vf_next_put_image(vf,vf->dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_yuy2.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_yuy2.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vf_yuy2.c	18 Nov 2005 14:39:25 -0000	1.9
+++ vf_yuy2.c	21 Mar 2006 21:26:42 -0000	1.10
@@ -30,7 +30,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YUY2);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
 
     // hope we'll get DR buffer:
@@ -47,7 +47,7 @@
     
     vf_clone_mpi_attributes(dmpi, mpi);
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_yvu9.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_yvu9.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vf_yvu9.c	18 Nov 2005 14:39:25 -0000	1.7
+++ vf_yvu9.c	21 Mar 2006 21:26:42 -0000	1.8
@@ -27,7 +27,7 @@
     return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YV12);
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
     mp_image_t *dmpi;
     int y,w,h;
 
@@ -57,7 +57,7 @@
 
     vf_clone_mpi_attributes(dmpi, mpi);
     
-    return vf_next_put_image(vf,dmpi);
+    return vf_next_put_image(vf,dmpi, pts);
 }
 
 //===========================================================================//

Index: vf_zrmjpeg.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_zrmjpeg.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- vf_zrmjpeg.c	18 Nov 2005 14:39:25 -0000	1.6
+++ vf_zrmjpeg.c	21 Mar 2006 21:26:42 -0000	1.7
@@ -663,7 +663,7 @@
 		(priv->fields == 2) ? IMGFMT_ZRMJPEGIT : IMGFMT_ZRMJPEGNI); 
 }
 
-static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
 	struct vf_priv_s *priv = vf->priv;
 	int size = 0;
 	int i;
@@ -679,7 +679,7 @@
 			MP_IMGTYPE_EXPORT, 0, mpi->w, mpi->h);
 	dmpi->planes[0] = (uint8_t*)priv->buf;
 	dmpi->planes[1] = (uint8_t*)size;
-	return vf_next_put_image(vf,dmpi); 
+	return vf_next_put_image(vf,dmpi, pts); 
 }
 
 static int query_format(struct vf_instance_s* vf, unsigned int fmt){




More information about the MPlayer-cvslog mailing list