From 90efe7cf4865ed615b2932dee5d8b795a3c43290 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 24 Feb 2013 16:51:29 +0100 Subject: demux_mf: support .xbm And support the PIX_FMT_MONOWHITE pixel format. (This is really weird: unlike PIX_FMT_MONOBLACK, it uses white pixels. I have no idea why libavcodec doesn't just convert the pixel format on the fly, instead of bothering everyone with really special pixel formats.) --- demux/demux_mf.c | 1 + video/filter/vf_scale.c | 1 + video/fmt-conversion.c | 1 + video/img_format.h | 1 + 4 files changed, 4 insertions(+) diff --git a/demux/demux_mf.c b/demux/demux_mf.c index bbeda26bbf..64584e820d 100644 --- a/demux/demux_mf.c +++ b/demux/demux_mf.c @@ -127,6 +127,7 @@ static const struct { { "im8", "sunrast" }, { "im24", "sunrast" }, { "sunras", "sunrast" }, + { "xbm", "xbm" }, {0} }; diff --git a/video/filter/vf_scale.c b/video/filter/vf_scale.c index 08008eb829..08fb0c7ae1 100644 --- a/video/filter/vf_scale.c +++ b/video/filter/vf_scale.c @@ -132,6 +132,7 @@ static const unsigned int outfmt_list[]={ IMGFMT_RGB4_BYTE, IMGFMT_BGR4_BYTE, IMGFMT_MONO, + IMGFMT_MONO_W, 0 }; diff --git a/video/fmt-conversion.c b/video/fmt-conversion.c index a98dc97d51..819448772e 100644 --- a/video/fmt-conversion.c +++ b/video/fmt-conversion.c @@ -38,6 +38,7 @@ static const struct { {IMGFMT_BGR8, PIX_FMT_RGB8}, {IMGFMT_BGR4, PIX_FMT_RGB4}, {IMGFMT_MONO, PIX_FMT_MONOBLACK}, + {IMGFMT_MONO_W, PIX_FMT_MONOWHITE}, {IMGFMT_RGB4_BYTE, PIX_FMT_BGR4_BYTE}, {IMGFMT_BGR4_BYTE, PIX_FMT_RGB4_BYTE}, {IMGFMT_RGB48_LE, PIX_FMT_RGB48LE}, diff --git a/video/img_format.h b/video/img_format.h index f09c3f55d7..0d77872123 100644 --- a/video/img_format.h +++ b/video/img_format.h @@ -197,6 +197,7 @@ enum mp_imgfmt { IMGFMT_RGB4, // r1 g2 b1, bit-packed IMGFMT_BGR4, IMGFMT_MONO, // 1 bit per pixel, bit-packed + IMGFMT_MONO_W, // like IMGFMT_MONO, but inverted (white pixels) // Accessed with bit-shifts after endian-swapping the uint16_t pixel IMGFMT_RGB12_LE, // 4r 4g 4b 4a (LSB to MSB) -- cgit v1.2.3