aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2017-08-07 18:39:29 +0200
committerPaul B Mahol <onemda@gmail.com>2017-08-07 18:39:29 +0200
commit1bef0088dce77e04d95981e2c1c0183d740584a1 (patch)
treedbe0ccb1f613fdb3fbdb4ab3469d51258e6af1ea /libavfilter
parent181c9abd47cbee20511db4494a92f78dc11687cc (diff)
downloadffmpeg-1bef0088dce77e04d95981e2c1c0183d740584a1.tar.gz
avfilter/drawutils: add gray9/10/12 support
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/drawutils.c14
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);