diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-09-24 21:13:02 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-09-24 21:13:02 +0100 |
| commit | 089b90439e745a218494e76b45e7df6215af01df (patch) | |
| tree | 3f54f4779e4e5f34ea28944969ea612607f9b451 | |
| parent | 05687b49ec37e896ed7e493a587a78cd236f3aa1 (diff) | |
| parent | 01502a0fd529f308be248b6f8264c3a8642fce49 (diff) | |
Merge branch '1.0' into kdms
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | cscript | 2 | ||||
| -rw-r--r-- | debian/changelog | 6 | ||||
| -rw-r--r-- | platform/linux/control-12.04-32 | 2 | ||||
| -rw-r--r-- | platform/linux/control-12.04-64 | 2 | ||||
| -rw-r--r-- | platform/linux/control-12.10-32 | 2 | ||||
| -rw-r--r-- | platform/linux/control-12.10-64 | 2 | ||||
| -rw-r--r-- | platform/linux/control-13.04-32 | 2 | ||||
| -rw-r--r-- | platform/linux/control-13.04-64 | 2 | ||||
| -rw-r--r-- | src/lib/image.cc | 55 | ||||
| -rw-r--r-- | src/lib/image.h | 2 | ||||
| -rw-r--r-- | test/make_black_test.cc | 18 | ||||
| -rw-r--r-- | wscript | 2 |
13 files changed, 87 insertions, 18 deletions
@@ -1,3 +1,11 @@ +2013-09-19 Carl Hetherington <cth@carlh.net> + + * Version 1.05 released. + +2013-09-17 Carl Hetherington <cth@carlh.net> + + * Version 1.04 released. + 2013-09-09 Carl Hetherington <cth@carlh.net> * Version 1.03 released. @@ -3,7 +3,7 @@ import shutil import os def dependencies(target): - return (('ffmpeg-cdist', '77e9115b172ec6e4f0da0a5525f32fb28bae5f09'), + return (('ffmpeg-cdist', 'b1219246a0cce9a4b916669d506bb33c925225c3'), ('libdcp', '08f4fe13bbff1a674930d55ab95fd181ebd0c265')) def build(target): diff --git a/debian/changelog b/debian/changelog index 0d214c572..a11f8121b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -dcpomatic (1.03-1) UNRELEASED; urgency=low +dcpomatic (1.05-1) UNRELEASED; urgency=low * New upstream release. * New upstream release. @@ -7,8 +7,10 @@ dcpomatic (1.03-1) UNRELEASED; urgency=low * New upstream release. * New upstream release. * New upstream release. + * New upstream release. + * New upstream release. - -- Carl Hetherington <carl@d1stkfactory> Mon, 09 Sep 2013 23:56:05 +0100 + -- Carl Hetherington <carl@d1stkfactory> Thu, 19 Sep 2013 15:18:59 +0100 dcpomatic (0.87-1) UNRELEASED; urgency=low diff --git a/platform/linux/control-12.04-32 b/platform/linux/control-12.04-32 index 1d1e75b3f..6a02b1108 100644 --- a/platform/linux/control-12.04-32 +++ b/platform/linux/control-12.04-32 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: i386 -Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7), libxml++2.6-2 (>= 2.34.1), libgtk2.0-0 (>= 2.24.10), libxmlsec1 (>= 1.2.14-1.2build1), libboost-datetime1.46.1 (>= 1.46.1) +Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7), libxml++2.6-2 (>= 2.34.1), libgtk2.0-0 (>= 2.24.10), libxmlsec1 (>= 1.2.14-1.2build1), libboost-date-time1.46.1 (>= 1.46.1) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/platform/linux/control-12.04-64 b/platform/linux/control-12.04-64 index 33bd39868..2140083dd 100644 --- a/platform/linux/control-12.04-64 +++ b/platform/linux/control-12.04-64 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: amd64 -Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7), libxml++2.6-2 (>= 2.34.1), libxmlsec1 (>= 1.2.14-1.2build1), libboost-datetime1.46.1 (>= 1.46.1) +Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), libssh-4 (>= 0.5.2), libboost-filesystem1.46.1 (>= 1.46.1), libboost-thread1.46.1 (>= 1.46.1), libsndfile1 (>= 1.0.25), libmagick++4 (>= 8:6.6.9.7), libxml++2.6-2 (>= 2.34.1), libxmlsec1 (>= 1.2.14-1.2build1), libboost-date-time1.46.1 (>= 1.46.1) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/platform/linux/control-12.10-32 b/platform/linux/control-12.10-32 index 784a8f152..262657f6b 100644 --- a/platform/linux/control-12.10-32 +++ b/platform/linux/control-12.10-32 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: i386 -Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-datetime1.49.0 (>= 1.49.0) +Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-date-time1.49.0 (>= 1.49.0) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/platform/linux/control-12.10-64 b/platform/linux/control-12.10-64 index 6d69d51c2..5c5958d26 100644 --- a/platform/linux/control-12.10-64 +++ b/platform/linux/control-12.10-64 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: amd64 -Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-datetime1.49.0 (>= 1.49.0) +Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-date-time1.49.0 (>= 1.49.0) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/platform/linux/control-13.04-32 b/platform/linux/control-13.04-32 index 784a8f152..262657f6b 100644 --- a/platform/linux/control-13.04-32 +++ b/platform/linux/control-13.04-32 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: i386 -Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-datetime1.49.0 (>= 1.49.0) +Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-date-time1.49.0 (>= 1.49.0) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/platform/linux/control-13.04-64 b/platform/linux/control-13.04-64 index 6d69d51c2..5c5958d26 100644 --- a/platform/linux/control-13.04-64 +++ b/platform/linux/control-13.04-64 @@ -8,7 +8,7 @@ Homepage: http://dcpomatic.com/ Package: dcpomatic Architecture: amd64 -Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-datetime1.49.0 (>= 1.49.0) +Depends: libc6 (>= 2.15), libssh-4 (>= 0.5.2), libboost-filesystem1.49.0 (>= 1.49.0), libboost-thread1.49.0 (>= 1.49.0), libsndfile1 (>= 1.0.25), libmagick++5 (>= 8:6.7.7.10), libxml++2.6-2 (>= 2.34.2), libgtk2.0-0 (>= 2.24.13), libxmlsec1 (>= 1.2.18-2), libboost-date-time1.49.0 (>= 1.49.0) Description: Generator of Digital Cinema Packages (DCPs) DCP-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant diff --git a/src/lib/image.cc b/src/lib/image.cc index dbea62d26..9a3aa8d45 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -185,18 +185,23 @@ Image::crop (Crop crop, bool aligned) const /** Blacken a YUV image whose bits per pixel is rounded up to 16 */ void -Image::yuv_16_black (uint16_t v) +Image::yuv_16_black (uint16_t v, bool alpha) { memset (data()[0], 0, lines(0) * stride()[0]); for (int i = 1; i < 3; ++i) { int16_t* p = reinterpret_cast<int16_t*> (data()[i]); - for (int y = 0; y < size().height; ++y) { + for (int y = 0; y < lines(i); ++y) { + /* We divide by 2 here because we are writing 2 bytes at a time */ for (int x = 0; x < line_size()[i] / 2; ++x) { p[x] = v; } p += stride()[i] / 2; } } + + if (alpha) { + memset (data()[3], 0, lines(3) * stride()[3]); + } } uint16_t @@ -236,27 +241,63 @@ Image::make_black () case PIX_FMT_YUV422P9LE: case PIX_FMT_YUV444P9LE: - yuv_16_black (nine_bit_uv); + yuv_16_black (nine_bit_uv, false); break; case PIX_FMT_YUV422P9BE: case PIX_FMT_YUV444P9BE: - yuv_16_black (swap_16 (nine_bit_uv)); + yuv_16_black (swap_16 (nine_bit_uv), false); break; case PIX_FMT_YUV422P10LE: case PIX_FMT_YUV444P10LE: - yuv_16_black (ten_bit_uv); + yuv_16_black (ten_bit_uv, false); break; case PIX_FMT_YUV422P16LE: case PIX_FMT_YUV444P16LE: - yuv_16_black (sixteen_bit_uv); + yuv_16_black (sixteen_bit_uv, false); break; case PIX_FMT_YUV444P10BE: case PIX_FMT_YUV422P10BE: - yuv_16_black (swap_16 (ten_bit_uv)); + yuv_16_black (swap_16 (ten_bit_uv), false); + break; + + case AV_PIX_FMT_YUVA420P9BE: + case AV_PIX_FMT_YUVA422P9BE: + case AV_PIX_FMT_YUVA444P9BE: + yuv_16_black (swap_16 (nine_bit_uv), true); + break; + + case AV_PIX_FMT_YUVA420P9LE: + case AV_PIX_FMT_YUVA422P9LE: + case AV_PIX_FMT_YUVA444P9LE: + yuv_16_black (nine_bit_uv, true); + break; + + case AV_PIX_FMT_YUVA420P10BE: + case AV_PIX_FMT_YUVA422P10BE: + case AV_PIX_FMT_YUVA444P10BE: + yuv_16_black (swap_16 (ten_bit_uv), true); + break; + + case AV_PIX_FMT_YUVA420P10LE: + case AV_PIX_FMT_YUVA422P10LE: + case AV_PIX_FMT_YUVA444P10LE: + yuv_16_black (ten_bit_uv, true); + break; + + case AV_PIX_FMT_YUVA420P16BE: + case AV_PIX_FMT_YUVA422P16BE: + case AV_PIX_FMT_YUVA444P16BE: + yuv_16_black (swap_16 (sixteen_bit_uv), true); + break; + + case AV_PIX_FMT_YUVA420P16LE: + case AV_PIX_FMT_YUVA422P16LE: + case AV_PIX_FMT_YUVA444P16LE: + yuv_16_black (sixteen_bit_uv, true); break; case PIX_FMT_RGB24: diff --git a/src/lib/image.h b/src/lib/image.h index 6af74a8c5..e455f22c6 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -78,7 +78,7 @@ private: void allocate (); void swap (Image &); float bytes_per_pixel (int) const; - void yuv_16_black (uint16_t); + void yuv_16_black (uint16_t, bool); static uint16_t swap_16 (uint16_t); AVPixelFormat _pixel_format; ///< FFmpeg's way of describing the pixel format of this Image diff --git a/test/make_black_test.cc b/test/make_black_test.cc index 17c78d231..2960a596f 100644 --- a/test/make_black_test.cc +++ b/test/make_black_test.cc @@ -48,6 +48,24 @@ BOOST_AUTO_TEST_CASE (make_black_test) pix_fmts.push_back (AV_PIX_FMT_YUVJ420P); pix_fmts.push_back (AV_PIX_FMT_YUVJ422P); pix_fmts.push_back (AV_PIX_FMT_YUVJ444P); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P9BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P9BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P9BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P9LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P9LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P9LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P10BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P10BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P10BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P10LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P10LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P10LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P16BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P16BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P16BE); + pix_fmts.push_back (AV_PIX_FMT_YUVA420P16LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA422P16LE); + pix_fmts.push_back (AV_PIX_FMT_YUVA444P16LE); int N = 0; for (list<AVPixelFormat>::const_iterator i = pix_fmts.begin(); i != pix_fmts.end(); ++i) { @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.04pre' +VERSION = '1.06pre' def options(opt): opt.load('compiler_cxx') |
