We run vp9 enc/dec test first; then run av1 enc/dec
Output is: enc fps dec fps PSNR enc status dec status Change-Id: I9fce13ff2cea0fddd69f777194e558de510e40c0
This commit is contained in:
parent
441ad49ddc
commit
afa4cb92f2
@ -1,16 +1,21 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
script_path=~/Dev/sandbox/libvpx/scripts
|
script_path=~/Dev/sandbox/libvpx/scripts
|
||||||
codebase=~/Dev/av1d
|
|
||||||
|
av1_code=~/Dev/av1d
|
||||||
|
vp9_code=~/Dev/vp9d
|
||||||
|
|
||||||
log_path=~/Dev/log
|
log_path=~/Dev/log
|
||||||
date_str=`date +%H:%M_%b_%d_%Y`
|
date_str=`date +%H:%M_%b_%d_%Y`
|
||||||
log_file=rep_$date_str.txt
|
log_file=rep_$date_str.txt
|
||||||
|
|
||||||
$script_path/nightly_speed.sh $codebase > $log_path/$log_file 2>&1
|
$script_path/nightly_speed.sh $av1_code > $log_path/$log_file 2>&1
|
||||||
|
$script_path/vp9_nightly_speed.sh $vp9_code >> $log_path/$log_file 2>&1
|
||||||
|
|
||||||
users=luoyi
|
users=luoyi
|
||||||
host_name=`hostname`
|
host_name=`hostname`
|
||||||
sender=luoyi
|
sender=luoyi
|
||||||
cc_list=yunqingwang
|
cc_list=yunqingwang
|
||||||
|
#--cc=$cc_list
|
||||||
|
|
||||||
sendgmr --to=$users --cc=$cc_list --subject="AV1 Build/Running Report" --from=$sender --reply_to=$sender < $log_path/$log_file
|
sendgmr --to=$users --cc=$cc_list --subject="Codec Daily Report" --from=$sender --reply_to=$sender < $log_path/$log_file
|
||||||
|
@ -22,19 +22,19 @@ build_dir=$root_dir/release
|
|||||||
test_dir=~/Dev/nightly
|
test_dir=~/Dev/nightly
|
||||||
script_dir=~/Dev/sandbox/libvpx/scripts
|
script_dir=~/Dev/sandbox/libvpx/scripts
|
||||||
|
|
||||||
# video=~/Dev/samples/videos/yaowu/soccer_cif.y4m
|
video=~/Dev/samples/videos/yaowu/soccer_cif.y4m
|
||||||
# wi=352
|
wi=352
|
||||||
# he=288
|
he=288
|
||||||
# frames=5
|
frames=5
|
||||||
# bitrate=500
|
bitrate=500
|
||||||
# fps="30/1"
|
fps="30/1"
|
||||||
|
|
||||||
video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
|
# video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
|
||||||
wi=1920
|
# wi=1920
|
||||||
he=1080
|
# he=1080
|
||||||
frames=150
|
# frames=150
|
||||||
bitrate=4000
|
# bitrate=4000
|
||||||
fps="50/1"
|
# fps="50/1"
|
||||||
|
|
||||||
# General options
|
# General options
|
||||||
codec="--codec=av1"
|
codec="--codec=av1"
|
||||||
@ -59,7 +59,7 @@ for exp_tool in experimental
|
|||||||
|
|
||||||
do
|
do
|
||||||
cd $code_dir
|
cd $code_dir
|
||||||
git checkout master
|
git checkout -q master
|
||||||
git pull -q
|
git pull -q
|
||||||
git log -1 --oneline
|
git log -1 --oneline
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ do
|
|||||||
|
|
||||||
elog=e_$exp_tool.txt
|
elog=e_$exp_tool.txt
|
||||||
dlog=d_$exp_tool.txt
|
dlog=d_$exp_tool.txt
|
||||||
bstream="$exp_tool"_nightly.webm
|
bstream="$exp_tool"_nightly_av1.webm
|
||||||
|
|
||||||
if [ $exp_tool == intrabc ] || [ $exp_tool == palette ] || [ $exp_tool == palette_delta_encoding ] || [ $exp_tool == palette_throughput ]; then
|
if [ $exp_tool == intrabc ] || [ $exp_tool == palette ] || [ $exp_tool == palette_delta_encoding ] || [ $exp_tool == palette_throughput ]; then
|
||||||
tune_content="--tune-content=screen"
|
tune_content="--tune-content=screen"
|
||||||
@ -96,7 +96,9 @@ do
|
|||||||
taskset -c $core_id ./aomenc $verbose -o /dev/shm/"$bstream" $video $codec --limit=$frames --profile=$profile --fps=$fps $tune_content --target-bitrate=$bitrate --skip=0 -p 2 --good --cpu-used=0 --lag-in-frames=25 --min-q=0 --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0 --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0 --tile-columns=$col_num --test-decode=warn --psnr &>> $elog
|
taskset -c $core_id ./aomenc $verbose -o /dev/shm/"$bstream" $video $codec --limit=$frames --profile=$profile --fps=$fps $tune_content --target-bitrate=$bitrate --skip=0 -p 2 --good --cpu-used=0 --lag-in-frames=25 --min-q=0 --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0 --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0 --tile-columns=$col_num --test-decode=warn --psnr &>> $elog
|
||||||
|
|
||||||
# Note: $2 is the time unit, ms or us
|
# Note: $2 is the time unit, ms or us
|
||||||
etime=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $1" "$2}'`
|
#etime=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $1" "$2}'`
|
||||||
|
efps=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $3}'`
|
||||||
|
efps=`echo $efps | sed 's/(//'`
|
||||||
|
|
||||||
psnr=`cat $elog | grep 'PSNR' | awk '{print $5, $6, $7, $8, $9}'`
|
psnr=`cat $elog | grep 'PSNR' | awk '{print $5, $6, $7, $8, $9}'`
|
||||||
tmp=`cat $elog | grep mismatch`
|
tmp=`cat $elog | grep mismatch`
|
||||||
@ -106,7 +108,7 @@ do
|
|||||||
eflag=mismatch
|
eflag=mismatch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Encoded bitstream is " "$bstream"
|
echo "AV1 bitstream: " "$bstream"
|
||||||
|
|
||||||
taskset -c $core_id ./aomdec /dev/shm/"$bstream" $codec --i420 --noblit --summary 2>&1 &>> $dlog
|
taskset -c $core_id ./aomdec /dev/shm/"$bstream" $codec --i420 --noblit --summary 2>&1 &>> $dlog
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
@ -116,9 +118,11 @@ do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Note: $8 is the time unit ms or us
|
# Note: $8 is the time unit ms or us
|
||||||
dtime=`awk '{print $7" "$8}' < $dlog`
|
dfps=`awk '{print $9}' < $dlog`
|
||||||
|
dfps=`echo $dfps | sed 's/(//'`
|
||||||
echo -e $exp_tool '\t'$etime'\t'$dtime'\t'$psnr'\t'$eflag'\t'$dflag
|
|
||||||
|
|
||||||
|
echo -e '\t'"Enc fps Dec fps PSNR"'\t\t\t\t\t\t\t'"Enc status Dec status"
|
||||||
|
echo -e '\t'$efps" "$dfps" "$psnr'\t'$eflag" "$dflag
|
||||||
|
printf "\n"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
111
scripts/vp9_nightly_speed.sh
Executable file
111
scripts/vp9_nightly_speed.sh
Executable file
@ -0,0 +1,111 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# File:
|
||||||
|
# list_exp_speed.sh
|
||||||
|
# Decription:
|
||||||
|
# Configure, build, and run encoder/decoder for each experimental tool.
|
||||||
|
# Display the encoder/decode run time
|
||||||
|
# Preassumption:
|
||||||
|
# 1) Assume all script files are in ~/Dev/sandbox/libvpx/scripts
|
||||||
|
# Note:
|
||||||
|
# See encoder config output if set,
|
||||||
|
# verbose=-v
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
if [ "$#" -ne 1 ]; then
|
||||||
|
root_dir=~/Dev/av1k
|
||||||
|
else
|
||||||
|
root_dir=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
code_dir=$root_dir/libvpx
|
||||||
|
build_dir=$root_dir/release
|
||||||
|
test_dir=~/Dev/nightly
|
||||||
|
script_dir=~/Dev/sandbox/libvpx/scripts
|
||||||
|
|
||||||
|
video=~/Dev/samples/videos/yaowu/soccer_cif.y4m
|
||||||
|
wi=352
|
||||||
|
he=288
|
||||||
|
frames=5
|
||||||
|
bitrate=500
|
||||||
|
fps="30/1"
|
||||||
|
|
||||||
|
# video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
|
||||||
|
# wi=1920
|
||||||
|
# he=1080
|
||||||
|
# frames=150
|
||||||
|
# bitrate=4000
|
||||||
|
# fps="50/1"
|
||||||
|
|
||||||
|
# General options
|
||||||
|
codec="--codec=vp9"
|
||||||
|
verbose=
|
||||||
|
|
||||||
|
# LBD or HBD
|
||||||
|
# Note:
|
||||||
|
# Standard bit depth:
|
||||||
|
# 1) profile=0
|
||||||
|
# 2) remove $bitdepth in encoder command line
|
||||||
|
# 3) Change runconfig.sh, bitdepth=
|
||||||
|
# High bit depth:
|
||||||
|
# 1) profile=2
|
||||||
|
# 2) Add $bitdepth in encoder command line, e.g. bitdepth="--bit-depth=10"
|
||||||
|
# 3) Change runconfig.sh, bitdepth=--enable-highbitdepth
|
||||||
|
|
||||||
|
profile=0
|
||||||
|
core_id=1
|
||||||
|
|
||||||
|
cd $code_dir
|
||||||
|
git checkout -q master
|
||||||
|
git pull -q
|
||||||
|
git log -1 --oneline
|
||||||
|
|
||||||
|
cd $build_dir
|
||||||
|
make clean > /dev/null
|
||||||
|
../libvpx/configure > /dev/null
|
||||||
|
|
||||||
|
make -j > /dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "VP9 build failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -f ./vpxenc $test_dir/.
|
||||||
|
cp -f ./vpxdec $test_dir/.
|
||||||
|
|
||||||
|
cd $test_dir
|
||||||
|
|
||||||
|
bstream=nightly_vp9.webm
|
||||||
|
elog=vp9enc_log.txt
|
||||||
|
dlog=vp9dec_log.txt
|
||||||
|
|
||||||
|
taskset -c $core_id ./vpxenc $verbose -o /dev/shm/"$bstream" $video $codec --limit=$frames --profile=$profile --fps=$fps --target-bitrate=$bitrate --skip=0 -p 2 --good --cpu-used=0 --lag-in-frames=25 --min-q=0 --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0 --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0 --test-decode=warn --psnr &>> $elog
|
||||||
|
|
||||||
|
# Note: $2 is the time unit, ms or us
|
||||||
|
#etime=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $1" "$2}'`
|
||||||
|
efps=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $3}'`
|
||||||
|
efps=`echo $efps | sed 's/(//'`
|
||||||
|
|
||||||
|
psnr=`cat $elog | grep 'PSNR' | awk '{print $5, $6, $7, $8, $9}'`
|
||||||
|
tmp=`cat $elog | grep mismatch`
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
eflag=e_ok
|
||||||
|
else
|
||||||
|
eflag=mismatch
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "VP9 bitstream: " "$bstream"
|
||||||
|
|
||||||
|
taskset -c $core_id ./vpxdec /dev/shm/"$bstream" $codec --i420 --noblit --summary 2>&1 &>> $dlog
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
dflag=fault
|
||||||
|
else
|
||||||
|
dflag=d_ok
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Note: $8 is the time unit ms or us
|
||||||
|
#dtime=`awk '{print $7" "$8}' < $dlog`
|
||||||
|
dfps=`awk '{print $9}' < $dlog`
|
||||||
|
dfps=`echo $dfps | sed 's/(//'`
|
||||||
|
|
||||||
|
echo -e '\t'"Enc fps Dec fps PSNR"'\t\t\t\t\t\t\t'"Enc status Dec status"
|
||||||
|
echo -e '\t'$efps" "$dfps" "$psnr'\t'$eflag" "$dflag
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user