summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-02-23 21:40:08 +0000
committerCarl Hetherington <cth@carlh.net>2013-02-23 21:40:08 +0000
commitf7a38b76ea50c62624972994f6a7ea9feaaf4f6b (patch)
tree7b1ed4835a3cd2a541a079596dacf9b39cfc7cb3 /src
parentc9b733ba0f05c011d6880ffe3aae2a87e292d106 (diff)
Support YUV444P pixels (#66).
Diffstat (limited to 'src')
-rw-r--r--src/lib/image.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/image.cc b/src/lib/image.cc
index ae87304c2..f38d44185 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -68,6 +68,7 @@ Image::lines (int n) const
case PIX_FMT_RGBA:
case PIX_FMT_YUV422P10LE:
case PIX_FMT_YUV422P:
+ case PIX_FMT_YUV444P:
return size().height;
default:
throw PixelFormatError ("lines()", _pixel_format);
@@ -84,6 +85,7 @@ Image::components () const
case PIX_FMT_YUV420P:
case PIX_FMT_YUV422P10LE:
case PIX_FMT_YUV422P:
+ case PIX_FMT_YUV444P:
return 3;
case PIX_FMT_RGB24:
case PIX_FMT_RGBA:
@@ -201,6 +203,8 @@ Image::post_process (string pp, bool aligned) const
case PIX_FMT_YUV422P:
pp_format = PP_FORMAT_422;
break;
+ case PIX_FMT_YUV444P:
+ pp_format = PP_FORMAT_444;
default:
throw PixelFormatError ("post_process", pixel_format());
}
@@ -254,6 +258,7 @@ Image::make_black ()
switch (_pixel_format) {
case PIX_FMT_YUV420P:
case PIX_FMT_YUV422P:
+ case PIX_FMT_YUV444P:
memset (data()[0], 0, lines(0) * stride()[0]);
memset (data()[1], 0x7f, lines(1) * stride()[1]);
memset (data()[2], 0x7f, lines(2) * stride()[2]);
@@ -375,6 +380,8 @@ Image::bytes_per_pixel (int c) const
} else {
return 1;
}
+ case PIX_FMT_YUV444P:
+ return 3;
default:
assert (false);
}