[vlc-commits] direct3d9: use the source visible area directly
    Steve Lhomme 
    git at videolan.org
       
    Mon Apr  1 12:03:38 CEST 2019
    
    
  
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Fri Mar 22 13:50:49 2019 +0100| [1516ab3635586d5369fad1d0e610b1b7d8ddd5b0] | committer: Steve Lhomme
direct3d9: use the source visible area directly
Instead of using rect_src_clipped.
Incidentally we setup the vertices to match exactly the size that was copied
rather than the actual size which may use uninitialized pixels.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1516ab3635586d5369fad1d0e610b1b7d8ddd5b0
---
 modules/video_output/win32/direct3d9.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
index 04d3114d06..40f29d682f 100644
--- a/modules/video_output/win32/direct3d9.c
+++ b/modules/video_output/win32/direct3d9.c
@@ -453,7 +453,12 @@ static int Direct3D9ImportPicture(vout_display_t *vd,
 
     /* Copy picture surface into texture surface
      * color space conversion happen here */
-    RECT copy_rect = sys->sys.rect_src_clipped;
+    RECT copy_rect = {
+        .left   = vd->source.i_x_offset,
+        .right  = vd->source.i_x_offset + vd->source.i_visible_width,
+        .top    = vd->source.i_y_offset,
+        .bottom = vd->source.i_y_offset + vd->source.i_visible_height,
+    };
     // On nVidia & AMD, StretchRect will fail if the visible size isn't even.
     // When copying the entire buffer, the margin end up being blended in the actual picture
     // on nVidia (regardless of even/odd dimensions)
@@ -472,7 +477,8 @@ static int Direct3D9ImportPicture(vout_display_t *vd,
 
     /* */
     region->texture = sys->sceneTexture;
-    Direct3D9SetupVertices(region->vertex, &vd->sys->sys.rect_src, &vd->sys->sys.rect_src_clipped,
+    Direct3D9SetupVertices(region->vertex, &vd->sys->sys.rect_src,
+                           ©_rect,
                            &vd->sys->sys.rect_dest, 255, vd->source.orientation);
     return VLC_SUCCESS;
 }
    
    
More information about the vlc-commits
mailing list