vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Mar 9 14:26:01 2020 +0100| [6c005312e9383e81ba4d1876b56834f636cce135] | committer: Francois Cartegnie
access: bluray: check stride difference > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6c005312e9383e81ba4d1876b56834f636cce135 --- modules/access/bluray.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/access/bluray.c b/modules/access/bluray.c index bab725f2c0..252c625f3e 100644 --- a/modules/access/bluray.c +++ b/modules/access/bluray.c @@ -2072,11 +2072,19 @@ static void blurayDrawArgbOverlay(demux_t *p_demux, const BD_ARGB_OVERLAY* const p_reg->p_picture->p[0].i_pitch * eventov->y + eventov->x * 4; - for (int y = 0; y < eventov->h; y++) + /* always true as for now, see bd_bdj_osd_cb */ + if(likely(eventov->stride == p_reg->p_picture->p[0].i_pitch / 4)) + { + memcpy(dst0, src0, (eventov->stride * eventov->h - eventov->x)*4); + } + else { - memcpy(dst0, src0, eventov->w * 4); - src0 += eventov->stride; - dst0 += p_reg->p_picture->p[0].i_pitch; + for(uint16_t h = 0; h < eventov->h; h++) + { + memcpy(dst0, src0, eventov->w * 4); + src0 += eventov->stride; + dst0 += p_reg->p_picture->p[0].i_pitch; + } } vlc_mutex_unlock(&ov->lock); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
