if (rgba != color->rgba)
memcpy(color->rgba, rgba, sizeof(color->rgba));
- if ((draw->desc->flags & AV_PIX_FMT_FLAG_RGB) && draw->nb_planes == 1 &&
+ if ((draw->desc->flags & AV_PIX_FMT_FLAG_RGB) &&
ff_fill_rgba_map(rgba_map, draw->format) >= 0) {
+ if (draw->nb_planes == 1) {
for (i = 0; i < 4; i++)
color->comp[0].u8[rgba_map[i]] = rgba[i];
+ } else {
+ for (i = 0; i < 4; i++)
+ color->comp[rgba_map[i]].u8[0] = rgba[i];
+ }
} else if (draw->nb_planes == 3 || draw->nb_planes == 4) {
/* assume YUV */
color->comp[0].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
bgr0 c55368036cccbb0af471d6bd82abe02a
bgr24 67f9fd70dc6d9896b7122976b33932b4
bgra c8dd017b5a3b55e8b9d0ac1cdcf327bd
-gbrap 23e8ef832c4aef52c6183f429ac86b32
-gbrp 74f83deee9866bbdce3f91fa2aeddaaa
+gbrap 8551b62534034c8aaebaa7d9fdefdfe9
+gbrp 4f3b389ed3f8a3945560a36f862b452a
gray ca280f6888a9b66688b5f8ea68fe454a
rgb0 b1977b45634c4db58a183a07feb2acff
rgb24 e73de9dc0fdd78f4853c168603cc7aba