configure and build scripts for x264 and x265
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@ -9,7 +9,8 @@ __pycache__/
|
|||||||
|
|
||||||
# Distribution / packaging
|
# Distribution / packaging
|
||||||
.Python
|
.Python
|
||||||
build/
|
/build/
|
||||||
|
/install/
|
||||||
develop-eggs/
|
develop-eggs/
|
||||||
dist/
|
dist/
|
||||||
downloads/
|
downloads/
|
||||||
@ -173,4 +174,6 @@ cython_debug/
|
|||||||
|
|
||||||
# PyPI configuration file
|
# PyPI configuration file
|
||||||
.pypirc
|
.pypirc
|
||||||
|
|
||||||
|
# PVE
|
||||||
/test.mp4
|
/test.mp4
|
||||||
|
|||||||
48
make/configure-x264.sh
Executable file
48
make/configure-x264.sh
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# People's Video Editor: high quality, GPU accelerated mp4 editor
|
||||||
|
# Copyright (C) 2025 Roz K <roz@rozk.net>
|
||||||
|
#
|
||||||
|
# This file is part of People's Video Editor.
|
||||||
|
#
|
||||||
|
# People's Video Editor is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
|
# GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
|
||||||
|
# or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# People's Video Editor 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with People's Video Editor.
|
||||||
|
# If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
source_directory="codecs/x264"
|
||||||
|
build_directory="build/${source_directory}"
|
||||||
|
install_directory="build/codecs"
|
||||||
|
|
||||||
|
if ! [ -d ${source_directory} ] ; then
|
||||||
|
echo "This script must be executed from the root directory: ./make/configure-x264.sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ${build_directory}
|
||||||
|
mkdir -p ${install_directory}
|
||||||
|
|
||||||
|
absolute_source_directory=$(realpath ${source_directory})
|
||||||
|
absolute_build_directory=$(realpath ${build_directory})
|
||||||
|
absolute_install_directory=$(realpath ${install_directory})
|
||||||
|
|
||||||
|
cd "${absolute_build_directory}"
|
||||||
|
${absolute_source_directory}/configure \
|
||||||
|
--prefix=${absolute_install_directory} \
|
||||||
|
--disable-cli \
|
||||||
|
--enable-static \
|
||||||
|
--disable-bashcompletion \
|
||||||
|
--bit-depth=all \
|
||||||
|
--chroma-format=all \
|
||||||
|
--enable-lto \
|
||||||
|
--disable-avs \
|
||||||
|
--disable-swscale \
|
||||||
|
--disable-lavf \
|
||||||
|
--disable-ffms \
|
||||||
|
--disable-gpac \
|
||||||
|
--disable-lsmash
|
||||||
59
make/configure-x265.sh
Executable file
59
make/configure-x265.sh
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# People's Video Editor: high quality, GPU accelerated mp4 editor
|
||||||
|
# Copyright (C) 2025 Roz K <roz@rozk.net>
|
||||||
|
#
|
||||||
|
# This file is part of People's Video Editor.
|
||||||
|
#
|
||||||
|
# People's Video Editor is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
|
# GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
|
||||||
|
# or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# People's Video Editor 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with People's Video Editor.
|
||||||
|
# If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
source_directory="codecs/x265"
|
||||||
|
build_directory="build/${source_directory}"
|
||||||
|
install_directory="build/codecs"
|
||||||
|
|
||||||
|
if ! [ -d ${source_directory} ] ; then
|
||||||
|
echo "This script must be executed from the root directory: ./make/configure-x265.sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p ${build_directory}/8bit
|
||||||
|
mkdir -p ${build_directory}/10bit
|
||||||
|
mkdir -p ${build_directory}/12bit
|
||||||
|
mkdir -p ${install_directory}
|
||||||
|
|
||||||
|
absolute_source_directory=$(realpath ${source_directory})
|
||||||
|
absolute_build_directory=$(realpath ${build_directory})
|
||||||
|
absolute_install_directory=$(realpath ${install_directory})
|
||||||
|
|
||||||
|
cmake -S ${absolute_source_directory}/source -B ${absolute_build_directory}/12bit \
|
||||||
|
-Wno-dev \
|
||||||
|
-DHIGH_BIT_DEPTH=ON \
|
||||||
|
-DEXPORT_C_API=OFF \
|
||||||
|
-DENABLE_SHARED=OFF \
|
||||||
|
-DENABLE_CLI=OFF \
|
||||||
|
-DMAIN12=ON
|
||||||
|
|
||||||
|
cmake -S ${absolute_source_directory}/source -B ${absolute_build_directory}/10bit \
|
||||||
|
-Wno-dev \
|
||||||
|
-DHIGH_BIT_DEPTH=ON \
|
||||||
|
-DEXPORT_C_API=OFF \
|
||||||
|
-DENABLE_SHARED=OFF \
|
||||||
|
-DENABLE_CLI=OFF
|
||||||
|
|
||||||
|
cmake -S ${absolute_source_directory}/source -B ${absolute_build_directory}/8bit \
|
||||||
|
--install-prefix ${absolute_install_directory} \
|
||||||
|
-Wno-dev \
|
||||||
|
-DEXTRA_LIB="x265_main10.a;x265_main12.a" \
|
||||||
|
-DEXTRA_LINK_FLAGS=-L. \
|
||||||
|
-DLINKED_10BIT=ON \
|
||||||
|
-DLINKED_12BIT=ON \
|
||||||
|
-DENABLE_SHARED=OFF \
|
||||||
|
-DENABLE_CLI=OFF
|
||||||
31
make/make-x264.sh
Executable file
31
make/make-x264.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# People's Video Editor: high quality, GPU accelerated mp4 editor
|
||||||
|
# Copyright (C) 2025 Roz K <roz@rozk.net>
|
||||||
|
#
|
||||||
|
# This file is part of People's Video Editor.
|
||||||
|
#
|
||||||
|
# People's Video Editor is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
|
# GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
|
||||||
|
# or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# People's Video Editor 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with People's Video Editor.
|
||||||
|
# If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
source_directory="codecs/x264"
|
||||||
|
build_directory="build/${source_directory}"
|
||||||
|
|
||||||
|
if ! [ -d ${source_directory} ] ; then
|
||||||
|
echo "This script must be executed from the root directory: ./make/make-x264.sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -d ${build_directory} ] ; then
|
||||||
|
./make/configure-x264.sh || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${build_directory}
|
||||||
|
make && make install
|
||||||
61
make/make-x265.sh
Executable file
61
make/make-x265.sh
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# People's Video Editor: high quality, GPU accelerated mp4 editor
|
||||||
|
# Copyright (C) 2025 Roz K <roz@rozk.net>
|
||||||
|
#
|
||||||
|
# This file is part of People's Video Editor.
|
||||||
|
#
|
||||||
|
# People's Video Editor is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
|
# GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
|
||||||
|
# or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# People's Video Editor 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with People's Video Editor.
|
||||||
|
# If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
source_directory="codecs/x265"
|
||||||
|
build_directory="build/${source_directory}"
|
||||||
|
|
||||||
|
if ! [ -d ${source_directory} ] ; then
|
||||||
|
echo "This script must be executed from the root directory: ./make/make-x264.sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -d ${build_directory} ] ; then
|
||||||
|
./make/configure-x265.sh || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
absolute_build_directory=$(realpath ${build_directory})
|
||||||
|
|
||||||
|
cd ${absolute_build_directory}/12bit
|
||||||
|
make || exit 1
|
||||||
|
|
||||||
|
cd ${absolute_build_directory}/10bit
|
||||||
|
make || exit1
|
||||||
|
|
||||||
|
cd ${absolute_build_directory}/8bit
|
||||||
|
|
||||||
|
ln -sf ../10bit/libx265.a libx265_main10.a
|
||||||
|
ln -sf ../12bit/libx265.a libx265_main12.a
|
||||||
|
|
||||||
|
make || exit 1
|
||||||
|
|
||||||
|
mv -f libx265.a libx265_main.a
|
||||||
|
|
||||||
|
uname=`uname`
|
||||||
|
if [ "$uname" = "Linux" ] ; then
|
||||||
|
ar -M <<EOF
|
||||||
|
CREATE libx265.a
|
||||||
|
ADDLIB libx265_main.a
|
||||||
|
ADDLIB libx265_main10.a
|
||||||
|
ADDLIB libx265_main12.a
|
||||||
|
SAVE
|
||||||
|
END
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
libtool -static -o libx265.a libx265_main.a libx265_main10.a libx265_main12.a 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
make install
|
||||||
Reference in New Issue
Block a user