mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/drawutils: add gray9/10/12 support
This commit is contained in:
parent
181c9abd47
commit
1bef0088dc
|
@ -262,14 +262,16 @@ void ff_draw_color(FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4
|
||||||
EXPAND(2);
|
EXPAND(2);
|
||||||
EXPAND(1);
|
EXPAND(1);
|
||||||
EXPAND(0);
|
EXPAND(0);
|
||||||
} else if (draw->format == AV_PIX_FMT_GRAY8 || draw->format == AV_PIX_FMT_GRAY8A) {
|
} 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].u8[0] = RGB_TO_Y_CCIR(rgba[0], rgba[1], rgba[2]);
|
||||||
|
EXPAND(0);
|
||||||
color->comp[1].u8[0] = rgba[3];
|
color->comp[1].u8[0] = rgba[3];
|
||||||
} else if (draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE) {
|
EXPAND(1);
|
||||||
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;
|
|
||||||
color->comp[1].u8[0] = rgba[3];
|
|
||||||
color->comp[1].u16[0] = color->comp[1].u8[0] << 8;
|
|
||||||
} else {
|
} else {
|
||||||
av_log(NULL, AV_LOG_WARNING,
|
av_log(NULL, AV_LOG_WARNING,
|
||||||
"Color conversion not implemented for %s\n", draw->desc->name);
|
"Color conversion not implemented for %s\n", draw->desc->name);
|
||||||
|
|
Loading…
Reference in New Issue