[FFmpeg-cvslog] avfilter/drawutils: add gray9/10/12 support

Paul B Mahol git at videolan.org
Mon Aug 7 19:41:05 EEST 2017


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Aug  7 18:39:29 2017 +0200| [1bef0088dce77e04d95981e2c1c0183d740584a1] | committer: Paul B Mahol

avfilter/drawutils: add gray9/10/12 support

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

 libavfilter/drawutils.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c
index fbe13bc9a4..77ab86b775 100644
--- a/libavfilter/drawutils.c
+++ b/libavfilter/drawutils.c
@@ -262,14 +262,16 @@ void ff_draw_color(FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4
         EXPAND(2);
         EXPAND(1);
         EXPAND(0);
-    } else if (draw->format == AV_PIX_FMT_GRAY8 || draw->format == AV_PIX_FMT_GRAY8A) {
-        color->comp[0].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
-        color->comp[1].u8[0] = rgba[3];
-    } else if (draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE) {
+    } else if (draw->format == AV_PIX_FMT_GRAY8 || draw->format == AV_PIX_FMT_GRAY8A ||
+               draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE ||
+               draw->format == AV_PIX_FMT_GRAY9LE  ||
+               draw->format == AV_PIX_FMT_GRAY10LE ||
+               draw->format == AV_PIX_FMT_GRAY12LE) {
+        const AVPixFmtDescriptor *desc = draw->desc;
         color->comp[0].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
-        color->comp[0].u16[0] = color->comp[0].u8[0] << 8;
+        EXPAND(0);
         color->comp[1].u8[0] = rgba[3];
-        color->comp[1].u16[0] = color->comp[1].u8[0] << 8;
+        EXPAND(1);
     } else {
         av_log(NULL, AV_LOG_WARNING,
                "Color conversion not implemented for %s\n", draw->desc->name);



More information about the ffmpeg-cvslog mailing list