|
|
|
@ -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); |
|
|
|
|