summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-02-24 16:51:29 +0100
committerwm4 <wm4@nowhere>2013-02-24 16:51:29 +0100
commit90efe7cf4865ed615b2932dee5d8b795a3c43290 (patch)
tree6a9c1b942c63afbd2b4e9b60d27c22ca6983fb06 /video
parentedddf812328cdb279074737dfd7680a9612b67c2 (diff)
downloadmpv-90efe7cf4865ed615b2932dee5d8b795a3c43290.tar.bz2
mpv-90efe7cf4865ed615b2932dee5d8b795a3c43290.tar.xz
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.)
Diffstat (limited to 'video')
-rw-r--r--video/filter/vf_scale.c1
-rw-r--r--video/fmt-conversion.c1
-rw-r--r--video/img_format.h1
3 files changed, 3 insertions, 0 deletions
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)