[arch-commits] Commit in blender/repos/community-x86_64 (14 files)
Sven-Hendrik Haase
svenstaro at archlinux.org
Sun Oct 7 21:42:28 UTC 2018
Date: Sunday, October 7, 2018 @ 21:42:27
Author: svenstaro
Revision: 391054
archrelease: copy trunk to community-x86_64
Added:
blender/repos/community-x86_64/PKGBUILD
(from rev 391053, blender/trunk/PKGBUILD)
blender/repos/community-x86_64/ffmpeg4.0.patch
(from rev 391053, blender/trunk/ffmpeg4.0.patch)
blender/repos/community-x86_64/openvdb3-abi.patch
(from rev 391053, blender/trunk/openvdb3-abi.patch)
blender/repos/community-x86_64/python37.patch
(from rev 391053, blender/trunk/python37.patch)
blender/repos/community-x86_64/stl_export_iter.patch
(from rev 391053, blender/trunk/stl_export_iter.patch)
blender/repos/community-x86_64/tree_hpp.patch
(from rev 391053, blender/trunk/tree_hpp.patch)
blender/repos/community-x86_64/util_sseb.patch
(from rev 391053, blender/trunk/util_sseb.patch)
Deleted:
blender/repos/community-x86_64/PKGBUILD
blender/repos/community-x86_64/ffmpeg4.0.patch
blender/repos/community-x86_64/openvdb3-abi.patch
blender/repos/community-x86_64/python37.patch
blender/repos/community-x86_64/stl_export_iter.patch
blender/repos/community-x86_64/tree_hpp.patch
blender/repos/community-x86_64/util_sseb.patch
-----------------------+
PKGBUILD | 232 +++++++++++++++---------------
ffmpeg4.0.patch | 226 ++++++++++++++---------------
openvdb3-abi.patch | 56 +++----
python37.patch | 80 +++++-----
stl_export_iter.patch | 26 +--
tree_hpp.patch | 366 ++++++++++++++++++++++++------------------------
util_sseb.patch | 26 +--
7 files changed, 506 insertions(+), 506 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2018-10-07 21:41:25 UTC (rev 391053)
+++ PKGBUILD 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,116 +0,0 @@
-# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
-# Contributor: John Sowiak <john at archlinux.org>
-# Contributor: tobias <tobias at archlinux.org>
-
-# Sometimes blender.org takes some time to release patch releases and because Arch users
-# are impatient, we sometimes need to build from git directly.
-# Update because I get so many queries on this:
-# Due to our other rolling deps, it's sometimes not possible to build Blender stable releases.
-# More often than not, a new openshadinglanguage breaks it and I could either backport fixes
-# or simply roll with a new version. I usually choose the latter when the former seems
-# unreasonable.
-
-# _gittag=v2.79b
-_gitcommit=32432d91bbec558cbd88e54aece61b0d641c1761
-
-pkgname=blender
-pkgver=2.79.b
-[[ -n $_gitcommit ]] && pkgver=${pkgver}.git3.${_gitcommit:0:8}
-pkgrel=10
-epoch=17
-pkgdesc="A fully integrated 3D graphics creation suite"
-arch=('x86_64')
-license=('GPL')
-url="http://www.blender.org"
-depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests'
- 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg' 'python-numpy'
- 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic'
- 'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage'
- 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2')
-makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda')
-optdepends=('cuda: cycles renderer cuda support')
-options=(!strip)
-source=("git://git.blender.org/blender-addons.git"
- "git://git.blender.org/blender-addons-contrib.git"
- "git://git.blender.org/blender-translations.git"
- "git://git.blender.org/blender-dev-tools.git"
- "git://git.blender.org/scons.git"
- python37.patch
- ffmpeg4.0.patch
- tree_hpp.patch
- util_sseb.patch
- openvdb3-abi.patch
- stl_export_iter.patch)
-if [[ -n $_gittag ]]; then
- source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}")
-elif [[ -n $_gitcommit ]]; then
- source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#commit=${_gitcommit}")
-fi
-md5sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- '1d6d2064db0e8e4e3a52735406f5106a'
- 'da14d7cbdea1ab5499659a066658cdd2'
- 'feea89510de171946c41c6208461f453'
- '53da216adbc2a9d555a59c15b8f0ef08'
- '3f9613fcb7ea61214982272e9c20a294'
- 'f21e971208232d8d78d1a4c41013a101'
- 'SKIP')
-
-prepare() {
- cd "$srcdir/$pkgname-$pkgver"
-
- git submodule init
- git config submodule."release/scripts/addons".url ${srcdir}/blender-addons
- git config submodule."release/scripts/addons_contrib".url ${srcdir}/blender-addons-contrib
- git config submodule."release/datafiles/locale".url ${srcdir}/blender-translations
- git config submodule."source/tools".url ${srcdir}/blender-dev-tools
- git config submodule."scons".url ${srcdir}/scons
- git submodule update
-
- patch -Np1 -i "$srcdir"/python37.patch
- patch -Np1 -i "$srcdir"/ffmpeg4.0.patch
- patch -Np1 -i "$srcdir"/tree_hpp.patch
- patch -Np1 -i "$srcdir"/util_sseb.patch
- patch -Np1 -i "$srcdir"/openvdb3-abi.patch
- patch -Np1 -i "$srcdir"/stl_export_iter.patch
-}
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- [[ -d build ]] && rm -rf build
- mkdir build && cd build
-
- cmake -C../build_files/cmake/config/blender_release.cmake .. \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DWITH_INSTALL_PORTABLE=OFF \
- -DWITH_PYTHON_INSTALL=OFF \
- -DOPENIMAGEIO_ROOT_DIR=/usr \
- -DWITH_SYSTEM_OPENJPEG=ON \
- -DWITH_GL_PROFILE_CORE=OFF \
- -DWITH_GL_PROFILE_ES20=OFF \
- -DWITH_LLVM=ON \
- -DWITH_CYCLES_CUDA_BINARIES=ON \
- -DWITH_CYCLES_PTEX=OFF \
- -DCYCLES_CUDA_BINARIES_ARCH="sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_62;sm_70;sm_72;sm_75" \
- -DPYTHON_VERSION=3.7 \
- -DPYTHON_LIBPATH=/usr/lib \
- -DPYTHON_LIBRARY=python3.7m \
- -DPYTHON_INCLUDE_DIRS=/usr/include/python3.7m
- make
-
- # PTEX is currently broken and experimental in blender anyway
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver/build"
-
- make DESTDIR="${pkgdir}" install
- install -Dm755 ../release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl"
- python -m compileall "${pkgdir}/usr/share/blender"
- python -O -m compileall "${pkgdir}/usr/share/blender"
-}
Copied: blender/repos/community-x86_64/PKGBUILD (from rev 391053, blender/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,116 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: John Sowiak <john at archlinux.org>
+# Contributor: tobias <tobias at archlinux.org>
+
+# Sometimes blender.org takes some time to release patch releases and because Arch users
+# are impatient, we sometimes need to build from git directly.
+# Update because I get so many queries on this:
+# Due to our other rolling deps, it's sometimes not possible to build Blender stable releases.
+# More often than not, a new openshadinglanguage breaks it and I could either backport fixes
+# or simply roll with a new version. I usually choose the latter when the former seems
+# unreasonable.
+
+# _gittag=v2.79b
+_gitcommit=32432d91bbec558cbd88e54aece61b0d641c1761
+
+pkgname=blender
+pkgver=2.79.b
+[[ -n $_gitcommit ]] && pkgver=${pkgver}.git3.${_gitcommit:0:8}
+pkgrel=10
+epoch=17
+pkgdesc="A fully integrated 3D graphics creation suite"
+arch=('x86_64')
+license=('GPL')
+url="http://www.blender.org"
+depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests'
+ 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg' 'python-numpy'
+ 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic'
+ 'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage'
+ 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2')
+makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda')
+optdepends=('cuda: cycles renderer cuda support')
+options=(!strip)
+source=("git://git.blender.org/blender-addons.git"
+ "git://git.blender.org/blender-addons-contrib.git"
+ "git://git.blender.org/blender-translations.git"
+ "git://git.blender.org/blender-dev-tools.git"
+ "git://git.blender.org/scons.git"
+ python37.patch
+ ffmpeg4.0.patch
+ tree_hpp.patch
+ util_sseb.patch
+ openvdb3-abi.patch
+ stl_export_iter.patch)
+if [[ -n $_gittag ]]; then
+ source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}")
+elif [[ -n $_gitcommit ]]; then
+ source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#commit=${_gitcommit}")
+fi
+md5sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '1d6d2064db0e8e4e3a52735406f5106a'
+ 'da14d7cbdea1ab5499659a066658cdd2'
+ 'feea89510de171946c41c6208461f453'
+ '53da216adbc2a9d555a59c15b8f0ef08'
+ '3f9613fcb7ea61214982272e9c20a294'
+ 'f21e971208232d8d78d1a4c41013a101'
+ 'SKIP')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ git submodule init
+ git config submodule."release/scripts/addons".url ${srcdir}/blender-addons
+ git config submodule."release/scripts/addons_contrib".url ${srcdir}/blender-addons-contrib
+ git config submodule."release/datafiles/locale".url ${srcdir}/blender-translations
+ git config submodule."source/tools".url ${srcdir}/blender-dev-tools
+ git config submodule."scons".url ${srcdir}/scons
+ git submodule update
+
+ patch -Np1 -i "$srcdir"/python37.patch
+ patch -Np1 -i "$srcdir"/ffmpeg4.0.patch
+ patch -Np1 -i "$srcdir"/tree_hpp.patch
+ patch -Np1 -i "$srcdir"/util_sseb.patch
+ patch -Np1 -i "$srcdir"/openvdb3-abi.patch
+ patch -Np1 -i "$srcdir"/stl_export_iter.patch
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ [[ -d build ]] && rm -rf build
+ mkdir build && cd build
+
+ cmake -C../build_files/cmake/config/blender_release.cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DWITH_INSTALL_PORTABLE=OFF \
+ -DWITH_PYTHON_INSTALL=OFF \
+ -DOPENIMAGEIO_ROOT_DIR=/usr \
+ -DWITH_SYSTEM_OPENJPEG=ON \
+ -DWITH_GL_PROFILE_CORE=OFF \
+ -DWITH_GL_PROFILE_ES20=OFF \
+ -DWITH_LLVM=ON \
+ -DWITH_CYCLES_CUDA_BINARIES=ON \
+ -DWITH_CYCLES_PTEX=OFF \
+ -DCYCLES_CUDA_BINARIES_ARCH="sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_62;sm_70;sm_72;sm_75" \
+ -DPYTHON_VERSION=3.7 \
+ -DPYTHON_LIBPATH=/usr/lib \
+ -DPYTHON_LIBRARY=python3.7m \
+ -DPYTHON_INCLUDE_DIRS=/usr/include/python3.7m
+ make
+
+ # PTEX is currently broken and experimental in blender anyway
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm755 ../release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl"
+ python -m compileall "${pkgdir}/usr/share/blender"
+ python -O -m compileall "${pkgdir}/usr/share/blender"
+}
Deleted: ffmpeg4.0.patch
===================================================================
--- ffmpeg4.0.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ ffmpeg4.0.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,113 +0,0 @@
-diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
-index e9eea195208..84aea330313 100644
---- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
-+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
-@@ -264,9 +264,9 @@ AUD_FFMPEGReader::AUD_FFMPEGReader(boost::shared_ptr<AUD_Buffer> buffer) :
- m_membuffer(buffer),
- m_membufferpos(0)
- {
-- m_membuf = reinterpret_cast<data_t*>(av_malloc(FF_MIN_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE));
-+ m_membuf = reinterpret_cast<data_t*>(av_malloc(AV_INPUT_BUFFER_MIN_SIZE + AV_INPUT_BUFFER_PADDING_SIZE));
-
-- m_aviocontext = avio_alloc_context(m_membuf, FF_MIN_BUFFER_SIZE, 0, this,
-+ m_aviocontext = avio_alloc_context(m_membuf, AV_INPUT_BUFFER_MIN_SIZE, 0, this,
- read_packet, NULL, seek_packet);
-
- if(!m_aviocontext)
-diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
-index 3f95ac7a4da..2c2f0916406 100644
---- a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
-+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
-@@ -163,7 +163,7 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs,
- try
- {
- if(m_formatCtx->oformat->flags & AVFMT_GLOBALHEADER)
-- m_codecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ m_codecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
-
- AVCodec* codec = avcodec_find_encoder(m_codecCtx->codec_id);
- if(!codec)
-@@ -185,11 +185,11 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs,
- if(avcodec_open2(m_codecCtx, codec, NULL))
- AUD_THROW(AUD_ERROR_FFMPEG, codec_error);
-
-- m_output_buffer.resize(FF_MIN_BUFFER_SIZE);
-+ m_output_buffer.resize(AV_INPUT_BUFFER_MIN_SIZE);
- int samplesize = AUD_MAX(AUD_SAMPLE_SIZE(m_specs), AUD_DEVICE_SAMPLE_SIZE(m_specs));
-
- if(m_codecCtx->frame_size <= 1) {
-- m_input_size = FF_MIN_BUFFER_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels;
-+ m_input_size = AV_INPUT_BUFFER_MIN_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels;
- m_input_buffer.resize(m_input_size * samplesize);
- }
- else
-diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
-index d7fcd896e11..9e82df17dce 100644
---- a/source/blender/blenkernel/intern/writeffmpeg.c
-+++ b/source/blender/blenkernel/intern/writeffmpeg.c
-@@ -619,8 +619,6 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
- c->rc_buffer_aggressivity = 1.0;
- #endif
-
-- c->me_method = ME_EPZS;
--
- codec = avcodec_find_encoder(c->codec_id);
- if (!codec)
- return NULL;
-@@ -682,14 +680,14 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
- )
- {
- PRINT("Using global header\n");
-- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- }
-
- /* Determine whether we are encoding interlaced material or not */
- if (rd->mode & R_FIELDS) {
- PRINT("Encoding interlaced video\n");
-- c->flags |= CODEC_FLAG_INTERLACED_DCT;
-- c->flags |= CODEC_FLAG_INTERLACED_ME;
-+ c->flags |= AV_CODEC_FLAG_INTERLACED_DCT;
-+ c->flags |= AV_CODEC_FLAG_INTERLACED_ME;
- }
-
- /* xasp & yasp got float lately... */
-@@ -779,7 +777,7 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int
- }
-
- if (of->oformat->flags & AVFMT_GLOBALHEADER) {
-- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- }
-
- set_ffmpeg_properties(rd, c, "audio", &opts);
-@@ -798,14 +796,14 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int
- st->codec->time_base.den = st->codec->sample_rate;
-
- #ifndef FFMPEG_HAVE_ENCODE_AUDIO2
-- context->audio_outbuf_size = FF_MIN_BUFFER_SIZE;
-+ context->audio_outbuf_size = AV_INPUT_BUFFER_MIN_SIZE;
- #endif
-
- if (c->frame_size == 0)
- // used to be if ((c->codec_id >= CODEC_ID_PCM_S16LE) && (c->codec_id <= CODEC_ID_PCM_DVD))
- // not sure if that is needed anymore, so let's try out if there are any
- // complaints regarding some ffmpeg versions users might have
-- context->audio_input_samples = FF_MIN_BUFFER_SIZE * 8 / c->bits_per_coded_sample / c->channels;
-+ context->audio_input_samples = AV_INPUT_BUFFER_MIN_SIZE * 8 / c->bits_per_coded_sample / c->channels;
- else {
- context->audio_input_samples = c->frame_size;
- #ifndef FFMPEG_HAVE_ENCODE_AUDIO2
-diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
-index eaf4dfd84b4..9c2f42feb52 100644
---- a/source/blender/imbuf/intern/indexer.c
-+++ b/source/blender/imbuf/intern/indexer.c
-@@ -537,7 +537,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffmpeg(
- av_opt_set_int(rv->c, "qmax", ffmpeg_quality, 0);
-
- if (rv->of->flags & AVFMT_GLOBALHEADER) {
-- rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ rv->c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- }
-
- if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
Copied: blender/repos/community-x86_64/ffmpeg4.0.patch (from rev 391053, blender/trunk/ffmpeg4.0.patch)
===================================================================
--- ffmpeg4.0.patch (rev 0)
+++ ffmpeg4.0.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,113 @@
+diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+index e9eea195208..84aea330313 100644
+--- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
++++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+@@ -264,9 +264,9 @@ AUD_FFMPEGReader::AUD_FFMPEGReader(boost::shared_ptr<AUD_Buffer> buffer) :
+ m_membuffer(buffer),
+ m_membufferpos(0)
+ {
+- m_membuf = reinterpret_cast<data_t*>(av_malloc(FF_MIN_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE));
++ m_membuf = reinterpret_cast<data_t*>(av_malloc(AV_INPUT_BUFFER_MIN_SIZE + AV_INPUT_BUFFER_PADDING_SIZE));
+
+- m_aviocontext = avio_alloc_context(m_membuf, FF_MIN_BUFFER_SIZE, 0, this,
++ m_aviocontext = avio_alloc_context(m_membuf, AV_INPUT_BUFFER_MIN_SIZE, 0, this,
+ read_packet, NULL, seek_packet);
+
+ if(!m_aviocontext)
+diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+index 3f95ac7a4da..2c2f0916406 100644
+--- a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
++++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+@@ -163,7 +163,7 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs,
+ try
+ {
+ if(m_formatCtx->oformat->flags & AVFMT_GLOBALHEADER)
+- m_codecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ m_codecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+
+ AVCodec* codec = avcodec_find_encoder(m_codecCtx->codec_id);
+ if(!codec)
+@@ -185,11 +185,11 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs,
+ if(avcodec_open2(m_codecCtx, codec, NULL))
+ AUD_THROW(AUD_ERROR_FFMPEG, codec_error);
+
+- m_output_buffer.resize(FF_MIN_BUFFER_SIZE);
++ m_output_buffer.resize(AV_INPUT_BUFFER_MIN_SIZE);
+ int samplesize = AUD_MAX(AUD_SAMPLE_SIZE(m_specs), AUD_DEVICE_SAMPLE_SIZE(m_specs));
+
+ if(m_codecCtx->frame_size <= 1) {
+- m_input_size = FF_MIN_BUFFER_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels;
++ m_input_size = AV_INPUT_BUFFER_MIN_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels;
+ m_input_buffer.resize(m_input_size * samplesize);
+ }
+ else
+diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
+index d7fcd896e11..9e82df17dce 100644
+--- a/source/blender/blenkernel/intern/writeffmpeg.c
++++ b/source/blender/blenkernel/intern/writeffmpeg.c
+@@ -619,8 +619,6 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
+ c->rc_buffer_aggressivity = 1.0;
+ #endif
+
+- c->me_method = ME_EPZS;
+-
+ codec = avcodec_find_encoder(c->codec_id);
+ if (!codec)
+ return NULL;
+@@ -682,14 +680,14 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
+ )
+ {
+ PRINT("Using global header\n");
+- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ /* Determine whether we are encoding interlaced material or not */
+ if (rd->mode & R_FIELDS) {
+ PRINT("Encoding interlaced video\n");
+- c->flags |= CODEC_FLAG_INTERLACED_DCT;
+- c->flags |= CODEC_FLAG_INTERLACED_ME;
++ c->flags |= AV_CODEC_FLAG_INTERLACED_DCT;
++ c->flags |= AV_CODEC_FLAG_INTERLACED_ME;
+ }
+
+ /* xasp & yasp got float lately... */
+@@ -779,7 +777,7 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int
+ }
+
+ if (of->oformat->flags & AVFMT_GLOBALHEADER) {
+- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ set_ffmpeg_properties(rd, c, "audio", &opts);
+@@ -798,14 +796,14 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int
+ st->codec->time_base.den = st->codec->sample_rate;
+
+ #ifndef FFMPEG_HAVE_ENCODE_AUDIO2
+- context->audio_outbuf_size = FF_MIN_BUFFER_SIZE;
++ context->audio_outbuf_size = AV_INPUT_BUFFER_MIN_SIZE;
+ #endif
+
+ if (c->frame_size == 0)
+ // used to be if ((c->codec_id >= CODEC_ID_PCM_S16LE) && (c->codec_id <= CODEC_ID_PCM_DVD))
+ // not sure if that is needed anymore, so let's try out if there are any
+ // complaints regarding some ffmpeg versions users might have
+- context->audio_input_samples = FF_MIN_BUFFER_SIZE * 8 / c->bits_per_coded_sample / c->channels;
++ context->audio_input_samples = AV_INPUT_BUFFER_MIN_SIZE * 8 / c->bits_per_coded_sample / c->channels;
+ else {
+ context->audio_input_samples = c->frame_size;
+ #ifndef FFMPEG_HAVE_ENCODE_AUDIO2
+diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
+index eaf4dfd84b4..9c2f42feb52 100644
+--- a/source/blender/imbuf/intern/indexer.c
++++ b/source/blender/imbuf/intern/indexer.c
+@@ -537,7 +537,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffmpeg(
+ av_opt_set_int(rv->c, "qmax", ffmpeg_quality, 0);
+
+ if (rv->of->flags & AVFMT_GLOBALHEADER) {
+- rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ rv->c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
Deleted: openvdb3-abi.patch
===================================================================
--- openvdb3-abi.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ openvdb3-abi.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bfea2dd1a97..c59aff4c62c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -252,6 +252,10 @@ option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" _init_OPEN
- option(WITH_OPENVDB "Enable features relying on OpenVDB" OFF)
- option(WITH_OPENVDB_BLOSC "Enable blosc compression for OpenVDB, only enable if OpenVDB was built with blosc support" OFF)
-
-+if(WITH_OPENVDB)
-+ add_definitions(-DOPENVDB_3_ABI_COMPATIBLE=TRUE)
-+endif()
-+
- # GHOST Windowing Library Options
- option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
- mark_as_advanced(WITH_GHOST_DEBUG)
-diff --git a/intern/openvdb/intern/openvdb_writer.cc b/intern/openvdb/intern/openvdb_writer.cc
-index e886c5a76a8..bedcfe65552 100644
---- a/intern/openvdb/intern/openvdb_writer.cc
-+++ b/intern/openvdb/intern/openvdb_writer.cc
-@@ -45,7 +45,7 @@ void OpenVDBWriter::insert(const openvdb::GridBase::Ptr &grid)
-
- void OpenVDBWriter::insert(const openvdb::GridBase &grid)
- {
--#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER == 3)
-+#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER <= 3) || defined(OPENVDB_3_ABI_COMPATIBLE)
- m_grids->push_back(grid.copyGrid());
- #else
- m_grids->push_back(grid.copyGridWithNewTree());
Copied: blender/repos/community-x86_64/openvdb3-abi.patch (from rev 391053, blender/trunk/openvdb3-abi.patch)
===================================================================
--- openvdb3-abi.patch (rev 0)
+++ openvdb3-abi.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bfea2dd1a97..c59aff4c62c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -252,6 +252,10 @@ option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" _init_OPEN
+ option(WITH_OPENVDB "Enable features relying on OpenVDB" OFF)
+ option(WITH_OPENVDB_BLOSC "Enable blosc compression for OpenVDB, only enable if OpenVDB was built with blosc support" OFF)
+
++if(WITH_OPENVDB)
++ add_definitions(-DOPENVDB_3_ABI_COMPATIBLE=TRUE)
++endif()
++
+ # GHOST Windowing Library Options
+ option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
+ mark_as_advanced(WITH_GHOST_DEBUG)
+diff --git a/intern/openvdb/intern/openvdb_writer.cc b/intern/openvdb/intern/openvdb_writer.cc
+index e886c5a76a8..bedcfe65552 100644
+--- a/intern/openvdb/intern/openvdb_writer.cc
++++ b/intern/openvdb/intern/openvdb_writer.cc
+@@ -45,7 +45,7 @@ void OpenVDBWriter::insert(const openvdb::GridBase::Ptr &grid)
+
+ void OpenVDBWriter::insert(const openvdb::GridBase &grid)
+ {
+-#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER == 3)
++#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER <= 3) || defined(OPENVDB_3_ABI_COMPATIBLE)
+ m_grids->push_back(grid.copyGrid());
+ #else
+ m_grids->push_back(grid.copyGridWithNewTree());
Deleted: python37.patch
===================================================================
--- python37.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ python37.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,40 +0,0 @@
-From 1db47a2ccd1e68994bf8140eba6cc2a26a2bc91f Mon Sep 17 00:00:00 2001
-From: Campbell Barton <ideasman42 at gmail.com>
-Date: Thu, 12 Jul 2018 08:28:06 +0200
-Subject: [PATCH] Fix PyRNA class registration w/ Python 3.7
-
-In Python3.7 this now raises an error.
----
- source/blender/python/intern/bpy_rna.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
-index 9052b6f580a..80b0aa7a51b 100644
---- a/source/blender/python/intern/bpy_rna.c
-+++ b/source/blender/python/intern/bpy_rna.c
-@@ -7577,10 +7577,12 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
- if (!(flag & PROP_REGISTER))
- continue;
-
-+ /* TODO(campbell): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */
- identifier = RNA_property_identifier(prop);
- item = PyObject_GetAttrString(py_class, identifier);
-
- if (item == NULL) {
-+ PyErr_Clear();
- /* Sneaky workaround to use the class name as the bl_idname */
-
- #define BPY_REPLACEMENT_STRING(rna_attr, py_attr) \
-@@ -7596,6 +7598,9 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
- } \
- Py_DECREF(item); \
- } \
-+ else { \
-+ PyErr_Clear(); \
-+ } \
- } /* intentionally allow else here */
-
- if (false) {} /* needed for macro */
---
-2.18.0
-
Copied: blender/repos/community-x86_64/python37.patch (from rev 391053, blender/trunk/python37.patch)
===================================================================
--- python37.patch (rev 0)
+++ python37.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,40 @@
+From 1db47a2ccd1e68994bf8140eba6cc2a26a2bc91f Mon Sep 17 00:00:00 2001
+From: Campbell Barton <ideasman42 at gmail.com>
+Date: Thu, 12 Jul 2018 08:28:06 +0200
+Subject: [PATCH] Fix PyRNA class registration w/ Python 3.7
+
+In Python3.7 this now raises an error.
+---
+ source/blender/python/intern/bpy_rna.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
+index 9052b6f580a..80b0aa7a51b 100644
+--- a/source/blender/python/intern/bpy_rna.c
++++ b/source/blender/python/intern/bpy_rna.c
+@@ -7577,10 +7577,12 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
+ if (!(flag & PROP_REGISTER))
+ continue;
+
++ /* TODO(campbell): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */
+ identifier = RNA_property_identifier(prop);
+ item = PyObject_GetAttrString(py_class, identifier);
+
+ if (item == NULL) {
++ PyErr_Clear();
+ /* Sneaky workaround to use the class name as the bl_idname */
+
+ #define BPY_REPLACEMENT_STRING(rna_attr, py_attr) \
+@@ -7596,6 +7598,9 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
+ } \
+ Py_DECREF(item); \
+ } \
++ else { \
++ PyErr_Clear(); \
++ } \
+ } /* intentionally allow else here */
+
+ if (false) {} /* needed for macro */
+--
+2.18.0
+
Deleted: stl_export_iter.patch
===================================================================
--- stl_export_iter.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ stl_export_iter.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,13 +0,0 @@
-diff --git a/release/scripts/addons/io_mesh_stl/blender_utils.py b/release/scripts/addons/io_mesh_stl/blender_utils.py
-index 864335ab..c74853db 100644
---- a/release/scripts/addons/io_mesh_stl/blender_utils.py
-+++ b/release/scripts/addons/io_mesh_stl/blender_utils.py
-@@ -86,7 +86,7 @@ def faces_from_mesh(ob, global_matrix, use_mesh_modifiers=False, triangulate=Tru
- try:
- mesh = ob.to_mesh(bpy.context.scene, use_mesh_modifiers, "PREVIEW")
- except RuntimeError:
-- raise StopIteration
-+ return
-
- mat = global_matrix * ob.matrix_world
- mesh.transform(mat)
Copied: blender/repos/community-x86_64/stl_export_iter.patch (from rev 391053, blender/trunk/stl_export_iter.patch)
===================================================================
--- stl_export_iter.patch (rev 0)
+++ stl_export_iter.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,13 @@
+diff --git a/release/scripts/addons/io_mesh_stl/blender_utils.py b/release/scripts/addons/io_mesh_stl/blender_utils.py
+index 864335ab..c74853db 100644
+--- a/release/scripts/addons/io_mesh_stl/blender_utils.py
++++ b/release/scripts/addons/io_mesh_stl/blender_utils.py
+@@ -86,7 +86,7 @@ def faces_from_mesh(ob, global_matrix, use_mesh_modifiers=False, triangulate=Tru
+ try:
+ mesh = ob.to_mesh(bpy.context.scene, use_mesh_modifiers, "PREVIEW")
+ except RuntimeError:
+- raise StopIteration
++ return
+
+ mat = global_matrix * ob.matrix_world
+ mesh.transform(mat)
Deleted: tree_hpp.patch
===================================================================
--- tree_hpp.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ tree_hpp.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,183 +0,0 @@
-diff --git a/intern/itasc/kdl/tree.hpp b/intern/itasc/kdl/tree.hpp
-index c8a253fc901..bd35f82d185 100644
---- a/intern/itasc/kdl/tree.hpp
-+++ b/intern/itasc/kdl/tree.hpp
-@@ -1,177 +1,177 @@
- // Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
-
- // Version: 1.0
- // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
- // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
- // URL: http://www.orocos.org/kdl
-
- // This library is free software; you can redistribute it and/or
- // modify it under the terms of the GNU Lesser General Public
- // License as published by the Free Software Foundation; either
- // version 2.1 of the License, or (at your option) any later version.
-
- // This library is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- // Lesser General Public License for more details.
-
- // You should have received a copy of the GNU Lesser General Public
- // License along with this library; if not, write to the Free Software
- // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- #ifndef KDL_TREE_HPP
- #define KDL_TREE_HPP
-
- #include "segment.hpp"
- #include "chain.hpp"
-
- #include <string>
- #include <map>
- #include <Eigen/Core>
-
- namespace KDL
- {
- //Forward declaration
- class TreeElement;
- // Eigen allocator is needed for alignment of Eigen data types
-- typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap;
-+ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap;
-
- class TreeElement
- {
- public:
- TreeElement():q_nr(0),parent(0)
- {};
- public:
- Segment segment;
- unsigned int q_nr;
- SegmentMap::value_type const *parent;
- std::vector<SegmentMap::const_iterator > children;
- TreeElement(const Segment& segment_in,const SegmentMap::value_type& parent_in,unsigned int q_nr_in)
- {
- q_nr=q_nr_in;
- segment=segment_in;
- parent=&parent_in;
- };
- static TreeElement Root()
- {
- return TreeElement();
- };
- };
-
- /**
- * \brief This class encapsulates a <strong>tree</strong>
- * kinematic interconnection structure. It is build out of segments.
- *
- * @ingroup KinematicFamily
- */
- class Tree
- {
- private:
- SegmentMap segments;
- unsigned int nrOfJoints;
- unsigned int nrOfSegments;
-
- bool addTreeRecursive(SegmentMap::const_iterator root, const std::string& tree_name, const std::string& hook_name);
-
- public:
- /**
- * The constructor of a tree, a new tree is always empty
- */
- Tree();
- Tree(const Tree& in);
- Tree& operator= (const Tree& arg);
-
- /**
- * Adds a new segment to the end of the segment with
- * hook_name as segment_name
- *
- * @param segment new segment to add
- * @param segment_name name of the new segment
- * @param hook_name name of the segment to connect this
- * segment with.
- *
- * @return false if hook_name could not be found.
- */
- bool addSegment(const Segment& segment, const std::string& segment_name, const std::string& hook_name);
-
- /**
- * Adds a complete chain to the end of the segment with
- * hook_name as segment_name. Segment i of
- * the chain will get chain_name+".Segment"+i as segment_name.
- *
- * @param chain Chain to add
- * @param chain_name name of the chain
- * @param hook_name name of the segment to connect the chain with.
- *
- * @return false if hook_name could not be found.
- */
- bool addChain(const Chain& chain, const std::string& chain_name, const std::string& hook_name);
-
- /**
- * Adds a complete tree to the end of the segment with
- * hookname as segment_name. The segments of the tree will get
- * tree_name+segment_name as segment_name.
- *
- * @param tree Tree to add
- * @param tree_name name of the tree
- * @param hook_name name of the segment to connect the tree with
- *
- * @return false if hook_name could not be found
- */
- bool addTree(const Tree& tree, const std::string& tree_name,const std::string& hook_name);
-
- /**
- * Request the total number of joints in the tree.\n
- * <strong> Important:</strong> It is not the same as the
- * total number of segments since a segment does not need to have
- * a joint.
- *
- * @return total nr of joints
- */
- unsigned int getNrOfJoints()const
- {
- return nrOfJoints;
- };
-
- /**
- * Request the total number of segments in the tree.
- * @return total number of segments
- */
- unsigned int getNrOfSegments()const {return nrOfSegments;};
-
- /**
- * Request the segment of the tree with name segment_name.
- *
- * @param segment_name the name of the requested segment
- *
- * @return constant iterator pointing to the requested segment
- */
- SegmentMap::const_iterator getSegment(const std::string& segment_name)const
- {
- return segments.find(segment_name);
- };
-
- SegmentMap::value_type const* getSegmentPtr(const std::string& segment_name)const
- {
- SegmentMap::const_iterator it = segments.find(segment_name);
-
- if (it == segments.end())
- return 0;
-
- return &*it;
- };
-
- const SegmentMap& getSegments()const
- {
- return segments;
- }
-
- virtual ~Tree(){};
- };
- }
- #endif
-
-
-
-
-
Copied: blender/repos/community-x86_64/tree_hpp.patch (from rev 391053, blender/trunk/tree_hpp.patch)
===================================================================
--- tree_hpp.patch (rev 0)
+++ tree_hpp.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,183 @@
+diff --git a/intern/itasc/kdl/tree.hpp b/intern/itasc/kdl/tree.hpp
+index c8a253fc901..bd35f82d185 100644
+--- a/intern/itasc/kdl/tree.hpp
++++ b/intern/itasc/kdl/tree.hpp
+@@ -1,177 +1,177 @@
+ // Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
+
+ // Version: 1.0
+ // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
+ // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
+ // URL: http://www.orocos.org/kdl
+
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ // Lesser General Public License for more details.
+
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ #ifndef KDL_TREE_HPP
+ #define KDL_TREE_HPP
+
+ #include "segment.hpp"
+ #include "chain.hpp"
+
+ #include <string>
+ #include <map>
+ #include <Eigen/Core>
+
+ namespace KDL
+ {
+ //Forward declaration
+ class TreeElement;
+ // Eigen allocator is needed for alignment of Eigen data types
+- typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap;
++ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap;
+
+ class TreeElement
+ {
+ public:
+ TreeElement():q_nr(0),parent(0)
+ {};
+ public:
+ Segment segment;
+ unsigned int q_nr;
+ SegmentMap::value_type const *parent;
+ std::vector<SegmentMap::const_iterator > children;
+ TreeElement(const Segment& segment_in,const SegmentMap::value_type& parent_in,unsigned int q_nr_in)
+ {
+ q_nr=q_nr_in;
+ segment=segment_in;
+ parent=&parent_in;
+ };
+ static TreeElement Root()
+ {
+ return TreeElement();
+ };
+ };
+
+ /**
+ * \brief This class encapsulates a <strong>tree</strong>
+ * kinematic interconnection structure. It is build out of segments.
+ *
+ * @ingroup KinematicFamily
+ */
+ class Tree
+ {
+ private:
+ SegmentMap segments;
+ unsigned int nrOfJoints;
+ unsigned int nrOfSegments;
+
+ bool addTreeRecursive(SegmentMap::const_iterator root, const std::string& tree_name, const std::string& hook_name);
+
+ public:
+ /**
+ * The constructor of a tree, a new tree is always empty
+ */
+ Tree();
+ Tree(const Tree& in);
+ Tree& operator= (const Tree& arg);
+
+ /**
+ * Adds a new segment to the end of the segment with
+ * hook_name as segment_name
+ *
+ * @param segment new segment to add
+ * @param segment_name name of the new segment
+ * @param hook_name name of the segment to connect this
+ * segment with.
+ *
+ * @return false if hook_name could not be found.
+ */
+ bool addSegment(const Segment& segment, const std::string& segment_name, const std::string& hook_name);
+
+ /**
+ * Adds a complete chain to the end of the segment with
+ * hook_name as segment_name. Segment i of
+ * the chain will get chain_name+".Segment"+i as segment_name.
+ *
+ * @param chain Chain to add
+ * @param chain_name name of the chain
+ * @param hook_name name of the segment to connect the chain with.
+ *
+ * @return false if hook_name could not be found.
+ */
+ bool addChain(const Chain& chain, const std::string& chain_name, const std::string& hook_name);
+
+ /**
+ * Adds a complete tree to the end of the segment with
+ * hookname as segment_name. The segments of the tree will get
+ * tree_name+segment_name as segment_name.
+ *
+ * @param tree Tree to add
+ * @param tree_name name of the tree
+ * @param hook_name name of the segment to connect the tree with
+ *
+ * @return false if hook_name could not be found
+ */
+ bool addTree(const Tree& tree, const std::string& tree_name,const std::string& hook_name);
+
+ /**
+ * Request the total number of joints in the tree.\n
+ * <strong> Important:</strong> It is not the same as the
+ * total number of segments since a segment does not need to have
+ * a joint.
+ *
+ * @return total nr of joints
+ */
+ unsigned int getNrOfJoints()const
+ {
+ return nrOfJoints;
+ };
+
+ /**
+ * Request the total number of segments in the tree.
+ * @return total number of segments
+ */
+ unsigned int getNrOfSegments()const {return nrOfSegments;};
+
+ /**
+ * Request the segment of the tree with name segment_name.
+ *
+ * @param segment_name the name of the requested segment
+ *
+ * @return constant iterator pointing to the requested segment
+ */
+ SegmentMap::const_iterator getSegment(const std::string& segment_name)const
+ {
+ return segments.find(segment_name);
+ };
+
+ SegmentMap::value_type const* getSegmentPtr(const std::string& segment_name)const
+ {
+ SegmentMap::const_iterator it = segments.find(segment_name);
+
+ if (it == segments.end())
+ return 0;
+
+ return &*it;
+ };
+
+ const SegmentMap& getSegments()const
+ {
+ return segments;
+ }
+
+ virtual ~Tree(){};
+ };
+ }
+ #endif
+
+
+
+
+
Deleted: util_sseb.patch
===================================================================
--- util_sseb.patch 2018-10-07 21:41:25 UTC (rev 391053)
+++ util_sseb.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -1,13 +0,0 @@
-diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h
-index 6e669701f3b..9ffe391666a 100644
---- a/intern/cycles/util/util_sseb.h
-+++ b/intern/cycles/util/util_sseb.h
-@@ -116,7 +116,7 @@ __forceinline const sseb unpacklo( const sseb& a, const sseb& b ) { return _mm_u
- __forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); }
-
- template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) {
-- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0));
-+ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)));
- }
-
- template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) {
Copied: blender/repos/community-x86_64/util_sseb.patch (from rev 391053, blender/trunk/util_sseb.patch)
===================================================================
--- util_sseb.patch (rev 0)
+++ util_sseb.patch 2018-10-07 21:42:27 UTC (rev 391054)
@@ -0,0 +1,13 @@
+diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h
+index 6e669701f3b..9ffe391666a 100644
+--- a/intern/cycles/util/util_sseb.h
++++ b/intern/cycles/util/util_sseb.h
+@@ -116,7 +116,7 @@ __forceinline const sseb unpacklo( const sseb& a, const sseb& b ) { return _mm_u
+ __forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); }
+
+ template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) {
+- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0));
++ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)));
+ }
+
+ template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) {
More information about the arch-commits
mailing list