diff options
author | Paul B Mahol <onemda@gmail.com> | 2017-08-07 18:39:29 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2017-08-07 18:39:29 +0200 |
commit | 1bef0088dce77e04d95981e2c1c0183d740584a1 (patch) | |
tree | dbe0ccb1f613fdb3fbdb4ab3469d51258e6af1ea | |
parent | 181c9abd47cbee20511db4494a92f78dc11687cc (diff) | |
download | ffmpeg-1bef0088dce77e04d95981e2c1c0183d740584a1.tar.gz |
avfilter/drawutils: add gray9/10/12 support
-rw-r--r-- | libavfilter/drawutils.c | 14 |
1 files 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); |