summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-10 22:18:32 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-10 22:18:32 +0000
commitc7944423a3152cf731f8d7f18f1989d59ccfc935 (patch)
tree1ba4d67aaa3179ed1d6346f09f12411298f0bcb1
parent52e890ea55c5eea5daeefcea8b81a346d67e65db (diff)
downloadmpv-c7944423a3152cf731f8d7f18f1989d59ccfc935.tar.bz2
mpv-c7944423a3152cf731f8d7f18f1989d59ccfc935.tar.xz
changing return type of put_image void->int
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7369 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libmpcodecs/dec_video.c7
-rw-r--r--libmpcodecs/ve_divx4.c3
-rw-r--r--libmpcodecs/ve_lavc.c3
-rw-r--r--libmpcodecs/ve_libdv.c3
-rw-r--r--libmpcodecs/ve_rawrgb.c3
-rw-r--r--libmpcodecs/ve_vfw.c3
-rw-r--r--libmpcodecs/vf.c4
-rw-r--r--libmpcodecs/vf.h4
-rw-r--r--libmpcodecs/vf_crop.c4
-rw-r--r--libmpcodecs/vf_cropdetect.c4
-rw-r--r--libmpcodecs/vf_eq.c4
-rw-r--r--libmpcodecs/vf_expand.c8
-rw-r--r--libmpcodecs/vf_fame.c6
-rw-r--r--libmpcodecs/vf_flip.c8
-rw-r--r--libmpcodecs/vf_halfpack.c4
-rw-r--r--libmpcodecs/vf_lavc.c6
-rw-r--r--libmpcodecs/vf_lavcdeint.c6
-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_pp.c4
-rw-r--r--libmpcodecs/vf_rectangle.c4
-rw-r--r--libmpcodecs/vf_rgb2bgr.c4
-rw-r--r--libmpcodecs/vf_rotate.c4
-rw-r--r--libmpcodecs/vf_scale.c4
-rw-r--r--libmpcodecs/vf_test.c4
-rw-r--r--libmpcodecs/vf_vo.c7
-rw-r--r--libmpcodecs/vf_yuy2.c4
-rw-r--r--libmpcodecs/vf_yvu9.c4
29 files changed, 69 insertions, 62 deletions
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 58b353400a..ad4fce1f84 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -212,6 +212,7 @@ mp_image_t *mpi=NULL;
unsigned int t=GetTimer();
unsigned int t2;
double tt;
+int ret;
//if(!(sh_video->ds->flags&1) || sh_video->ds->pack_no<5)
mpi=mpvdec->decode(sh_video, start, in_size, drop_frame);
@@ -237,12 +238,12 @@ if(!mpi || drop_frame) return 0; // error / skipped frame
//vo_draw_image(video_out,mpi);
vf=sh_video->vfilter;
-vf->put_image(vf,mpi);
-vf->control(vf,VFCTRL_DRAW_OSD,NULL);
+ret = vf->put_image(vf,mpi); // apply video filters and call the leaf vo/ve
+if(ret>0) vf->control(vf,VFCTRL_DRAW_OSD,NULL);
t2=GetTimer()-t2;
tt=t2*0.000001f;
vout_time_usage+=tt;
- return 1;
+return ret;
}
diff --git a/libmpcodecs/ve_divx4.c b/libmpcodecs/ve_divx4.c
index b7e1cc40c7..af7c296ac4 100644
--- a/libmpcodecs/ve_divx4.c
+++ b/libmpcodecs/ve_divx4.c
@@ -223,7 +223,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
ENC_RESULT enc_result;
vf->priv->enc_frame.image=mpi->planes[0];
vf->priv->enc_frame.bitstream=mux_v->buffer;
@@ -273,6 +273,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
}
mencoder_write_chunk(mux_v,vf->priv->enc_frame.length,enc_result.is_key_frame?0x10:0);
+ return 1;
}
//===========================================================================//
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index d1427c5258..3c4d8c11ff 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -387,7 +387,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
int out_size;
AVPicture lavc_venc_picture;
@@ -431,6 +431,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(lavc_venc_context.stats_out && stats_file)
fprintf(stats_file, "%s", lavc_venc_context.stats_out);
#endif
+ return 1;
}
static void uninit(struct vf_instance_s* vf){
diff --git a/libmpcodecs/ve_libdv.c b/libmpcodecs/ve_libdv.c
index 67facec9d9..ed06abb517 100644
--- a/libmpcodecs/ve_libdv.c
+++ b/libmpcodecs/ve_libdv.c
@@ -72,13 +72,14 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
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);
mencoder_write_chunk(mux_v, 480 * (vf->priv->enc->isPAL ? 300 : 250) , 0x10);
+ return 1;
}
//===========================================================================//
diff --git a/libmpcodecs/ve_rawrgb.c b/libmpcodecs/ve_rawrgb.c
index 21ad8f400a..55e119fdf7 100644
--- a/libmpcodecs/ve_rawrgb.c
+++ b/libmpcodecs/ve_rawrgb.c
@@ -46,9 +46,10 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mux_v->buffer=mpi->planes[0];
mencoder_write_chunk(mux_v, mpi->width*mpi->height*3, 0x10);
+ return 1;
}
//===========================================================================//
diff --git a/libmpcodecs/ve_vfw.c b/libmpcodecs/ve_vfw.c
index 1ffceaec37..d13f82ad8e 100644
--- a/libmpcodecs/ve_vfw.c
+++ b/libmpcodecs/ve_vfw.c
@@ -238,12 +238,13 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
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);
mencoder_write_chunk(mux_v,mux_v->bih->biSizeImage,flags);
+ return 1;
}
//===========================================================================//
diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c
index dcbd2e5ec4..5f8b8595f7 100644
--- a/libmpcodecs/vf.c
+++ b/libmpcodecs/vf.c
@@ -347,8 +347,8 @@ int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt){
return flags;
}
-void vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi){
- vf->next->put_image(vf->next,mpi);
+int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi){
+ return vf->next->put_image(vf->next,mpi);
}
//============================================================================
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index f7b86f1a1c..fa7fb47b2a 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -29,7 +29,7 @@ typedef struct vf_instance_s {
unsigned int fmt);
void (*get_image)(struct vf_instance_s* vf,
mp_image_t *mpi);
- void (*put_image)(struct vf_instance_s* vf,
+ int (*put_image)(struct vf_instance_s* vf,
mp_image_t *mpi);
void (*draw_slice)(struct vf_instance_s* vf,
unsigned char** src, int* stride, int w,int h, int x, int y);
@@ -77,7 +77,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);
-void 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);
vf_instance_t* append_filters(vf_instance_t* last);
diff --git a/libmpcodecs/vf_crop.c b/libmpcodecs/vf_crop.c
index 8b90621ebf..b9b20c8258 100644
--- a/libmpcodecs/vf_crop.c
+++ b/libmpcodecs/vf_crop.c
@@ -39,7 +39,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,vf->priv->crop_w,vf->priv->crop_h,d_width,d_height,flags,outfmt);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi=vf_get_image(vf->next,mpi->imgfmt,
MP_IMGTYPE_EXPORT, 0,
vf->priv->crop_w, vf->priv->crop_h);
@@ -59,7 +59,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
dmpi->stride[0]=mpi->stride[0];
dmpi->width=mpi->width;
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_cropdetect.c b/libmpcodecs/vf_cropdetect.c
index c6f3a6d313..f8b63cf5ba 100644
--- a/libmpcodecs/vf_cropdetect.c
+++ b/libmpcodecs/vf_cropdetect.c
@@ -55,7 +55,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
int bpp=mpi->bpp/8;
int x,y;
@@ -115,7 +115,7 @@ if(++vf->priv->fno>2){ // ignore first 2 frames - they may be empty
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_eq.c b/libmpcodecs/vf_eq.c
index 12dddaffb7..8ee2f6bf30 100644
--- a/libmpcodecs/vf_eq.c
+++ b/libmpcodecs/vf_eq.c
@@ -109,7 +109,7 @@ static void (*process)(unsigned char *dest, int dstride, unsigned char *src, int
/* FIXME: add packed yuv version of process */
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
{
mp_image_t *dmpi;
@@ -135,7 +135,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi)
vf->priv->contrast);
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
static int control(struct vf_instance_s* vf, int request, void* data)
diff --git a/libmpcodecs/vf_expand.c b/libmpcodecs/vf_expand.c
index 8f293923fd..afc5e7a5d9 100644
--- a/libmpcodecs/vf_expand.c
+++ b/libmpcodecs/vf_expand.c
@@ -221,14 +221,14 @@ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(mpi->flags&MP_IMGFLAG_DIRECT){
vf->priv->dmpi=mpi->priv;
#ifdef OSD_SUPPORT
if(vf->priv->osd) draw_osd(vf,mpi->w,mpi->h);
#endif
- vf_next_put_image(vf,vf->priv->dmpi);
- return; // we've used DR, so we're ready...
+ // we've used DR, so we're ready...
+ return vf_next_put_image(vf,vf->priv->dmpi);
}
// hope we'll get DR buffer:
@@ -259,7 +259,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
#ifdef OSD_SUPPORT
if(vf->priv->osd) draw_osd(vf,mpi->w,mpi->h);
#endif
- vf_next_put_image(vf,vf->priv->dmpi);
+ return vf_next_put_image(vf,vf->priv->dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_fame.c b/libmpcodecs/vf_fame.c
index e818663c83..bba975b208 100644
--- a/libmpcodecs/vf_fame.c
+++ b/libmpcodecs/vf_fame.c
@@ -45,7 +45,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_MPEGPES);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
fame_yuv_t yuv;
mp_image_t *dmpi;
int out_size;
@@ -62,7 +62,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
out_size = fame_encode_slice(vf->priv->ctx);
fame_end_frame(vf->priv->ctx, NULL);
- if(out_size<=0) return;
+ if(out_size<=0) return 1;
dmpi=vf_get_image(vf->next,IMGFMT_MPEGPES,
MP_IMGTYPE_EXPORT, 0,
@@ -75,7 +75,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->planes[0]=&vf->priv->pes;
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_flip.c b/libmpcodecs/vf_flip.c
index 8b5c3f467b..dfefd1e4d3 100644
--- a/libmpcodecs/vf_flip.c
+++ b/libmpcodecs/vf_flip.c
@@ -44,10 +44,10 @@ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(mpi->flags&MP_IMGFLAG_DIRECT){
- vf_next_put_image(vf,vf->priv->dmpi);
- return; // we've used DR, so we're ready...
+ // we've used DR, so we're ready...
+ return vf_next_put_image(vf,vf->priv->dmpi);
}
vf->priv->dmpi=vf_get_image(vf->next,mpi->imgfmt,
@@ -68,7 +68,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
} else
vf->priv->dmpi->planes[1]=mpi->planes[1]; // passthru bgr8 palette!!!
- vf_next_put_image(vf,vf->priv->dmpi);
+ return vf_next_put_image(vf,vf->priv->dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_halfpack.c b/libmpcodecs/vf_halfpack.c
index b57cbab1fa..0cef7f6c14 100644
--- a/libmpcodecs/vf_halfpack.c
+++ b/libmpcodecs/vf_halfpack.c
@@ -140,7 +140,7 @@ static void (*halfpack)(unsigned char *dst, unsigned char *src[3],
unsigned int dststride, unsigned int srcstride[3], int w, int h);
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi)
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
{
mp_image_t *dmpi;
@@ -153,7 +153,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi)
dmpi->stride[0], mpi->stride,
mpi->w, mpi->h);
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
static int config(struct vf_instance_s* vf,
diff --git a/libmpcodecs/vf_lavc.c b/libmpcodecs/vf_lavc.c
index 7acfcd75b0..9415748261 100644
--- a/libmpcodecs/vf_lavc.c
+++ b/libmpcodecs/vf_lavc.c
@@ -78,7 +78,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_MPEGPES);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t* dmpi;
int out_size;
AVPicture lavc_venc_picture;
@@ -93,7 +93,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
out_size = avcodec_encode_video(&lavc_venc_context,
vf->priv->outbuf, vf->priv->outbuf_size, &lavc_venc_picture);
- if(out_size<=0) return;
+ if(out_size<=0) return 1;
dmpi=vf_get_image(vf->next,IMGFMT_MPEGPES,
MP_IMGTYPE_EXPORT, 0,
@@ -106,7 +106,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->planes[0]=(unsigned char*)&vf->priv->pes;
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_lavcdeint.c b/libmpcodecs/vf_lavcdeint.c
index 8c64341ba2..e7e6107c3b 100644
--- a/libmpcodecs/vf_lavcdeint.c
+++ b/libmpcodecs/vf_lavcdeint.c
@@ -107,7 +107,7 @@ config (struct vf_instance_s* vf,
flags, outfmt);
}
-static void
+static int
put_image (struct vf_instance_s* vf, mp_image_t *mpi)
{
struct vf_priv_s *priv = vf->priv;
@@ -137,10 +137,10 @@ put_image (struct vf_instance_s* vf, mp_image_t *mpi)
priv->pix_fmt, priv->width, priv->height) < 0)
{
/* This should not happen -- see config() */
- return;
+ return 0;
}
- vf_next_put_image(vf, dmpi);
+ return vf_next_put_image(vf, dmpi);
}
diff --git a/libmpcodecs/vf_mirror.c b/libmpcodecs/vf_mirror.c
index 1cfe04017b..edb42e84fc 100644
--- a/libmpcodecs/vf_mirror.c
+++ b/libmpcodecs/vf_mirror.c
@@ -42,7 +42,7 @@ static void mirror(unsigned char* dst,unsigned char* src,int dststride,int srcst
//===========================================================================//
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -66,7 +66,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->w,dmpi->h,dmpi->bpp>>3);
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_noise.c b/libmpcodecs/vf_noise.c
index fb1cc90eeb..7a1ce5b739 100644
--- a/libmpcodecs/vf_noise.c
+++ b/libmpcodecs/vf_noise.c
@@ -334,7 +334,7 @@ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
mpi->flags|=MP_IMGFLAG_DIRECT;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
@@ -361,7 +361,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(gCpuCaps.hasMMX2) asm volatile ("sfence\n\t");
#endif
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
static void uninit(struct vf_instance_s* vf){
diff --git a/libmpcodecs/vf_palette.c b/libmpcodecs/vf_palette.c
index 0f511b17d5..1105b920e3 100644
--- a/libmpcodecs/vf_palette.c
+++ b/libmpcodecs/vf_palette.c
@@ -68,7 +68,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,vf->priv->fmt);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -144,7 +144,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c
index 6b5c005db0..490a38090c 100644
--- a/libmpcodecs/vf_pp.c
+++ b/libmpcodecs/vf_pp.c
@@ -67,7 +67,7 @@ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
mpi->flags|=MP_IMGFLAG_DIRECT;
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
// no DR, so get a new image! hope we'll get DR buffer:
vf->priv->dmpi=vf_get_image(vf->next,vf->priv->outfmt,
@@ -87,7 +87,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
vf->priv->pp);
}
- vf_next_put_image(vf,vf->priv->dmpi);
+ return vf_next_put_image(vf,vf->priv->dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_rectangle.c b/libmpcodecs/vf_rectangle.c
index 50f33a8cec..292d28a7fd 100644
--- a/libmpcodecs/vf_rectangle.c
+++ b/libmpcodecs/vf_rectangle.c
@@ -62,7 +62,7 @@ control(struct vf_instance_s* vf, int request, void *data)
return vf_next_control(vf, request, data);
return 0;
}
-static void
+static int
put_image(struct vf_instance_s* vf, mp_image_t* mpi){
mp_image_t* dmpi;
unsigned int bpp;
@@ -136,7 +136,7 @@ put_image(struct vf_instance_s* vf, mp_image_t* mpi){
p += dmpi->stride[0];
}
}
- vf_next_put_image(vf, dmpi);
+ return vf_next_put_image(vf, dmpi);
}
static int
diff --git a/libmpcodecs/vf_rgb2bgr.c b/libmpcodecs/vf_rgb2bgr.c
index 251c4c88a9..99574b17db 100644
--- a/libmpcodecs/vf_rgb2bgr.c
+++ b/libmpcodecs/vf_rgb2bgr.c
@@ -44,7 +44,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,vf->priv->fmt);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -72,7 +72,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
rgb24tobgr24(mpi->planes[0],dmpi->planes[0],mpi->w*mpi->h*3);
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_rotate.c b/libmpcodecs/vf_rotate.c
index e4378d151c..23d3005ab1 100644
--- a/libmpcodecs/vf_rotate.c
+++ b/libmpcodecs/vf_rotate.c
@@ -60,7 +60,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,height,width,d_height,d_width,flags,outfmt);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -84,7 +84,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->w,dmpi->h,dmpi->bpp>>3,vf->priv->direction);
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c
index 587d45b09d..22c3cb31b8 100644
--- a/libmpcodecs/vf_scale.c
+++ b/libmpcodecs/vf_scale.c
@@ -166,7 +166,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,vf->priv->w,vf->priv->h,d_width,d_height,flags,best);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -182,7 +182,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->qstride=mpi->qstride;
}
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_test.c b/libmpcodecs/vf_test.c
index 4dd81ba464..1f3a63b945 100644
--- a/libmpcodecs/vf_test.c
+++ b/libmpcodecs/vf_test.c
@@ -268,7 +268,7 @@ static void ring2Test(uint8_t *dst, int stride, int off)
}
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
int frame= vf->priv->frame_num;
@@ -299,9 +299,9 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
}
}
- vf_next_put_image(vf,dmpi);
frame++;
vf->priv->frame_num= frame;
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c
index da9ef883d8..55df6c73b2 100644
--- a/libmpcodecs/vf_vo.c
+++ b/libmpcodecs/vf_vo.c
@@ -87,11 +87,11 @@ static void get_image(struct vf_instance_s* vf,
video_out->control(VOCTRL_GET_IMAGE,mpi);
}
-static void put_image(struct vf_instance_s* vf,
+static int put_image(struct vf_instance_s* vf,
mp_image_t *mpi){
- if(!vo_config_count) return; // vo not configured?
+ 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; // done.
+ if(video_out->control(VOCTRL_DRAW_IMAGE,mpi)==VO_TRUE) return 1; // done.
// nope, fallback to old draw_frame/draw_slice:
if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))){
// blit frame:
@@ -100,6 +100,7 @@ static void put_image(struct vf_instance_s* vf,
else
video_out->draw_frame(mpi->planes);
}
+ return 1;
}
static void draw_slice(struct vf_instance_s* vf,
diff --git a/libmpcodecs/vf_yuy2.c b/libmpcodecs/vf_yuy2.c
index c8091a0524..b7ab4b18bc 100644
--- a/libmpcodecs/vf_yuy2.c
+++ b/libmpcodecs/vf_yuy2.c
@@ -27,7 +27,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YUY2);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
// hope we'll get DR buffer:
@@ -45,7 +45,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->qscale=mpi->qscale;
dmpi->qstride=mpi->qstride;
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//
diff --git a/libmpcodecs/vf_yvu9.c b/libmpcodecs/vf_yvu9.c
index 7f66855f63..c2dc0797c1 100644
--- a/libmpcodecs/vf_yvu9.c
+++ b/libmpcodecs/vf_yvu9.c
@@ -27,7 +27,7 @@ static int config(struct vf_instance_s* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YV12);
}
-static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
+static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mp_image_t *dmpi;
int y,w,h;
@@ -58,7 +58,7 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->qscale=mpi->qscale;
dmpi->qstride=mpi->qstride;
- vf_next_put_image(vf,dmpi);
+ return vf_next_put_image(vf,dmpi);
}
//===========================================================================//