mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 00:02:52 +00:00
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(1);
|
||||
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]);
|
||||
EXPAND(0);
|
||||
color->comp[1].u8[0] = rgba[3];
|
||||
} else if (draw->format == AV_PIX_FMT_GRAY16LE || draw->format == AV_PIX_FMT_YA16LE) {
|
||||
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;
|
||||
EXPAND(1);
|
||||
} else {
|
||||
av_log(NULL, AV_LOG_WARNING,
|
||||
"Color conversion not implemented for %s\n", draw->desc->name);
|
||||
|
Loading…
Reference in New Issue
Block a user