[FFmpeg-cvslog] lavfi/drawutils: fix planar rgb

Paul B Mahol git at videolan.org
Mon Jul 8 18:48:15 CEST 2013


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Jul  8 15:17:33 2013 +0000| [55c94f48ce5a81896fd7f71e2b2d2f2174dd94a8] | committer: Paul B Mahol

lavfi/drawutils: fix planar rgb

Signed-off-by: Paul B Mahol <onemda at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55c94f48ce5a81896fd7f71e2b2d2f2174dd94a8
---

 libavfilter/drawutils.c           |    7 ++++++-
 tests/ref/fate/filter-pixfmts-pad |    4 ++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c
index b230761..1952199 100644
--- a/libavfilter/drawutils.c
+++ b/libavfilter/drawutils.c
@@ -197,10 +197,15 @@ void ff_draw_color(FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4
 
     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]);
diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad
index 8328f89..616e2c0 100644
--- a/tests/ref/fate/filter-pixfmts-pad
+++ b/tests/ref/fate/filter-pixfmts-pad
@@ -5,8 +5,8 @@ argb                e5fbb7bb282a80897b8f730627f68876
 bgr0                c55368036cccbb0af471d6bd82abe02a
 bgr24               67f9fd70dc6d9896b7122976b33932b4
 bgra                c8dd017b5a3b55e8b9d0ac1cdcf327bd
-gbrap               23e8ef832c4aef52c6183f429ac86b32
-gbrp                74f83deee9866bbdce3f91fa2aeddaaa
+gbrap               8551b62534034c8aaebaa7d9fdefdfe9
+gbrp                4f3b389ed3f8a3945560a36f862b452a
 gray                ca280f6888a9b66688b5f8ea68fe454a
 rgb0                b1977b45634c4db58a183a07feb2acff
 rgb24               e73de9dc0fdd78f4853c168603cc7aba



More information about the ffmpeg-cvslog mailing list