Fix weekly automatic test

Change-Id: I14c5d0bd74c42d960c2aa1ca20647451564385f2
This commit is contained in:
Yi Luo
2017-07-25 15:28:16 -07:00
parent 8f6cf4f2c4
commit a3f9074a8c
4 changed files with 65 additions and 57 deletions

View File

@@ -7,16 +7,16 @@
# bitrate=500
# fps="30/1"
video=~/Dev/samples/videos/speed-set/touchdown_pass_480p.y4m
wi=854
he=480
frames=150
bitrate=600
fps="30000/1001"
# video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
# wi=1920
# he=1080
# video=~/Dev/samples/videos/speed-set/touchdown_pass_480p.y4m
# wi=854
# he=480
# frames=150
# bitrate=4000
# fps="50/1"
# bitrate=600
# fps="30000/1001"
video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
wi=1920
he=1080
frames=150
bitrate=4000
fps="50/1"

View File

@@ -80,7 +80,7 @@ experiment_dependency() {
common="--disable-unit-tests --disable-docs --enable-experimental"
disabled="--disable-chroma_sub8x8 --disable-filter_7bit --disable-reference_buffer
--disable-delta_q --disable-tile_groups --disable-rect_tx --disable-global_motion --disable-ext_tx --disable-cdef --disable-ext_intra --disable-mv_compress --disable-ext_refs --disable-dual_filter --disable-motion_var --disable-warped_motion --disable-ext_delta_q --disable-loopfiltering_across_tiles --disable-ec_smallmul --disable-var_tx --disable-ext_inter --disable-wedge --disable-compound_segment --disable-interintra --disable-one_sided_compound --disable-smooth_hv --disable-parallel_deblocking --disable-palette --disable-alt_intra --disable-palette_throughput --disable-tempmv_signaling"
--disable-delta_q --disable-rect_tx --disable-global_motion --disable-ext_tx --disable-cdef --disable-ext_intra --disable-mv_compress --disable-ext_refs --disable-dual_filter --disable-motion_var --disable-warped_motion --disable-ext_delta_q --disable-loopfiltering_across_tiles --disable-ec_smallmul --disable-var_tx --disable-ext_inter --disable-wedge --disable-compound_segment --disable-interintra --disable-one_sided_compound --disable-smooth_hv --disable-parallel_deblocking --disable-palette --disable-alt_intra --disable-palette_throughput --disable-tempmv_signaling"
experiment_dependency $1

22
scripts/weekly_run.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
script_path=~/Dev/sandbox/libvpx/scripts
av1_code=~/Dev/av1w
log_path=~/Dev/log
date_str=`date +%b_%d_%Y`
log_file=weekly_report_$date_str.txt
test_dir=~/Dev/weekly
rm $test_dir/*
$script_path/sync_codebase.sh $av1_code/aom > $log_path/$log_file 2>&1
$script_path/weekly_speed.sh $av1_code 0 >> $log_path/$log_file 2>&1
users=luoyi
host_name=`hostname`
sender=luoyi
#cc_list="--cc=yunqingwang"
sendgmr --to=$users $cc_list --subject="Codec Weekly Report" --from=$sender --reply_to=$sender < $log_path/$log_file

View File

@@ -11,10 +11,29 @@
# verbose=-v
#set -x
if [ "$#" -ne 1 ]; then
root_dir=~/Dev/av1k
# LBD or HBD
# Note:
# Standard bit depth:
# 1) profile=0
# 2) bitdepth=
# High bit depth:
# 1) profile=2
# 2) bitdepth="--bit-depth=10/12"
if [ "$#" -ne 2 ]; then
root_dir=~/Dev/av1w
profile=0
else
root_dir=$1
profile=$2
fi
if [ "$profile" == "2" ]; then
bitdepth="--bit-depth=10"
fi
if [ "$profile" == "0" ]; then
bitdepth=
fi
code_dir=$root_dir/aom
@@ -22,56 +41,22 @@ build_dir=$root_dir/release
test_dir=~/Dev/weekly
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"
. $script_dir/video_sequence.sh
# video=~/Dev/samples/videos/speed-set/touchdown_pass_480p.y4m
# wi=854
# he=480
# frames=30
# bitrate=2400
# fps="30000/1001"
video=~/Dev/samples/videos/speed-set/BasketballDrive_1920x1080_50.y4m
wi=1920
he=1080
frames=75
bitrate=4000
fps="50/1"
# General options
codec="--codec=av1"
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
rm *.txt
core_id=3
#
for exp_tool in experimental ncobmc one_sided_compound chroma_sub8x8 rect_tx global_motion ext_tx cdef ext_intra ext_refs dual_filter motion_var warped_motion var_tx tx64x64 supertx ext_partition tpl_mv unpoison_partition_ctx wedge adapt_scan ans chroma_2x2 compound_segment ext_inter ext_tile filter_intra intrabc intra_interp loop_restoration lv_map q_adapt_probs compound_round convolve_round interintra mv_compound txk_sel ext_inter ec_adapt filter_7bit reference_buffer delta_q tile_groups ext_delta_q loopfiltering_across_tiles ec_smallmul smooth_hv alt_intra
for exp_tool in experimental ncobmc one_sided_compound chroma_sub8x8 rect_tx global_motion ext_tx cdef ext_intra ext_refs dual_filter motion_var warped_motion var_tx tx64x64 supertx ext_partition tpl_mv unpoison_partition_ctx wedge adapt_scan ans chroma_2x2 compound_segment ext_inter ext_tile filter_intra intrabc intra_interp loop_restoration lv_map q_adapt_probs compound_round convolve_round interintra mv_compound txk_sel ext_inter ec_adapt filter_7bit reference_buffer delta_q ext_delta_q loopfiltering_across_tiles ec_smallmul smooth_hv alt_intra
do
cd $build_dir
make clean > /dev/null
$script_dir/weekly_config.sh $exp_tool
make clean > /dev/null
make -j > /dev/null
if [ $? -ne 0 ]; then
echo Build failed on experiment: $exp_tool
echo "AV1 build failed on experiment: $exp_tool"
fi
cp ./aomenc $test_dir/.
cp ./aomdec $test_dir/.
@@ -80,7 +65,7 @@ do
elog=e_$exp_tool.txt
dlog=d_$exp_tool.txt
bs=$bs_$exp_tool.webm
bs=bs_$exp_tool.webm
if [ $exp_tool == intrabc ] || [ $exp_tool == palette ] || [ $exp_tool == palette_delta_encoding ] || [ $exp_tool == palette_throughput ]; then
tune_content="--tune-content=screen"
@@ -94,7 +79,7 @@ do
col_num=0
fi
taskset -c $core_id ./aomenc $verbose -o /dev/shm/$bs $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/$bs $video $codec --limit=$frames --profile=$profile $bitdepth --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
#etime=`cat $elog | grep 'Pass 2/2' | grep 'fps)' | sed -e 's/^.*b\/s//' | awk '{print $1" "$2}'`
@@ -108,7 +93,7 @@ do
eflag=mismatch
fi
taskset -c $core_id ./aomdec /dev/shm/$bs $codec --i420 --noblit --summary 2>&1 &>> $dlog
taskset -c $core_id ./aomdec /dev/shm/$bs $codec --i420 --noblit --summary 2>&1 &> $dlog
if [ "$?" -ne 0 ]; then
dflag=fault
else
@@ -121,6 +106,7 @@ do
echo -e $exp_tool '\t'$etime'\t'$dtime'\t'$psnr'\t'$eflag'\t'$dflag
rm ./aomenc ./aomdec
rm ./aomenc
rm ./aomdec
done