summaryrefslogtreecommitdiffstats
path: root/libvo/video_out.c
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2011-11-04 08:39:20 +0100
committerwm4 <wm4@mplayer2.org>2012-03-17 21:05:39 +0100
commit6f02fb1cce94e42f4b2dc39aa508ff2f5c3e519a (patch)
tree6c68c0eacd6211f417e051f92d81d74c371fe9d6 /libvo/video_out.c
parent5ee7797bf840c2ad4a4e0a864ac65a46a55978ed (diff)
downloadmpv-6f02fb1cce94e42f4b2dc39aa508ff2f5c3e519a.tar.bz2
mpv-6f02fb1cce94e42f4b2dc39aa508ff2f5c3e519a.tar.xz
vo_direct3d: disable using shaders by default, and add direct3d_shaders VO
Now using the "direct3d" VO will never make use of shaders. Instead, users are supposed to use the direct3d_shaders VO entry, which is exactly the same as direct3d, except with shaders enabled by default. "direct3d" always uses the Direct3D StretcRect API call to render videos. Playing formats not supported by this function will force mplayer to insert a scale filter to convert video frames in software. "direct3d_shaders" prefers shader color conversion, but can fall back to StretchRect if the format can be handled. (This happens only with some insignificant packed YUV formats.)
Diffstat (limited to 'libvo/video_out.c')
-rw-r--r--libvo/video_out.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libvo/video_out.c b/libvo/video_out.c
index 95ab8977dd..f821723242 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -102,6 +102,7 @@ extern struct vo_driver video_out_caca;
extern struct vo_driver video_out_mpegpes;
extern struct vo_driver video_out_yuv4mpeg;
extern struct vo_driver video_out_direct3d;
+extern struct vo_driver video_out_direct3d_shaders;
extern struct vo_driver video_out_directx;
extern struct vo_driver video_out_kva;
extern struct vo_driver video_out_dxr3;
@@ -130,6 +131,7 @@ const struct vo_driver *video_out_drivers[] =
#endif
#ifdef CONFIG_DIRECT3D
&video_out_direct3d,
+ &video_out_direct3d_shaders,
#endif
#ifdef CONFIG_DIRECTX
&video_out_directx,