...
|
...
|
@@ -262,14 +262,16 @@ void ff_draw_color(FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4
|
262
|
262
|
EXPAND(2);
|
263
|
263
|
EXPAND(1);
|
264
|
264
|
EXPAND(0);
|
265
|
|
- } else if (draw->format == AV_PIX_FMT_GRAY8 || draw->format == AV_PIX_FMT_GRAY8A) {
|
266
|
|
- color->comp[0].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
|
267
|
|
- color->comp[1].u8[0] = rgba[3];
|
268
|
|
- } else if (draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE) {
|
|
265
|
+ } else if (draw->format == AV_PIX_FMT_GRAY8 || draw->format == AV_PIX_FMT_GRAY8A ||
|
|
266
|
+ draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE ||
|
|
267
|
+ draw->format == AV_PIX_FMT_GRAY9LE ||
|
|
268
|
+ draw->format == AV_PIX_FMT_GRAY10LE ||
|
|
269
|
+ draw->format == AV_PIX_FMT_GRAY12LE) {
|
|
270
|
+ const AVPixFmtDescriptor *desc = draw->desc;
|
269
|
271
|
color->comp[0].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
|
270
|
|
- color->comp[0].u16[0] = color->comp[0].u8[0] << 8;
|
|
272
|
+ EXPAND(0);
|
271
|
273
|
color->comp[1].u8[0] = rgba[3];
|
272
|
|
- color->comp[1].u16[0] = color->comp[1].u8[0] << 8;
|
|
274
|
+ EXPAND(1);
|
273
|
275
|
} else {
|
274
|
276
|
av_log(NULL, AV_LOG_WARNING,
|
275
|
277
|
"Color conversion not implemented for %s\n", draw->desc->name);
|