Skip to content

Instantly share code, notes, and snippets.

@EwoutH
Created October 8, 2019 10:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EwoutH/b908f3527d630326266de0d6e2a953fd to your computer and use it in GitHub Desktop.
Save EwoutH/b908f3527d630326266de0d6e2a953fd to your computer and use it in GitHub Desktop.
Encoder Linux compile and benchmark commands
sudo apt-get update;
sudo apt-get install -y build-essential git cmake make yasm wget mercurial cmake-curses-gui nasm;
sudo apt-get install -y -qq gcc-8 g++-8;
export PATH=$PATH:/usr/bin/
wget -O sintel.y4m https://media.xiph.org/video/derf/y4m/sintel_trailer_2k_1080p24.y4m
wget -O netflix-10b.y4m https://media.xiph.org/video/derf/ElFuente/Netflix_FoodMarket2_4096x2160_60fps_10bit_420.y4m
sudo rm -rf x265
git clone --depth=1 https://github.com/videolan/x265.git
cd x265
mkdir 8b; cd 8b
cmake ../source -DCMAKE_BUILD_TYPE=Release
make -j 16
./x265 -V
cd
cd x265
mkdir 10b; cd 10b
cmake ../source -DCMAKE_BUILD_TYPE=Release -DHIGH_BIT_DEPTH=ON
make -j 16
./x265 -V
cd
sudo rm -rf libvpx
git clone --depth=1 https://github.com/webmproject/libvpx.git
cd libvpx
./configure --enable-vp9 --enable-vp9-highbitdepth --disable-vp8
make -j 16
cd
sudo rm -rf SVT-AV1
git clone --depth=1 https://github.com/OpenVisualCloud/SVT-AV1.git
cd SVT-AV1
./Build/linux/build.sh release
cd
rm -rf aom
git clone --depth=1 https://aomedia.googlesource.com/aom
cd aom
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j 16
cd
for i in 8 8 7 6 5 4 3; do time ./SVT-AV1/Bin/Release/SvtAv1EncApp -i sintel.y4m -n 1250 -enc-mode $i; done;
time ./libvpx/vpxenc --cpu-used=0 --limit=1250 -o NULL.ivf sintel.y4m
time ./x265/8b/x265 -f 1250 -p veryslow sintel.y4m -o NULL.ivf
time ./aom/build/aomenc --end-usage=q --cq-level=25 --cpu-used=5 --limit=1250 -o NULL.ivf sintel.y4m
sudo poweroff
for i in 8 8 7 6 5 4 3; do time ./SVT-AV1/Bin/Release/SvtAv1EncApp -i netflix-10b.y4m -n 250 -enc-mode $i; done;
time ./libvpx/vpxenc --cpu-used=0 --limit=250 --profile=2 -b 10 -o NULL.ivf netflix-10b.y4m
time ./x265/10b/x265 -f 250 -p veryslow netflix-10b.y4m -o NULL.ivf
time ./aom/build/aomenc --end-usage=q --cq-level=25 --cpu-used=5 --limit=250 -o NULL.ivf netflix-10b.y4m
sudo poweroff
@1480c1
Copy link

1480c1 commented Oct 9, 2019

Wouldn't it be better to write as a script? (Related to next question)

Why are you shutting down the system between running the encoding sintel and netflix?
I'm not sure if restarting the system will affect the tests that much and when actually encoding, I doubt you would actually restart your system between encodes.

@EwoutH
Copy link
Author

EwoutH commented Oct 9, 2019

Yeah a script would be better, I modify it extremely often, which makes it a little more complicated. Feel free to give it a try though!

I ran line 47 to 52 and line 54 to 59 on separate machines, so each machine just turns off when it's done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment