summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-12-19 10:10:36 +0000
committerCarl Hetherington <cth@carlh.net>2012-12-19 10:10:36 +0000
commitdedac27070ac5ad65265a0db1fa316b3e436cea7 (patch)
treef7c8ab0b7a02ee41006743af9ae6625064e9da82
parent8d9acccb5488a3dc00746e424fdd5997f2aae267 (diff)
parent6b5a3e9543ccf6fd209877b44e43aaf3604ac693 (diff)
Fix merge.
-rw-r--r--ChangeLog20
-rw-r--r--builds/control-12.0415
-rw-r--r--builds/control-12.04-322
-rw-r--r--builds/control-12.04-642
-rw-r--r--builds/control-12.1015
-rw-r--r--builds/control-12.10-322
-rw-r--r--builds/control-12.10-642
-rw-r--r--debian/changelog18
-rw-r--r--src/lib/ffmpeg_decoder.cc35
-rw-r--r--wscript8
10 files changed, 80 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index b540313a3..0b93c2ac3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,26 @@
* Make the examination of content for length optional, so that
if a source file has an accurate header you can trust it.
+2012-12-18 Carl Hetherington <cth@carlh.net>
+
+ * Version 0.67 released.
+
+2012-12-18 Carl Hetherington <cth@carlh.net>
+
+ * Support non-planar float and signed
+ 16-bit planar audio; be less
+ crashy when unsupported audio formats
+ are found.
+
+2012-12-18 Carl Hetherington <cth@carlh.net>
+
+ * Version 0.66 released.
+
+2012-12-18 Carl Hetherington <cth@carlh.net>
+
+ * Version 0.65 released.
+>>>>>>> master
+
2012-12-13 Carl Hetherington <cth@carlh.net>
* Version 0.64 released.
diff --git a/builds/control-12.04 b/builds/control-12.04
deleted file mode 100644
index 9976688bc..000000000
--- a/builds/control-12.04
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: dvdomatic
-Section: video
-Priority: extra
-Maintainer: Carl Hetherington <cth@carlh.net>
-Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
-Standards-Version: 3.9.3
-Homepage: http://carlh.net/software/dvdomatic
-
-Package: dvdomatic
-Architecture: any
-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)
-Description: Generator of Digital Cinema Packages (DCPs)
- DVD-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
- digital projectors.
diff --git a/builds/control-12.04-32 b/builds/control-12.04-32
index 20031996b..8cb5aceb3 100644
--- a/builds/control-12.04-32
+++ b/builds/control-12.04-32
@@ -8,7 +8,7 @@ Homepage: http://carlh.net/software/dvdomatic
Package: dvdomatic
Architecture: i386
-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)
+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)
Description: Generator of Digital Cinema Packages (DCPs)
DVD-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/builds/control-12.04-64 b/builds/control-12.04-64
index d28efb7e9..cdb15a87b 100644
--- a/builds/control-12.04-64
+++ b/builds/control-12.04-64
@@ -8,7 +8,7 @@ Homepage: http://carlh.net/software/dvdomatic
Package: dvdomatic
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)
+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)
Description: Generator of Digital Cinema Packages (DCPs)
DVD-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/builds/control-12.10 b/builds/control-12.10
deleted file mode 100644
index 5be972616..000000000
--- a/builds/control-12.10
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: dvdomatic
-Section: video
-Priority: extra
-Maintainer: Carl Hetherington <cth@carlh.net>
-Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.3), g++ (>= 4:4.6.3), pkg-config (>= 0.26), libwxgtk2.8-dev (>= 2.8.12.1), libssh-dev (>= 0.5.2), libboost-filesystem-dev (>= 1.46.0), libboost-thread-dev (>= 1.46.0), libsndfile1-dev (>= 1.0.25), libmagick++-dev (>= 8:6.6.9.7)
-Standards-Version: 3.9.3
-Homepage: http://carlh.net/software/dvdomatic
-
-Package: dvdomatic
-Architecture: any
-Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), 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)
-Description: Generator of Digital Cinema Packages (DCPs)
- DVD-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
- digital projectors.
diff --git a/builds/control-12.10-32 b/builds/control-12.10-32
index 63ae6099a..1dc91b701 100644
--- a/builds/control-12.10-32
+++ b/builds/control-12.10-32
@@ -8,7 +8,7 @@ Homepage: http://carlh.net/software/dvdomatic
Package: dvdomatic
Architecture: i386
-Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), 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)
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), 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)
Description: Generator of Digital Cinema Packages (DCPs)
DVD-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/builds/control-12.10-64 b/builds/control-12.10-64
index 60f54c7b6..ed0b36b2e 100644
--- a/builds/control-12.10-64
+++ b/builds/control-12.10-64
@@ -8,7 +8,7 @@ Homepage: http://carlh.net/software/dvdomatic
Package: dvdomatic
Architecture: amd64
-Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), 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)
+Depends: libc6 (>= 2.15), libwxgtk2.8-0 (>= 2.8.12.1), 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)
Description: Generator of Digital Cinema Packages (DCPs)
DVD-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/debian/changelog b/debian/changelog
index f517e8bc4..83439be72 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+dvdomatic (0.67-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan> Tue, 18 Dec 2012 23:49:27 +0000
+
+dvdomatic (0.66-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan> Tue, 18 Dec 2012 11:29:04 +0000
+
+dvdomatic (0.65-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Carl Hetherington <carl@houllier.lan> Tue, 18 Dec 2012 09:24:56 +0000
+
dvdomatic (0.64-1) unstable; urgency=low
* New upstream release.
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index c4ca00fa6..60bb3271e 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -369,7 +369,7 @@ FFmpegDecoder::deinterleave_audio (uint8_t* data, int size)
switch (audio_sample_format()) {
case AV_SAMPLE_FMT_S16:
{
- int16_t* p = (int16_t *) data;
+ int16_t* p = reinterpret_cast<int16_t *> (data);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
@@ -384,13 +384,24 @@ FFmpegDecoder::deinterleave_audio (uint8_t* data, int size)
}
break;
+ case AV_SAMPLE_FMT_S16P:
+ {
+ int16_t* p = reinterpret_cast<int16_t *> (data);
+ for (int i = 0; i < _film->audio_channels(); ++i) {
+ for (int j = 0; j < frames; ++j) {
+ audio->data(i)[j] = static_cast<float>(*p++) / (1 << 15);
+ }
+ }
+ }
+ break;
+
case AV_SAMPLE_FMT_S32:
{
- int32_t* p = (int32_t *) data;
+ int32_t* p = reinterpret_cast<int32_t *> (data);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
- audio->data(channel)[sample] = float(*p++) / (1 << 31);
+ audio->data(channel)[sample] = static_cast<float>(*p++) / (1 << 31);
++channel;
if (channel == _film->audio_channels()) {
@@ -399,7 +410,25 @@ FFmpegDecoder::deinterleave_audio (uint8_t* data, int size)
}
}
}
+ break;
+ case AV_SAMPLE_FMT_FLT:
+ {
+ float* p = reinterpret_cast<float*> (data);
+ int sample = 0;
+ int channel = 0;
+ for (int i = 0; i < total_samples; ++i) {
+ audio->data(channel)[sample] = *p++;
+
+ ++channel;
+ if (channel == _film->audio_channels()) {
+ channel = 0;
+ ++sample;
+ }
+ }
+ }
+ break;
+
case AV_SAMPLE_FMT_FLTP:
{
float* p = reinterpret_cast<float*> (data);
diff --git a/wscript b/wscript
index 9bd8d2d50..02d95715b 100644
--- a/wscript
+++ b/wscript
@@ -3,7 +3,7 @@ import os
import sys
APPNAME = 'dvdomatic'
-VERSION = '0.65pre'
+VERSION = '0.68pre'
def options(opt):
opt.load('compiler_cxx')
@@ -61,7 +61,7 @@ def configure(conf):
conf.check_cfg(package = 'libpostproc', args = '--cflags --libs', uselib_store = 'POSTPROC', mandatory = True)
else:
# This is hackio grotesquio for static builds (ie for .deb packages). We need to link some things
- # statically and some dynamically, or things get horribly confused the dynamic linker (I think)
+ # statically and some dynamically, or things get horribly confused and the dynamic linker (I think)
# crashes horribly. These calls do what the check_cfg calls would have done, but specify the
# different bits as static or dynamic as required. It'll break if you look at it funny, but
# I think anyone else who builds would do so dynamically.
@@ -84,6 +84,10 @@ def configure(conf):
conf.env.HAVE_POSTPROC = 1
conf.env.STLIB_POSTPROC = ['postproc']
+ # This doesn't seem to be set up, and we need it otherwise resampling support
+ # won't be included. Hack upon a hack, obviously
+ conf.env.append_value('CXXFLAGS', ['-DHAVE_SWRESAMPLE=1'])
+
conf.check_cfg(package = 'sndfile', args = '--cflags --libs', uselib_store = 'SNDFILE', mandatory = True)
conf.check_cfg(package = 'glib-2.0', args = '--cflags --libs', uselib_store = 'GLIB', mandatory = True)
conf.check_cfg(package = '', path = 'Magick++-config', args = '--cppflags --cxxflags --libs', uselib_store = 'MAGICK', mandatory = True)