vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Nov 27 17:36:05 2017 +0100| [3fbd68656b48722b296dd72f011894efa6722a5f] | committer: Francois Cartegnie
vout: epg: use memset > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3fbd68656b48722b296dd72f011894efa6722a5f --- src/video_output/video_epg.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/video_output/video_epg.c b/src/video_output/video_epg.c index 1115f3a00f..a5c5fafd0f 100644 --- a/src/video_output/video_epg.c +++ b/src/video_output/video_epg.c @@ -156,7 +156,7 @@ static subpicture_region_t * vout_OSDEpgSlider(int x, int y, int filled_part_width = ratio * width; for (int j = 0; j < height; j++) { - for (int i = 0; i < width; i++) { + for (int i = 0; i < width; ) { /* Slider border. */ bool is_outline = j == 0 || j == height - 1 || i == 0 || i == width - 1; @@ -166,7 +166,22 @@ static subpicture_region_t * vout_OSDEpgSlider(int x, int y, i < 3 || i > width - 4 || i < filled_part_width; - picture->p->p_pixels[picture->p->i_pitch * j + i] = 2 * is_border + is_outline; + uint8_t color = 2 * is_border + is_outline; + if(i >= 3 && i < width - 4) + { + if(filled_part_width > 4) + memset(&picture->p->p_pixels[picture->p->i_pitch * j + i], + color, filled_part_width - 4); + if(width > filled_part_width + 4) + memset(&picture->p->p_pixels[picture->p->i_pitch * j + filled_part_width], + color, width - filled_part_width - 4); + i = __MAX(i+1, filled_part_width - 1); + } + else + { + picture->p->p_pixels[picture->p->i_pitch * j + i] = color; + i++; + } } } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
