summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-21 21:26:42 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-21 21:26:42 +0000
commit02b199e5e93926cc106774068eb3e883826c3ae4 (patch)
tree4dfe84f1d807e9fc598c347511bb9dfa84157500 /libmpcodecs
parentaa6943767de4902e5b29e9952e252a1e75aac7ac (diff)
downloadmpv-02b199e5e93926cc106774068eb3e883826c3ae4.tar.bz2
mpv-02b199e5e93926cc106774068eb3e883826c3ae4.tar.xz
passing pts through the filter layer (lets see if pts or cola comes out at the end)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17907 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/dec_video.c2
-rw-r--r--libmpcodecs/ve_divx4.c2
-rw-r--r--libmpcodecs/ve_lavc.c19
-rw-r--r--libmpcodecs/ve_libdv.c4
-rw-r--r--libmpcodecs/ve_nuv.c4
-rw-r--r--libmpcodecs/ve_qtvideo.c2
-rw-r--r--libmpcodecs/ve_raw.c4
-rw-r--r--libmpcodecs/ve_vfw.c4
-rw-r--r--libmpcodecs/ve_x264.c4
-rw-r--r--libmpcodecs/ve_xvid.c2
-rw-r--r--libmpcodecs/ve_xvid4.c2
-rw-r--r--libmpcodecs/vf.c4
-rw-r--r--libmpcodecs/vf.h8
-rw-r--r--libmpcodecs/vf_1bpp.c4
-rw-r--r--libmpcodecs/vf_2xsai.c4
-rw-r--r--libmpcodecs/vf_bmovl.c14
-rw-r--r--libmpcodecs/vf_boxblur.c4
-rw-r--r--libmpcodecs/vf_crop.c6
-rw-r--r--libmpcodecs/vf_cropdetect.c4
-rw-r--r--libmpcodecs/vf_decimate.c4
-rw-r--r--libmpcodecs/vf_delogo.c4
-rw-r--r--libmpcodecs/vf_denoise3d.c4
-rw-r--r--libmpcodecs/vf_detc.c4
-rw-r--r--libmpcodecs/vf_dint.c4
-rw-r--r--libmpcodecs/vf_divtc.c6
-rw-r--r--libmpcodecs/vf_down3dright.c4
-rw-r--r--libmpcodecs/vf_eq.c4
-rw-r--r--libmpcodecs/vf_eq2.c4
-rw-r--r--libmpcodecs/vf_expand.c6
-rw-r--r--libmpcodecs/vf_fame.c4
-rw-r--r--libmpcodecs/vf_field.c4
-rw-r--r--libmpcodecs/vf_fil.c6
-rw-r--r--libmpcodecs/vf_filmdint.c4
-rw-r--r--libmpcodecs/vf_flip.c6
-rw-r--r--libmpcodecs/vf_framestep.c4
-rw-r--r--libmpcodecs/vf_fspp.c4
-rw-r--r--libmpcodecs/vf_halfpack.c4
-rw-r--r--libmpcodecs/vf_harddup.c6
-rw-r--r--libmpcodecs/vf_hqdn3d.c4
-rw-r--r--libmpcodecs/vf_hue.c4
-rw-r--r--libmpcodecs/vf_il.c4
-rw-r--r--libmpcodecs/vf_ilpack.c4
-rw-r--r--libmpcodecs/vf_ivtc.c4
-rw-r--r--libmpcodecs/vf_kerndeint.c4
-rw-r--r--libmpcodecs/vf_lavc.c6
-rw-r--r--libmpcodecs/vf_lavcdeint.c4
-rw-r--r--libmpcodecs/vf_mirror.c4
-rw-r--r--libmpcodecs/vf_noise.c4
-rw-r--r--libmpcodecs/vf_palette.c4
-rw-r--r--libmpcodecs/vf_perspective.c4
-rw-r--r--libmpcodecs/vf_phase.c4
-rw-r--r--libmpcodecs/vf_pp.c4
-rw-r--r--libmpcodecs/vf_pp7.c4
-rw-r--r--libmpcodecs/vf_pullup.c6
-rw-r--r--libmpcodecs/vf_qp.c4
-rw-r--r--libmpcodecs/vf_rectangle.c4
-rw-r--r--libmpcodecs/vf_remove_logo.c4
-rw-r--r--libmpcodecs/vf_rgb2bgr.c4
-rw-r--r--libmpcodecs/vf_rgbtest.c4
-rw-r--r--libmpcodecs/vf_rotate.c4
-rw-r--r--libmpcodecs/vf_sab.c4
-rw-r--r--libmpcodecs/vf_scale.c4
-rw-r--r--libmpcodecs/vf_screenshot.c4
-rw-r--r--libmpcodecs/vf_smartblur.c4
-rw-r--r--libmpcodecs/vf_softpulldown.c8
-rw-r--r--libmpcodecs/vf_softskip.c4
-rw-r--r--libmpcodecs/vf_spp.c4
-rw-r--r--libmpcodecs/vf_swapuv.c4
-rw-r--r--libmpcodecs/vf_telecine.c8
-rw-r--r--libmpcodecs/vf_test.c4
-rw-r--r--libmpcodecs/vf_tfields.c8
-rw-r--r--libmpcodecs/vf_tile.c4
-rw-r--r--libmpcodecs/vf_tinterlace.c10
-rw-r--r--libmpcodecs/vf_unsharp.c4
-rw-r--r--libmpcodecs/vf_uspp.c4
-rw-r--r--libmpcodecs/vf_vo.c2
-rw-r--r--libmpcodecs/vf_yuvcsp.c4
-rw-r--r--libmpcodecs/vf_yuy2.c4
-rw-r--r--libmpcodecs/vf_yvu9.c4
-rw-r--r--libmpcodecs/vf_zrmjpeg.c4
80 files changed, 191 insertions, 180 deletions
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 7bee9379ab..7916a6281f 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -336,7 +336,7 @@ if(!mpi || drop_frame) return 0; // error / skipped frame
//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;
diff --git a/libmpcodecs/ve_divx4.c b/libmpcodecs/ve_divx4.c
index 565713bf99..138c806218 100644
--- a/libmpcodecs/ve_divx4.c
+++ b/libmpcodecs/ve_divx4.c
@@ -387,7 +387,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
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;
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index efc8d7b582..d08d4c4a25 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -338,7 +338,7 @@ struct vf_priv_s {
#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 @@ static int control(struct vf_instance_s* vf, int request, void* data){
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 @@ static double psnr(double d){
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 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
#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 @@ static int encode_frame(struct vf_instance_s* vf, AVFrame *pic){
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 */
diff --git a/libmpcodecs/ve_libdv.c b/libmpcodecs/ve_libdv.c
index 0f9430f295..3d4fd56a2e 100644
--- a/libmpcodecs/ve_libdv.c
+++ b/libmpcodecs/ve_libdv.c
@@ -71,13 +71,13 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
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;
}
diff --git a/libmpcodecs/ve_nuv.c b/libmpcodecs/ve_nuv.c
index e61ac326ad..7d3706821e 100644
--- a/libmpcodecs/ve_nuv.c
+++ b/libmpcodecs/ve_nuv.c
@@ -97,7 +97,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
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 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
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;
}
diff --git a/libmpcodecs/ve_qtvideo.c b/libmpcodecs/ve_qtvideo.c
index 0d6fe172f5..6050e59860 100644
--- a/libmpcodecs/ve_qtvideo.c
+++ b/libmpcodecs/ve_qtvideo.c
@@ -172,7 +172,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
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;
diff --git a/libmpcodecs/ve_raw.c b/libmpcodecs/ve_raw.c
index 8557eae1da..aeffee2e64 100644
--- a/libmpcodecs/ve_raw.c
+++ b/libmpcodecs/ve_raw.c
@@ -115,9 +115,9 @@ static int query_format(struct vf_instance_s *vf, unsigned int fmt) {
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;
}
diff --git a/libmpcodecs/ve_vfw.c b/libmpcodecs/ve_vfw.c
index b362908a89..6a272c5eeb 100644
--- a/libmpcodecs/ve_vfw.c
+++ b/libmpcodecs/ve_vfw.c
@@ -238,12 +238,12 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
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;
}
diff --git a/libmpcodecs/ve_x264.c b/libmpcodecs/ve_x264.c
index ba03fa4374..c8ad1fdeca 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -221,7 +221,7 @@ static int parse_cqm(const char *str, uint8_t *cqm, int length,
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 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt)
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;
diff --git a/libmpcodecs/ve_xvid.c b/libmpcodecs/ve_xvid.c
index 881d9508a5..cf2016c73a 100644
--- a/libmpcodecs/ve_xvid.c
+++ b/libmpcodecs/ve_xvid.c
@@ -434,7 +434,7 @@ query_format(struct vf_instance_s* vf, unsigned int fmt)
}
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;
diff --git a/libmpcodecs/ve_xvid4.c b/libmpcodecs/ve_xvid4.c
index cde7dbc75f..b0a5ddfd8f 100644
--- a/libmpcodecs/ve_xvid4.c
+++ b/libmpcodecs/ve_xvid4.c
@@ -591,7 +591,7 @@ query_format(struct vf_instance_s* vf, unsigned int fmt)
*==========================================================================*/
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;
diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c
index c436547c46..f7fb37ba76 100644
--- a/libmpcodecs/vf.c
+++ b/libmpcodecs/vf.c
@@ -630,8 +630,8 @@ int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt){
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){
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index 00a6cf2166..32a44d286b 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -37,7 +37,7 @@ typedef struct vf_instance_s {
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 @@ typedef struct vf_seteq_s
#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 @@ int vf_next_config(struct vf_instance_s* vf,
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);
diff --git a/libmpcodecs/vf_1bpp.c b/libmpcodecs/vf_1bpp.c
index 400ddda781..e3aa9d8184 100644
--- a/libmpcodecs/vf_1bpp.c
+++ b/libmpcodecs/vf_1bpp.c
@@ -105,7 +105,7 @@ static void convert(mp_image_t *mpi, mp_image_t *dmpi, int value0, int value1,in
}
}
-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 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
return 0;
}
- return vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi, pts);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_2xsai.c b/libmpcodecs/vf_2xsai.c
index 338ecd387b..6e1f79751a 100644
--- a/libmpcodecs/vf_2xsai.c
+++ b/libmpcodecs/vf_2xsai.c
@@ -318,7 +318,7 @@ static int config(struct vf_instance_s* vf,
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 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
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);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_bmovl.c b/libmpcodecs/vf_bmovl.c
index 2275b912f4..2e623052f8 100644
--- a/libmpcodecs/vf_bmovl.c
+++ b/libmpcodecs/vf_bmovl.c
@@ -199,7 +199,7 @@ _read_cmd(int fd, char *cmd, char *args) {
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 @@ put_image(struct vf_instance_s* vf, mp_image_t* mpi){
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 @@ put_image(struct vf_instance_s* vf, mp_image_t* mpi){
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 @@ put_image(struct vf_instance_s* vf, mp_image_t* mpi){
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 @@ put_image(struct vf_instance_s* vf, mp_image_t* mpi){
}
}
- if(vf->priv->hidden) return vf_next_put_image(vf, dmpi);
+ if(vf->priv->hidden) return vf_next_put_imag