Index: libmpcodecs/vd_dmo.c
===================================================================
--- libmpcodecs/vd_dmo.c	(revision 30821)
+++ libmpcodecs/vd_dmo.c	(working copy)
@@ -64,6 +64,7 @@
 	return 0;
     }
     if(!mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,out_fmt)) return 0;
+    out_fmt=sh->codec->outfmt[sh->outfmtidx];
     sh->context = ctx = calloc(1, sizeof(*ctx));
     ctx->decoder = decoder;
     switch(out_fmt){
Index: libmpcodecs/vd_dshow.c
===================================================================
--- libmpcodecs/vd_dshow.c	(revision 30821)
+++ libmpcodecs/vd_dshow.c	(working copy)
@@ -81,6 +81,7 @@
 	return 0;
     }
     if(!mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,out_fmt)) return 0;
+    out_fmt=sh->codec->outfmt[sh->outfmtidx];
     switch(out_fmt){
     case IMGFMT_YUY2:
     case IMGFMT_UYVY:
