[vlc-commits] access: bluray: only copy visible extents

Francois Cartegnie git at videolan.org
Thu Nov 15 21:40:10 CET 2018


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Nov 15 12:13:48 2018 +0100| [494e0319af8505385cac29a3a9c4e488599371fd] | committer: Francois Cartegnie

access: bluray: only copy visible extents

reverts partially 190ae0e0f63f5bd558c634b2467218189a9357c6

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=494e0319af8505385cac29a3a9c4e488599371fd
---

 modules/access/bluray.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 946f270214..36a22a7dff 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -1948,10 +1948,17 @@ static void blurayDrawArgbOverlay(demux_t *p_demux, const BD_ARGB_OVERLAY* const
     }
 
     /* Now we can update the region */
+    const uint32_t *src0 = ov->argb;
     uint8_t        *dst0 = p_reg->p_picture->p[0].p_pixels +
                            p_reg->p_picture->p[0].i_pitch * ov->y +
                            ov->x * 4;
-    memcpy(dst0, ov->argb, (ov->stride * ov->h - ov->x)*4);
+
+    for (int y = 0; y < ov->h; y++)
+    {
+        memcpy(dst0, src0, ov->w * 4);
+        src0 += ov->stride;
+        dst0 += p_reg->p_picture->p[0].i_pitch;
+    }
 
     vlc_mutex_unlock(&bdov->lock);
     /*



More information about the vlc-commits mailing list