mirror of
https://github.com/mpv-player/mpv
synced 2024-12-16 20:05:07 +00:00
Add VOCAP_NOSLICES and use it to allow vo_vdpau to not support slices for
YV12 - since VDPAU only has functions to upload the full frame at once there is no sense in supporting draw_slice for that. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28646 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
4ceed591c8
commit
60fa5a134d
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -654,14 +654,16 @@ static uint32_t get_image(mp_image_t *mpi)
|
||||
|
||||
static int query_format(uint32_t format)
|
||||
{
|
||||
int default_flags = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD;
|
||||
switch (format) {
|
||||
case IMGFMT_YV12:
|
||||
return default_flags | VOCAP_NOSLICES;
|
||||
case IMGFMT_VDPAU_MPEG1:
|
||||
case IMGFMT_VDPAU_MPEG2:
|
||||
case IMGFMT_VDPAU_H264:
|
||||
case IMGFMT_VDPAU_WMV3:
|
||||
case IMGFMT_VDPAU_VC1:
|
||||
return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD;
|
||||
return default_flags;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user