diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index ca1aec6adb..8cdebf9407 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -119,7 +119,7 @@ static PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { /* paletted formats */ [PIX_FMT_PAL8] = { .name = "pal8", - .nb_components = 1, .is_packed = 1, .is_paletted = 1, + .nb_components = 1, .is_packed = 1, .is_alpha = 1, .is_paletted = 1, }, }; @@ -989,7 +989,6 @@ static void gray_to_mono(AVPicture *dst, AVPicture *src, d = dst->data[0]; dst_wrap = dst->linesize[0] - ((width + 7) >> 3); - printf("%d %d\n", width, height); for(y=0;ydata[0]; + src_wrap = src->linesize[0] - width * 4; + + d = dst->data[0]; + dst_wrap = dst->linesize[0] - width * 3; + + for(y=0;y> 16; + d[1] = v >> 8; + d[2] = v; + d += 3; + } + s += src_wrap; + d += dst_wrap; + } +} + typedef struct ConvertEntry { void (*convert)(AVPicture *dst, AVPicture *src, int width, int height); } ConvertEntry; @@ -1158,6 +1185,9 @@ static ConvertEntry convert_table[PIX_FMT_NB][PIX_FMT_NB] = { [PIX_FMT_GRAY8] = { .convert = rgba32_to_gray }, + [PIX_FMT_RGB24] = { + .convert = rgba32_to_rgb24 + }, }, [PIX_FMT_BGR24] = { [PIX_FMT_YUV420P] = {