diff options
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_vo.c | 2 | ||||
-rw-r--r-- | libmpcodecs/vfcap.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c index 4e0f1374c1..affffa6bde 100644 --- a/libmpcodecs/vf_vo.c +++ b/libmpcodecs/vf_vo.c @@ -32,6 +32,7 @@ struct vf_priv_s { #define video_out (vf->priv->vo) static int query_format(struct vf_instance_s* vf, unsigned int fmt); /* forward declaration */ +static void draw_slice(struct vf_instance_s* vf, unsigned char** src, int* stride, int w,int h, int x, int y); static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, @@ -61,6 +62,7 @@ static int config(struct vf_instance_s* vf, // save vo's stride capability for the wanted colorspace: vf->default_caps=query_format(vf,outfmt); + vf->draw_slice = (vf->default_caps & VOCAP_NOSLICES) ? NULL : draw_slice; if(config_video_out(video_out,width,height,d_width,d_height,flags,"MPlayer",outfmt)) return 0; diff --git a/libmpcodecs/vfcap.h b/libmpcodecs/vfcap.h index 9745a5c9bd..158928d924 100644 --- a/libmpcodecs/vfcap.h +++ b/libmpcodecs/vfcap.h @@ -33,5 +33,7 @@ #define VFCAP_EOSD 0x2000 // filter will draw EOSD at screen resolution (without scaling) #define VFCAP_EOSD_UNSCALED 0x4000 +// used by libvo and vf_vo, indicates the VO does not support draw_slice for this format +#define VOCAP_NOSLICES 0x8000 #endif /* MPLAYER_VFCAP_H */ |