From c7944423a3152cf731f8d7f18f1989d59ccfc935 Mon Sep 17 00:00:00 2001 From: arpi Date: Tue, 10 Sep 2002 22:18:32 +0000 Subject: [PATCH] changing return type of put_image void->int git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7369 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/dec_video.c | 7 ++++--- libmpcodecs/ve_divx4.c | 3 ++- libmpcodecs/ve_lavc.c | 3 ++- libmpcodecs/ve_libdv.c | 3 ++- libmpcodecs/ve_rawrgb.c | 3 ++- libmpcodecs/ve_vfw.c | 3 ++- libmpcodecs/vf.c | 4 ++-- libmpcodecs/vf.h | 4 ++-- libmpcodecs/vf_crop.c | 4 ++-- libmpcodecs/vf_cropdetect.c | 4 ++-- libmpcodecs/vf_eq.c | 4 ++-- libmpcodecs/vf_expand.c | 8 ++++---- libmpcodecs/vf_fame.c | 6 +++--- libmpcodecs/vf_flip.c | 8 ++++---- libmpcodecs/vf_halfpack.c | 4 ++-- libmpcodecs/vf_lavc.c | 6 +++--- libmpcodecs/vf_lavcdeint.c | 6 +++--- libmpcodecs/vf_mirror.c | 4 ++-- libmpcodecs/vf_noise.c | 4 ++-- libmpcodecs/vf_palette.c | 4 ++-- libmpcodecs/vf_pp.c | 4 ++-- libmpcodecs/vf_rectangle.c | 4 ++-- libmpcodecs/vf_rgb2bgr.c | 4 ++-- libmpcodecs/vf_rotate.c | 4 ++-- libmpcodecs/vf_scale.c | 4 ++-- libmpcodecs/vf_test.c | 4 ++-- libmpcodecs/vf_vo.c | 7 ++++--- libmpcodecs/vf_yuy2.c | 4 ++-- libmpcodecs/vf_yvu9.c | 4 ++-- 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); } //===========================================================================//