Merge branch 'master' of https://github.com/olive-editor/olive into render-singleton

This commit is contained in:
itsmattkc
2020-11-12 00:57:12 +11:00
38 changed files with 390 additions and 459 deletions
-117
View File
@@ -1,117 +0,0 @@
REM Get git hash in variable [this seems to be the most efficient way]
git rev-parse --short=8 HEAD > hash.txt
git rev-parse HEAD > longhash.txt
set /p GITHASH= < hash.txt
set /p GITLONGHASH= < longhash.txt
set /p TRAVIS_COMMIT= < longhash.txt
REM Set up Visual Studio x64 environment
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
REM Install 64-bit packages
set VCPKG_DEFAULT_TRIPLET=x64-windows
REM Hack to only install release builds for time
echo set(VCPKG_BUILD_TYPE release) >> C:\Tools\vcpkg\triplets\x64-windows.cmake
REM Install Open*IO libraries
vcpkg install opencolorio
vcpkg install openimageio
REM Integrate libraries
cd c:\tools\vcpkg
vcpkg integrate install
cd %APPVEYOR_BUILD_FOLDER%
REM Acquire FFmpeg
set FFMPEG_VER=ffmpeg-4.2.3-win64
curl https://ffmpeg.zeranoe.com/builds/win64/dev/%FFMPEG_VER%-dev.zip > %FFMPEG_VER%-dev.zip
curl https://ffmpeg.zeranoe.com/builds/win64/shared/%FFMPEG_VER%-shared.zip > %FFMPEG_VER%-shared.zip
7z x %FFMPEG_VER%-dev.zip
7z x %FFMPEG_VER%-shared.zip
REM Acquire Google Crashpad
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\depot_tools
REM Run `fetch` through cmd /c since fetch is a batch file that seems to call exit
cmd /c fetch crashpad
cd crashpad
cmd /c gn gen out/Default
REM Patch to build a dynamic release instead of a static release
ren out\Default\toolchain.ninja toolchain.ninja.old
sed "s/${cflags_c}/${cflags_c} \/MD/g" out\Default\toolchain.ninja.old > out\Default\toolchain.ninja
REM Build Crashpad
ninja.exe -C out/Default
cd ..
REM Add Qt, FFmpeg, and Crashpad to path
set PATH=%PATH%;C:\Qt\5.13.2\msvc2017_64\bin;%APPVEYOR_BUILD_FOLDER%\%FFMPEG_VER%-dev;%APPVEYOR_BUILD_FOLDER%\crashpad;%APPVEYOR_BUILD_FOLDER%\crashpad\out\Default
REM Run cmake
cmake -G "Ninja" . -DCMAKE_TOOLCHAIN_FILE=c:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo
REM Build with Ninja
ninja.exe || exit /B 1
REM If this is a pull request, no further packaging/deploying needs to be done
if NOT "%APPVEYOR_PULL_REQUEST_NUMBER%" == "" goto end
REM Create Crashpad symbol file and upload it
C:\msys64\usr\bin\wget.exe https://github.com/google/breakpad/blob/master/src/tools/windows/binaries/dump_syms.exe?raw=true -O dump_syms.exe
dump_syms app\olive-editor.pdb > olive-editor.sym
curl -F symfile=@olive-editor.sym https://olivevideoeditor.org/crashpad/symbols.php
REM Start building package
mkdir olive-editor
cd olive-editor
copy ..\app\olive-editor.exe .
copy ..\app\olive-editor.pdb .
copy ..\app\crashhandler.exe .
copy ..\crashpad\out\Default\crashpad_handler.exe .
windeployqt olive-editor.exe
copy ..\%FFMPEG_VER%-shared\bin\*.dll .
copy ..\app\*.dll .
REM Package done, begin deployment
cd ..
set PKGNAME=Olive-%GITHASH%-Windows-x86_64
REM Create installer
copy app\packaging\windows\nsis\* .
"C:/Program Files (x86)/NSIS/makensis.exe" -V4 -DX64 "-XOutFile %PKGNAME%.exe" olive.nsi
REM Create portable
copy nul olive-editor\portable
7z a %PKGNAME%.zip olive-editor
REM If this was a tagged build, upload
if "%APPVEYOR_REPO_TAG%"=="true" GOTO upload
REM Else, if this is a continuous build, check if this commit is the most recent
REM Force locale to UTF-8 or grep -P fails
set LC_ALL=en_US.UTF-8
curl -H "Authorization: token %GITHUB_TOKEN%" https://api.github.com/repos/olive-editor/olive/commits/master > repoinfo.txt
grep -Po '(?^<=: \")(([a-z0-9])\w+)(?=\")' -m 1 repoinfo.txt > latestcommit.txt
set /p REMOTEHASH= < latestcommit.txt
if "%REMOTEHASH%"=="%GITLONGHASH%" GOTO upload
REM The previous if statements failed, skip to the end
GOTO end
:upload
set /p UPLOADTOOL_BODY= < latestcommit.txt
curl -L https://github.com/probonopd/uploadtool/raw/master/upload.sh > upload.sh
bash upload.sh Olive*.zip
bash upload.sh Olive*.exe
:end
REM Check if this build should set up a debugging session
IF "%ENABLE_RDP%"=="1" (
powershell -command "$blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))"
)
+4 -2
View File
@@ -5,10 +5,12 @@ title: '[CRASH] '
labels: 'Crash, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+6 -4
View File
@@ -1,17 +1,19 @@
---
name: Build/Packaging
about: >-
Report an issue related to compiling or packaging (including continuous
integration). Note that we do not officially support custom build
Report an issue related to compiling or packaging.
Note that we do not officially support custom build
configurations and may not address issues involving them.
title: '[BUILD] '
labels: 'Building/Packaging, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -8,10 +8,12 @@ title: '[CACHE] '
labels: 'Disk Cache, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[CODEC] '
labels: 'Codec, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[COLOR] '
labels: 'Color Management, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[EDIT] '
labels: 'Timeline/Editing, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[EXPORT] '
labels: 'Export, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[NODES] '
labels: 'Nodes/Compositing, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[PLAYBACK] '
labels: 'Playback, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[PROJECT] '
labels: 'Project, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[RENDER] '
labels: 'Renderer, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+4 -2
View File
@@ -7,10 +7,12 @@ title: '[UI] '
labels: 'User Interface, Triage'
assignees: ''
---
**Commit Hash** <!-- 8 character string of letters/numbers in title bar (e.g. 3ea173c9) -->
<!-- ⚠ Do not delete this issue template! ⚠ -->
**Commit Hash** <!-- 8 character string of letters/numbers in title bar or Help > About dialog (e.g. 3ea173c9) -->
**Platform**
**Platform** <!-- e.g. Windows 10, Ubuntu 20.04 or macOS 10.15 -->
**Summary**
+3 -21
View File
@@ -158,29 +158,11 @@ jobs:
with:
version: 5.15.1
- name: Acquire FFmpeg
- name: Acquire Dependencies
shell: bash
run: |
$DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ffmpeg-win.7z
$EXTRACT_TOOL ffmpeg-win.7z
- name: Acquire OpenColorIO
shell: bash
run: |
$DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ocio-win.7z
$EXTRACT_TOOL ocio-win.7z
- name: Acquire OpenEXR
shell: bash
run: |
$DOWNLOAD_TOOL https://olivevideoeditor.org/deps/openexr-win.7z
$EXTRACT_TOOL openexr-win.7z
- name: Acquire OpenImageIO
shell: bash
run: |
$DOWNLOAD_TOOL https://olivevideoeditor.org/deps/oiio-win.7z
$EXTRACT_TOOL oiio-win.7z
$DOWNLOAD_TOOL https://olivevideoeditor.org/deps/dep-win.7z
$EXTRACT_TOOL dep-win.7z
- name: Acquire Crashpad
shell: bash
+37 -12
View File
@@ -1,19 +1,39 @@
*.pro.user*
Makefile
.qmake.stash
effects/frei0r
ts/*.qm
docs
history
build/
.DS_Store
# CMake artifacts
/build*/
.vscode
.vs
# Doxygen
/docs/
# Visual Studio (Code)
.localhistory/
.history/
.vscode/
.vs/
/out/
CmakeSettings.json
# macOS General
.DS_Store
.AppleDouble
.LSOverride
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Windows folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares (Windows)
$RECYCLE.BIN/
# Windows shortcuts
*.lnk
#
# Qt ignores taken from https://github.com/github/gitignore
# Qt ignores taken from https://github.com/github/gitignore/blob/master/Qt.gitignore
#
# C++ objects and libs
@@ -24,6 +44,7 @@ CmakeSettings.json
*.la
*.lai
*.so
*.so.*
*.dll
*.dylib
@@ -46,6 +67,8 @@ ui_*.h
*.jsc
Makefile*
*build-*
*.qm
*.prl
# Qt unit tests
target_wrapper.*
@@ -65,3 +88,5 @@ compile_commands.json
# QtCreator local machine specific files for imported projects
*creator.user*
*_qmlcache.qrc
-44
View File
@@ -1,44 +0,0 @@
language: cpp
matrix:
include:
- os: linux
env: ARCH=x86_64
compiler: gcc
sudo: require
dist: xenial
- os: osx
osx_image: xcode10.3
before_cache:
- brew cleanup
cache:
directories:
- $HOME/Library/Caches/Homebrew
addons:
homebrew:
packages:
- ffmpeg
- qt5
- grep
- opencolorio
- openimageio
update: true
# Can't build on Windows - affected by https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264/10
# - os: windows
before_install:
- source ./.travis/before_install.sh
install:
- source ./.travis/install.sh
script:
- source ./.travis/script.sh
after_success:
- source ./.travis/after_success.sh
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/
-40
View File
@@ -1,40 +0,0 @@
#!/bin/bash
# Check if there's been a new commit since this build, and if so don't upload it
GREP_PATH=grep
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
GREP_PATH=ggrep
fi
# Get current repo commit from GitHub (problems arose from trying to pipe cURL directly into grep, so we buffer it through a file)
REMOTE=$(curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/olive-editor/olive/commits/master | $GREP_PATH -Po '(?<=: \")(([a-z0-9])\w+)(?=\")' -m 1 --)
LOCAL=$(git rev-parse HEAD)
if [ "$TRAVIS_TAG" != "" ] || [ "$REMOTE" == "$LOCAL" ]
then
echo "[INFO] Still current. Uploading..."
export UPLOADTOOL_BODY=$(cat release.txt)
# Retrieve upload tool
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
bash upload.sh Olive*.zip
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
bash upload.sh Olive*.AppImage*
fi
else
echo "[INFO] No longer current. $REMOTE vs $LOCAL - aborting upload."
fi
-17
View File
@@ -1,17 +0,0 @@
#!/bin/bash
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# Qt 5.11
sudo add-apt-repository ppa:beineri/opt-qt-5.11.0-xenial -y
# FFmpeg 4.x
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 -y
# OpenColorIO
sudo add-apt-repository ppa:olive-editor/opencolorio -y
# Update apt
sudo apt-get update -qq
fi
-18
View File
@@ -1,18 +0,0 @@
#!/bin/bash
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export PATH="/usr/local/opt/qt/bin:/usr/local/opt/python@2/libexec/bin:$PATH"
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get -y -o Dpkg::Options::="--force-overwrite" install qt511base qt511multimedia qt511svg qt511tools libavformat-dev libavcodec-dev libavfilter-dev libavutil-dev libswscale-dev libswresample-dev libopencolorio-dev libopenimageio-dev libgl1-mesa-dev
source /opt/qt*/bin/qt*-env.sh
# Acquire latest cmake (apt somehow gets the wrong version?)
wget -c https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-Linux-x86_64.sh -O cmake.sh
chmod +x cmake.sh
./cmake.sh --skip-license --prefix=cmake --exclude-dir
export PATH=$PWD/cmake/bin:$PATH
fi
-76
View File
@@ -1,76 +0,0 @@
#!/bin/bash
# linuxdeployqt uses this for naming the file
export VERSION=$(git rev-parse --short=8 HEAD)
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
# Generate Makefile
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Make
make -j$(sysctl -n hw.ncpu)
# Handle compile failure
if [ "$?" != "0" ]
then
exit 1
fi
BUNDLE_NAME=Olive.app
# Move bundle to working directory
mv app/$BUNDLE_NAME .
# Move Qt deps into bundle
macdeployqt $BUNDLE_NAME
# Fix other deps that macdeployqt missed
curl -fLOSs --retry 3 https://github.com/arl/macdeployqtfix/raw/master/macdeployqtfix.py
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/Olive /usr/local/Cellar/qt5/5.*/
# Fix deps on crash handler
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/olive-crashhandler /usr/local/Cellar/qt5/5.*/
# Fix OpenEXR libs that seem to be missed by both macdeployqt _and_ macdeployqtfix
cd $BUNDLE_NAME/Contents/Frameworks
exrlib=(libImath-*.dylib libHalf-*.dylib libIexMath-*.dylib libIex-*.dylib libIlmThread-*.dylib)
for a in ${exrlib[@]}; do
for b in ${exrlib[@]}; do
install_name_tool -change @rpath/$b @executable_path/../Frameworks/$b $a
done
done
cd ../../..
# Distribute in zip
zip -r Olive-$VERSION-macOS.zip $BUNDLE_NAME
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# Generate Makefile
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Make
make -j$(nproc)
# Handle compile failure
if [ "$?" != "0" ]
then
exit 1
fi
# Use `make install` on `appdir` to place files in the correct place
make DESTDIR=appdir install
# Download linuxdeployqt
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
# Use linuxdeployqt to set up dependencies
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/local/share/applications/*.desktop -extra-plugins=imageformats/libqsvg.so -appimage
fi
+21 -4
View File
@@ -1,12 +1,29 @@
# Contributing to Olive
Thank you for your interest in contributing to Olive! In order to keep the code as readable and maintainable as possible, code submitted should abide by the following standards:
Thank you for your interest in contributing to Olive!
### Standards
## Reporting issues
When contributing to Olive, it's recommended to use the following rules:
Bug reports help to make the software more stable and usable.
Please read the pinned [issue #1175](https://github.com/olive-editor/olive/issues/1175)
for guidelines before you create a new issue.
* The code style generally follows the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) including, but not limited to:
## Writing code
Code contributions are welcome. Note that the code base is rapidly changing in
the current stage of development however. There is some documentation in the form
of code comments, including Javadoc in header files. Feel free to reach out via
an issue or pull request if you have questions about the architecture or
implementation details.
### Code Standards
In order to keep the code as readable and maintainable as possible, code
submitted should abide by the following standards:
* The code style generally follows the
[Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html)
including, but not limited to:
* Indentation is 2 spaces wide, spaces only (no tabs)
* `lowercase_underscored_variable_names`
* `lowercase_underscored_functions()` or `SentenceCaseFunctions()`
+1
View File
@@ -924,6 +924,7 @@ bool Core::SaveProjectAs(ProjectPtr p)
{
QFileDialog fd(main_window_, tr("Save Project As"));
fd.setAcceptMode(QFileDialog::AcceptSave);
fd.setNameFilter(GetProjectFilter(false));
if (fd.exec() == QDialog::Accepted) {
+5 -3
View File
@@ -69,11 +69,10 @@ OCIO::ConstConfigRcPtr ColorManager::GetDefaultConfig()
void ColorManager::SetUpDefaultConfig()
{
OCIO_SET_C_LOCALE_FOR_SCOPE;
if (!qgetenv("OCIO").isEmpty()) {
// Attempt to set config from "OCIO" environment variable
try {
OCIO_SET_C_LOCALE_FOR_SCOPE;
default_config_ = OCIO::Config::CreateFromEnv();
return;
@@ -91,7 +90,10 @@ void ColorManager::SetUpDefaultConfig()
qDebug() << "Extracting default OCIO config to" << dir;
default_config_ = CreateConfigFromFile(QDir(dir).filePath(QStringLiteral("config.ocio")));
{
OCIO_SET_C_LOCALE_FOR_SCOPE;
default_config_ = CreateConfigFromFile(QDir(dir).filePath(QStringLiteral("config.ocio")));
}
}
void ColorManager::SetConfig(const QString &filename)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 B

After

Width:  |  Height:  |  Size: 707 B

+14 -11
View File
@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@@ -10,8 +8,8 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="new.svg"
inkscape:version="0.91+devel+osxmenu r12922"
sodipodi:docname="new_menu_white.svg"
inkscape:version="1.0.1 (c497b03c, 2020-09-10)"
sodipodi:version="0.32"
id="svg2"
height="64"
@@ -10955,7 +10953,8 @@
inkscape:snap-bbox-midpoints="false"
inkscape:bbox-nodes="true"
inkscape:snap-nodes="true"
inkscape:snap-smooth-nodes="true">
inkscape:snap-smooth-nodes="true"
inkscape:document-rotation="0">
<inkscape:grid
type="xygrid"
id="grid0001"
@@ -11023,18 +11022,22 @@
id="layer1"
transform="translate(0,16)">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.86274511;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 14,1 c -1.656786,1.657e-4 -2.999834,1.3432144 -3,3 0,18 0,36 0,54 1.66e-4,1.656786 1.343214,2.999834 3,3 l 36,0 c 1.656786,-1.66e-4 2.999834,-1.343214 3,-3 0,-13 0,-26 0,-39 -1.53e-4,-0.795597 -0.316297,-1.558559 -0.878906,-2.121094 l -15,-14.9999998 C 36.558559,1.3162974 35.795597,1.0001531 35,1 Z m 3,6 13,0 0,14 c 1.66e-4,1.656786 1.343214,2.999834 3,3 l 14,0 0,31 -30,0 z M 36,9.2421875 44.757812,18 36,18 Z"
transform="translate(0,-16)"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.862745;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 9,-15 c -1.656786,1.66e-4 -2.999834,1.343214 -3,3 0,18 0,36 0,54 1.66e-4,1.656786 1.343214,2.999834 3,3 h 36 c 1.656786,-1.66e-4 2.999834,-1.343214 3,-3 C 48,29 48,16 48,3 47.999847,2.204403 47.683703,1.441441 47.121094,0.878906 l -15,-15 C 31.558559,-14.683703 30.795597,-14.999847 30,-15 Z m 3,6 H 25 V 5 c 1.66e-4,1.656786 1.343214,2.999834 3,3 H 42 V 39 H 12 Z M 31,-6.7578125 39.757812,2 H 31 Z"
id="path10890"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccc" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.23529412;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 17,7 0,48 30,0 0,-31 -14,0 c -1.656786,-1.66e-4 -2.999834,-1.343214 -3,-3 L 30,7 Z M 36,9.2421875 36,18 l 8.757812,0 z"
transform="translate(0,-16)"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.235294;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 12,-9 V 39 H 42 V 8 H 28 C 26.343214,7.999834 25.000166,6.656786 25,5 V -9 Z m 19,2.2421875 V 2 h 8.757812 z"
id="path10888"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccc" />
<path
style="opacity:1;fill:#ffffff;fill-opacity:0.862745;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.627451"
d="M 64,48 H 48 L 64,32 Z"
id="path8446"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 359 KiB

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 750 B

After

Width:  |  Height:  |  Size: 798 B

+17 -14
View File
@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@@ -10,8 +8,8 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="new.svg"
inkscape:version="0.91+devel+osxmenu r12922"
sodipodi:docname="new_menu_black.svg"
inkscape:version="1.0.1 (c497b03c, 2020-09-10)"
sodipodi:version="0.32"
id="svg2"
height="64"
@@ -10938,9 +10936,9 @@
inkscape:grid-bbox="true"
showgrid="true"
inkscape:current-layer="layer1"
inkscape:cy="29.16282"
inkscape:cx="18.524958"
inkscape:zoom="8.7057474"
inkscape:cy="32.5"
inkscape:cx="35"
inkscape:zoom="11.603175"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1"
@@ -10955,7 +10953,8 @@
inkscape:snap-bbox-midpoints="false"
inkscape:bbox-nodes="true"
inkscape:snap-nodes="true"
inkscape:snap-smooth-nodes="true">
inkscape:snap-smooth-nodes="true"
inkscape:document-rotation="0">
<inkscape:grid
type="xygrid"
id="grid0001"
@@ -11023,18 +11022,22 @@
id="layer1"
transform="translate(0,16)">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#202020;fill-opacity:0.86274511;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 14,1 c -1.656786,1.657e-4 -2.999834,1.3432144 -3,3 0,18 0,36 0,54 1.66e-4,1.656786 1.343214,2.999834 3,3 l 36,0 c 1.656786,-1.66e-4 2.999834,-1.343214 3,-3 0,-13 0,-26 0,-39 -1.53e-4,-0.795597 -0.316297,-1.558559 -0.878906,-2.121094 l -15,-14.9999998 C 36.558559,1.3162974 35.795597,1.0001531 35,1 Z m 3,6 13,0 0,14 c 1.66e-4,1.656786 1.343214,2.999834 3,3 l 14,0 0,31 -30,0 z M 36,9.2421875 44.757812,18 36,18 Z"
transform="translate(0,-16)"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#202020;fill-opacity:0.862745;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 9,-15 c -1.656786,1.66e-4 -2.999834,1.343214 -3,3 0,18 0,36 0,54 1.66e-4,1.656786 1.343214,2.999834 3,3 h 36 c 1.656786,-1.66e-4 2.999834,-1.343214 3,-3 C 48,29 48,16 48,3 47.999847,2.204403 47.683703,1.441441 47.121094,0.878906 l -15,-15 C 31.558559,-14.683703 30.795597,-14.999847 30,-15 Z m 3,6 H 25 V 5 c 1.66e-4,1.656786 1.343214,2.999834 3,3 H 42 V 39 H 12 Z M 31,-6.7578125 39.757812,2 H 31 Z"
id="path10890"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccc" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#202020;fill-opacity:0.23529412;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 17,7 0,48 30,0 0,-31 -14,0 c -1.656786,-1.66e-4 -2.999834,-1.343214 -3,-3 L 30,7 Z M 36,9.2421875 36,18 l 8.757812,0 z"
transform="translate(0,-16)"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:none;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#202020;fill-opacity:0.235294;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 12,-9 V 39 H 42 V 8 H 28 C 26.343214,7.999834 25.000166,6.656786 25,5 V -9 Z m 19,2.2421875 V 2 h 8.757812 z"
id="path10888"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccc" />
<path
style="opacity:1;fill:#212121;fill-opacity:0.86274499;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.627451"
d="M 64,48 H 48 L 64,32 Z"
id="path8446"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 359 KiB

After

Width:  |  Height:  |  Size: 360 KiB

-22
View File
@@ -1,22 +0,0 @@
version: "{build}"
image: Visual Studio 2017
environment:
TRAVIS_REPO_SLUG: olive-editor/olive
# Hack to not build the "continuous" tag (https://github.com/appveyor/ci/issues/486)
# FIXME: Will unfortunately skip release tags
skip_tags: true
install:
- cd C:\Tools\vcpkg
- git pull
- .\bootstrap-vcpkg.bat
- cd %APPVEYOR_BUILD_FOLDER%
build_script:
- cmd: .appveyor\build.bat
#artifacts:
#- path: Olive*.zip
# name: Olive Portable
#- path: Olive*.exe
# name: Olive Installer
cache: c:\tools\vcpkg\installed\
+62
View File
@@ -0,0 +1,62 @@
# Docker Images
Olive uses Docker containers for continuous integration on Linux.
No Docker images are involved for the Windows and macOS CI.
## Overview
`ci-common` is the shared build image with GCC, Clang and packages that are
needed by most dependent images. It is used to compile Olive's dependencies
in a controlled environment. The final CI image `ci-olive` is assembled from
images maintained by the Olive team as well as from
[aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker/).
Dependency hierarchy:
1. `ci-common`
2. `ci-otio`, `ci-crashpad`, `ci-ffmpeg`
3. `ci-olive`
## Usage
Pull images from [Docker Hub](https://hub.docker.com/u/olivevideoeditor):
```
docker pull olivevideoeditor/ci-common:2
docker pull olivevideoeditor/ci-package-otio
docker pull olivevideoeditor/ci-package-crashpad
docker pull olivevideoeditor/ci-package-ffmpeg:4.2.4
docker pull olivevideoeditor/ci-olive:2021.2
```
Use `ci-olive` image as local build container, by mounting working copy at
`~/olive` into guest system at `/opt/olive/olive`:
```bash
docker run --rm -it -v ~/olive:/opt/olive/olive olivevideoeditor/ci-olive:2021.2
mkdir build
cd build
cmake .. -G Ninja
cmake --build .
```
Rebuild all images locally:
```
cd docker
docker build -t olivevideoeditor/ci-common:2 -f ci-common/Dockerfile .
docker build -t olivevideoeditor/ci-package-otio -f ci-otio/Dockerfile .
docker build -t olivevideoeditor/ci-package-crashpad -f ci-crashpad/Dockerfile .
docker build -t olivevideoeditor/ci-package-ffmpeg:4.2.4 -f ci-ffmpeg/Dockerfile .
docker build -t olivevideoeditor/ci-olive:2021.2 -f ci-olive/Dockerfile .
```
Publish images:
```
docker push olivevideoeditor/ci-common:2
docker push olivevideoeditor/ci-package-otio
docker push olivevideoeditor/ci-package-crashpad
docker push olivevideoeditor/ci-package-ffmpeg:4.2.4
docker push olivevideoeditor/ci-olive:2021.2
```
+30 -3
View File
@@ -9,8 +9,17 @@ ARG CI_COMMON_VERSION=2
ARG FFMPEG_VERSION=4.2.4
ARG NASM_VERSION=2.15.03
ARG YASM_VERSION=1.3.0
ARG LAME_VERSION=3.100
ARG X265_VERSION=3.4
ARG OGG_VERSION=1.3.4
ARG OPUS_VERSION=1.3.1
ARG VORBIS_VERSION=1.3.7
ARG THEORA_VERSION=1.1.1
ARG VPX_VERSION=1.9.0
ARG WEBP_VERSION=1.1.0
ARG LAME_VERSION=3.100
ARG XVID_VERSION=1.3.5
ARG OPENJPEG_VERSION=2.3.1
ARG LIBPNG_VERSION=1.6.31
# TODO: Make version of x264, x265 and libvpx selectable?
ARG NUM_JOBS=2
@@ -21,8 +30,17 @@ ARG CI_COMMON_VERSION
ARG FFMPEG_VERSION
ARG NASM_VERSION
ARG YASM_VERSION
ARG LAME_VERSION
ARG X265_VERSION
ARG OGG_VERSION
ARG OPUS_VERSION
ARG VORBIS_VERSION
ARG THEORA_VERSION
ARG VPX_VERSION
ARG WEBP_VERSION
ARG LAME_VERSION
ARG XVID_VERSION
ARG OPENJPEG_VERSION
ARG LIBPNG_VERSION
# TODO: Make version of x264, x265 and libvpx selectable?
ARG NUM_JOBS=2
@@ -43,8 +61,17 @@ ENV OLIVE_ORG=${OLIVE_ORG} \
FFMPEG_VERSION=${FFMPEG_VERSION} \
NASM_VERSION=${NASM_VERSION} \
YASM_VERSION=${YASM_VERSION} \
LAME_VERSION=${LAME_VERSION} \
X265_VERSION=${X265_VERSION} \
OGG_VERSION=${OGG_VERSION} \
OPUS_VERSION=${OPUS_VERSION} \
VORBIS_VERSION=${VORBIS_VERSION} \
THEORA_VERSION=${THEORA_VERSION} \
VPX_VERSION=${VPX_VERSION} \
WEBP_VERSION=${WEBP_VERSION} \
LAME_VERSION=${LAME_VERSION} \
XVID_VERSION=${XVID_VERSION} \
OPENJPEG_VERSION=${OPENJPEG_VERSION} \
LIBPNG_VERSION=${LIBPNG_VERSION} \
NUM_JOBS=${NUM_JOBS} \
OLIVE_INSTALL_PREFIX=/usr/local
+149 -31
View File
@@ -46,6 +46,7 @@ wait
# Set up libx264
{
# TODO: Checkout stable branch instead of master?
git clone --depth 1 "https://code.videolan.org/videolan/x264.git"
cd x264
./configure \
@@ -53,7 +54,7 @@ wait
--enable-shared \
--enable-pic \
--disable-cli
make -j${NUM_JOBS}
make
make install
cd ..
rm -rf x264
@@ -63,18 +64,121 @@ wait
{
# BitBucket dropped support for Mercurial repos
#hg clone https://bitbucket.org/multicoreware/x265
git clone --depth 1 "https://bitbucket.org/multicoreware/x265_git.git" x265
# Need to fetch tags (off by default for shallow clones) or checkout a tag to avoid pkg-config error
git clone --depth 1 --branch "${X265_VERSION}" "https://bitbucket.org/multicoreware/x265_git.git" x265
cd x265/build/linux
cmake \
-G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX="${OLIVE_INSTALL_PREFIX}" \
../../source
make -j${NUM_JOBS}
make
make install
cd ../../..
rm -rf x265
} &
# Set up libogg
{
curl -fLsS -o libogg.tar.gz "http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz"
tar xf libogg.tar.gz
rm -f libogg.tar.gz
cd libogg*
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make
make install
cd ..
rm -rf libogg*
} &
# Set up libopus
{
curl -fLsS -o opus.tar.gz "https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz"
tar xf opus.tar.gz
rm -f opus.tar.gz
cd opus*
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make
make install
cd ..
rm -rf opus*
} &
# join jobs, libvorbis and libtheora depend on libogg
wait
# Set up libvorbis
{
curl -fLsS -o libvorbis.tar.gz "http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz"
tar xf libvorbis.tar.gz
rm -f libvorbis.tar.gz
cd libvorbis*
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--with-ogg="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make
make install
cd ..
rm -rf libvorbis*
} &
# Set up libtheora
{
curl -fLsS -o libtheora.tar.gz "http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz"
tar xf libtheora.tar.gz
rm -f libtheora.tar.gz
cd libtheora*
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--with-ogg="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make
make install
cd ..
rm -rf libtheora*
} &
# Set up libvpx
{
git clone --depth 1 --branch "v${VPX_VERSION}" "https://chromium.googlesource.com/webm/libvpx.git"
cd libvpx
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared \
--enable-pic \
--enable-vp8 \
--enable-vp9 \
--enable-vp9-highbitdepth \
--as=yasm \
--disable-examples \
--disable-unit-tests \
--disable-docs \
--disable-install-bins
make
make install
cd ..
rm -rf libvpx
} &
### Set up libwebp
{
curl -fLsS -o libwebp.tar.gz "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz"
tar xf libwebp.tar.gz
rm -f libwebp.tar.gz
cd libwebp*
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make
make install
cd ..
rm -rf libwebp*
} &
# Set up libmp3lame
{
curl -fLsS -o lame.tar.gz "https://downloads.sourceforge.net/project/lame/lame/${LAME_VERSION}/lame-${LAME_VERSION}.tar.gz"
@@ -86,45 +190,54 @@ wait
--enable-shared \
--enable-nasm \
--disable-frontend
make -j${NUM_JOBS}
make
make install
cd ..
rm -rf lame*
} &
# Set up libopus
### Set up xvid
{
curl -fLsS -o opus.tar.gz "https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz"
tar xf opus.tar.gz
rm -f opus.tar.gz
cd opus*
curl -fLsS -o xvidcore.tar.gz "http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz"
tar xf xvidcore.tar.gz
rm -f xvidcore.tar.gz
cd xvidcore/build/generic
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared
make -j${NUM_JOBS}
--bindir="${OLIVE_INSTALL_PREFIX}/bin"
make
make install
cd ..
rm -rf opus*
cd ../../..
rm -rf xvidcore
} &
# Set up libvpx
# Set up openjpeg
{
git clone --depth 1 "https://chromium.googlesource.com/webm/libvpx.git"
cd libvpx
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--enable-shared \
--enable-pic \
--enable-vp9-highbitdepth \
--as=yasm \
--disable-examples \
--disable-unit-tests \
--disable-docs \
--disable-install-bins
make -j${NUM_JOBS}
curl -fLsS -o openjpeg.tar.gz "https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz"
tar xf openjpeg.tar.gz
rm -f openjpeg.tar.gz
cd openjpeg*
cmake \
-DBUILD_THIRDPARTY:BOOL=ON \
-DCMAKE_INSTALL_PREFIX="${OLIVE_INSTALL_PREFIX}" \
.
make
make install
cd ..
rm -rf libvpx
rm -rf openjpeg*
} &
# Set up libpng
{
git clone --depth 1 "https://git.code.sf.net/p/libpng/code" libpng --branch "v${LIBPNG_VERSION}"
cd libpng
./autogen.sh
./configure \
--prefix="${OLIVE_INSTALL_PREFIX}"
make check
make install
cd ..
rm -rf libpng
} &
# join all jobs
@@ -142,11 +255,16 @@ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" ./configure \
--enable-version3 \
--enable-shared \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libopus \
--enable-libvorbis \
--enable-libtheora \
--enable-libvpx \
--enable-libwebp \
--enable-libmp3lame \
--enable-libxvid \
--enable-libopenjpeg \
--prefix="${OLIVE_INSTALL_PREFIX}" \
--extra-libs=-lpthread \
--extra-libs=-lm \
@@ -26,6 +26,7 @@ yum install --setopt=tsflags=nodocs -y \
libxkbcommon-x11-devel \
libXScrnSaver libXScrnSaver-devel \
mesa-libGL-devel \
numactl-devel \
openjpeg2-devel \
pciutils-devel \
pulseaudio-libs pulseaudio-libs-devel \