[vlc-commits] [Git][videolan/vlc][master] codec: aribcaption: use planeCopyPixels and check format
Steve Lhomme (@robUx4)
gitlab at videolan.org
Fri Sep 16 04:23:58 UTC 2022
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
838e1ecd by Francois Cartegnie at 2022-09-16T03:50:06+00:00
codec: aribcaption: use planeCopyPixels and check format
- - - - -
1 changed file:
- modules/codec/arib/libaribcaption.c
Changes:
=====================================
modules/codec/arib/libaribcaption.c
=====================================
@@ -134,17 +134,18 @@ static int SubpictureValidate(subpicture_t *p_subpic,
static void CopyImageToRegion(subpicture_region_t *p_region, const aribcc_image_t *image)
{
- const plane_t *p = &p_region->p_picture->p[0];
- const int i_height = p_region->fmt.i_height;
- const uint32_t copy_line_size = __MIN(image->stride, p->i_pitch);
-
- memset(p->p_pixels, 0, p->i_pitch * p->i_visible_lines);
+ if(image->pixel_format != ARIBCC_PIXELFORMAT_RGBA8888)
+ return;
- for (int y = 0; y < i_height; y++) {
- const uint8_t *src_line_begin = image->bitmap + y * image->stride;
- uint8_t *dst_line_begin = p->p_pixels + y * p->i_pitch;
- memcpy(dst_line_begin, src_line_begin, copy_line_size);
- }
+ plane_t *p_dstplane = &p_region->p_picture->p[0];
+ plane_t srcplane;
+ srcplane.i_lines = image->height;
+ srcplane.i_pitch = image->stride;
+ srcplane.i_pixel_pitch = p_dstplane->i_pixel_pitch;
+ srcplane.i_visible_lines = image->height;
+ srcplane.i_visible_pitch = image->width /* in pixels */ * p_dstplane->i_pixel_pitch;
+ srcplane.p_pixels = image->bitmap;
+ plane_CopyPixels( p_dstplane, &srcplane );
}
static void SubpictureUpdate(subpicture_t *p_subpic,
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/838e1ecd476aa34ea2d665f46225ea0d18421239
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/838e1ecd476aa34ea2d665f46225ea0d18421239
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list