videobox: Don't overwrite the first component with the alpha value for BGRx

Instead leave the x component unset when filling the borders.

https://bugzilla.gnome.org/show_bug.cgi?id=733380
This commit is contained in:
Sebastian Dröge 2014-07-19 11:30:30 +02:00
parent 638a700463
commit b1f7681555

View file

@ -1780,10 +1780,17 @@ fill_rgb32 (GstVideoBoxFill fill_type, guint b_alpha,
b_alpha = CLAMP (b_alpha, 0, 255); b_alpha = CLAMP (b_alpha, 0, 255);
empty_pixel = GUINT32_FROM_LE ((b_alpha << (p[0] * 8)) | if (GST_VIDEO_FRAME_N_COMPONENTS (frame) == 4) {
(rgb_colors_R[fill_type] << (p[1] * 8)) | empty_pixel = GUINT32_FROM_LE ((b_alpha << (p[0] * 8)) |
(rgb_colors_G[fill_type] << (p[2] * 8)) | (rgb_colors_R[fill_type] << (p[1] * 8)) |
(rgb_colors_B[fill_type] << (p[3] * 8))); (rgb_colors_G[fill_type] << (p[2] * 8)) |
(rgb_colors_B[fill_type] << (p[3] * 8)));
} else {
empty_pixel = GUINT32_FROM_LE (
(rgb_colors_R[fill_type] << (p[1] * 8)) |
(rgb_colors_G[fill_type] << (p[2] * 8)) |
(rgb_colors_B[fill_type] << (p[3] * 8)));
}
if (stride == width * 4) { if (stride == width * 4) {
video_box_orc_splat_u32 ((guint32 *) dest, empty_pixel, width * height); video_box_orc_splat_u32 ((guint32 *) dest, empty_pixel, width * height);