History

1 update SHA1 table which have been broken by previous update; 2 enhance script to support more case(multi layer etc.)

huade committed 11 years ago

Commit 944a0411 parent e041bc612 files · +7900 −5830Browse files

Showing the changes to test/encoder_binary_comparison/Scripts (2 of 12 files). Show all

Unified · Split

2 files
  1. test/encoder_binary_comparison/Scripts/run_BinarySHA1Comparison.sh +160 −137
  2. test/encoder_binary_comparison/Scripts/run_BitStreamToYUV.sh +3 −16
test/encoder_binary_comparison/Scripts/run_BinarySHA1Comparison.sh+160−137
@@ -5,8 +5,7 @@ · 4 unmodified lines
5# -- Test bit stream under folder openh264/res5# -- Test bit stream under folder openh264/res
6# -- SHA-1 string of Benchmark version for all cases of all bit streams6# -- SHA-1 string of Benchmark version for all cases of all bit streams
7# under folder openh264/test/encoder_binary_comparion/SHA1Table7# under folder openh264/test/encoder_binary_comparion/SHA1Table
8# -- For more detail,please refer to file AboutTest¡£8# -- For more detail,please refer to file AboutTest?¡ê
9#
10#brief:9#brief:
11# -- Test all cases in SHA1TableFile10# -- Test all cases in SHA1TableFile
12# 1) Generate SHA1 string for each case11# 1) Generate SHA1 string for each case
@@ -38,10 +37,12 @@ runGlobalVariableDef() · 25 unmodified lines
38 #xxx.csv37 #xxx.csv
39 AllCasePassStatusFile=""38 AllCasePassStatusFile=""
40 #for encoder command39 #for encoder command
41 declare -a EncoderCommandSet40 declare -a aEncoderCommandSet
42 declare -a EncoderCommandName41 declare -a aEncoderCommandName
43 declare -a EncoderCommandValue42 declare -a aEncoderCommandValue
43 declare -a aRecYUVFileList
44 #encoder parameters change based on the case info44 #encoder parameters change based on the case info
45 let "EncoderFlag = 0"
45 CaseInfo=""46 CaseInfo=""
46 BitStreamFile=""47 BitStreamFile=""
47 DiffFlag=""48 DiffFlag=""
@@ -54,42 +55,32 @@ runGlobalVariableDef() · 6 unmodified lines
54#usage runEncoderCommandInital55#usage runEncoderCommandInital
55runEncoderCommandInital()56runEncoderCommandInital()
56{57{
57 EncoderCommandSet=(-frms \58 aEncoderCommandSet=( -utype -frms -numl -numtl \
58 -numtl \59 -sw -sh "-dw 0" "-dh 0" "-dw 1" "-dh 1" "-dw 2" "-dh 2" "-dw 3" "-dh 3" \
59 -scrsig \60 "-frout 0" "-frout 1" "-frout 2" "-frout 3" \
60 -rc \61 "-lqp 0" "-lqp 1" "-lqp 2" "-lqp 3" \
61 -tarb \62 -rc -tarb "-ltarb 0" "-ltarb 1" "-ltarb 2" "-ltarb 3" \
62 "-lqp 0" \63 "-slcmd 0" "-slcnum 0" "-slcmd 1" "-slcnum 1"\
63 -iper \64 "-slcmd 2" "-slcnum 2" "-slcmd 3" "-slcnum 3"\
64 "-slcmd 0" \65 -nalsize \
65 "-slcnum 0" \66 -iper -thread -ltr \
66 -thread \67 -db -denois -scene -bgd -aq )
67 -ltr \68 aEncoderCommandName=(usagetype frms numl numtl \
68 -db \69 sw sh dw0 dh0 dw1 dh1 dw2 dh2 dw3 dh3 \
69 -nalsize \70 frout0 frout1 frout2 frout3 \
70 -denois \71 lqp0 lqp1 lqp2 lqp3 \
71 -scene \72 rc tarb ltarb0 ltarb1 ltarb2 ltarb3 \
72 -bgd \73 slcmd0 slcnum0 slcmd1 slcnum1 \
73 -aq)74 slcmd2 slcnum2 slcmd3 slcnum3 \
74 EncoderCommandName=(FrEcoded \75 MaxNalSZ \
75 NumTempLayer \76 iper thread ltr \
76 ContentSig \77 db denois scene bgd aq )
77 RC \78 NumParameter=${#aEncoderCommandSet[@]}
78 BitRate \79 for ((i=0;i<NumParameter; i++))
79 QP \80 do
80 IntraPeriod \81 aEncoderCommandValue[$i]=0
81 SlcMd \82 done
82 SlcMum \83
83 ThrMum \
84 LTR \
85 LFilterIDC \
86 MacNalSize \
87 DenoiseFlag \
88 SceneChangeFlag \
89 BackgroundFlag \
90 AQFlag)
91 EncoderCommandValue=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
92 NumParameter=${#EncoderCommandSet[@]}
93}84}
94runGlobalVariableInitial()85runGlobalVariableInitial()
95{86{
@@ -110,35 +101,33 @@ runGlobalVariableInitial() · 14 unmodified lines
110 AllCasePassStatusFile="${FinalResultPath}/${TestSequenceName}_AllCaseOutput.csv"101 AllCasePassStatusFile="${FinalResultPath}/${TestSequenceName}_AllCaseOutput.csv"
111 UnpassCaseFile="${FinalResultPath}/${TestSequenceName}_unpassCaseOutput.csv"102 UnpassCaseFile="${FinalResultPath}/${TestSequenceName}_unpassCaseOutput.csv"
112 UpdateSHA1TableFile="${FinalResultPath}/${TestSequenceName}_UpdateSHA1Table.csv"103 UpdateSHA1TableFile="${FinalResultPath}/${TestSequenceName}_UpdateSHA1Table.csv"
113 echo "BitMatched Status, \104 HeadLine1="BitMatched Status, SHA-1-Target, SHA-1-Benchmark, MD5-Target, MD5-Benchmark,\
114 SHA-1-Target, SHA-1-Benchmark, \105 Bitstream-Target,Bitstream-Benchmark,YUV-Target,YUV-Benchmark,\
115 MD5-Target, MD5-Benchmark, \106 -utype, -frms, -numl, -numtl, -sw, -sh,\
116 Bitstream-Target,Bitstream-Benchmark, \107 -dw 0, -dh 0, -dw 1, -dh 1, -dw 2, -dh 2, -dw 3, -dh 3,\
117 YUV-Target,YUV-Benchmark, \108 -frout 0, -frout 1, -frout 2, -frout 3,\
118 -frms, -numtl, -scrsig, -rc, \109 -lqp 0, -lqp 1, -lqp 2, -lqp 3,\
119 -tarb, -lqp 0, -iper, \110 -rc, -tarb, -ltarb 0, -ltarb 1, -ltarb 2, -ltarb 3,\
120 -slcmd 0,-slcnum 0, -thread, \111 -slcmd 0, -slcnum 0, -slcmd 1, -slcnum 1,\
121 -ltr, -db, -nalsize,-denois, \112 -slcmd 2, -slcnum 2, -slcmd 3, -slcnum 3,\
122 -scene, -bgd, -aq">${AllCasePassStatusFile}113 -nalsize,\
123 114 -iper, -thread, -ltr, -db, -denois,\
124 echo "BitMatched Status, \115 -scene, -bgd , -aq, "
125 SHA-1-Target, SHA-1-Benchmark, \116 HeadLine2="SHA-1 Value, MD5String, BitStreamSize, YUVSize, \
126 MD5-Target, MD5-Benchmark, \117 -utype, -frms, -numl, -numtl, -sw, -sh,\
127 Bitstream-Target,Bitstream-Benchmark,\118 -dw 0, -dh 0, -dw 1, -dh 1,-dw 2, -dh 2, -dw 3, -dh 3,\
128 YUV-Target,YUV-Benchmark, \119 -frout 0, -frout 1, -frout 2, -frout 3,\
129 -frms, -numtl, -scrsig, -rc, \120 -lqp 0, -lqp 1, -lqp 2, -lqp 3,\
130 -tarb, -lqp 0, -iper, \121 -rc, -tarb, -ltarb 0, -ltarb 1, -ltarb 2, -ltarb 3,\
131 -slcmd 0,-slcnum 0, -thread, \122 -slcmd 0, -slcnum 0, -slcmd 1, -slcnum 1,\
132 -ltr, -db, -nalsize,-denois, \123 -slcmd 2, -slcnum 2, -slcmd 3, -slcnum 3,\
133 -scene, -bgd, -aq">${UnpassCaseFile}124 -nalsize,\
125 -iper, -thread, -ltr, -db, -denois,\
126 -scene , bgd , -aq "
127 echo ${HeadLine1}>${AllCasePassStatusFile}
128 echo ${HeadLine1}>${UnpassCaseFile}
129 echo ${HeadLine2}>${UpdateSHA1TableFile}
134 130
135 echo "SHA-1 Value, \
136 MD5String, BitStreamSize, YUVSize, \
137 -frms, -numtl, -scrsig, -rc, \
138 -tarb, -lqp 0, -iper, \
139 -slcmd 0,-slcnum 0, -thread, \
140 -ltr, -db, -MaxNalSize,-denois, \
141 -scene, -bgd, -aq">${UpdateSHA1TableFile}
142 #intial Commandline parameters131 #intial Commandline parameters
143 runEncoderCommandInital132 runEncoderCommandInital
144 let "TotalCaseNum=0"133 let "TotalCaseNum=0"
@@ -163,70 +152,89 @@ runParseCaseInfo() · 18 unmodified lines
163{152{
164 if [ $# -lt 1 ]153 if [ $# -lt 1 ]
165 then154 then
166 echo "runParseCaseInfo \$CaseData"155 echo "no parameter!"
167 return 1156 return 1
168 fi157 fi
169 local TempData=""158 local TempData=""
170 local BitstreamPrefix=""
171 local CaseData=$@159 local CaseData=$@
160 local BitstreamPrefix=""
172 BenchmarkSHA1=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $1} ' `161 BenchmarkSHA1=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $1} ' `
173 BenchmarkMD5=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $2} ' `162 BenchmarkMD5=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $2} ' `
174 BenchmarkYUVSize=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $4} ' `163 BenchmarkYUVSize=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $4} ' `
175 BenchmarkBitstreamSize=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $3} ' `164 BenchmarkBitstreamSize=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $3} ' `
165
166 declare -a aTempParamIndex=( 6 7 8 9 10 11 12 13 15 16 17 19 20 21 24 25 26 27 30 31 32 33 34 35 )
176 TempData=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {for(i=5;i<=NF;i++) printf(" %s",$i)} ' `167 TempData=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {for(i=5;i<=NF;i++) printf(" %s",$i)} ' `
177 EncoderCommandValue=(${TempData})168 aEncoderCommandValue=(${TempData})
169 let "TempParamFlag=0"
178 for((i=0; i<$NumParameter; i++))170 for((i=0; i<$NumParameter; i++))
179 do171 do
180 BitstreamPrefix=${BitstreamPrefix}_${EncoderCommandName[$i]}_${EncoderCommandValue[$i]}172 for ParnmIndex in ${aTempParamIndex[@]}
173 do
174 if [ $i -eq ${ParnmIndex} ]
175 then
176 let "TempParamFlag=1"
177 fi
178 done
179 if [ ${TempParamFlag} -eq 0 ]
180 then
181 BitstreamPrefix=${BitstreamPrefix}_${aEncoderCommandName[$i]}_${aEncoderCommandValue[$i]}
182 fi
183 let "TempParamFlag=0"
181 done184 done
185
182 BitstreamTarget=${TempDataPath}/${TestSequenceName}_${BitstreamPrefix}_codec_target.264186 BitstreamTarget=${TempDataPath}/${TestSequenceName}_${BitstreamPrefix}_codec_target.264
183 echo ""187 echo ""
184 echo "BitstreamPrefix is ${BitstreamPrefix}"188 echo "BitstreamPrefix is ${BitstreamPrefix}"
185 echo ""189 echo ""
186}190}
187#called by runAllCaseTest
188#usage runEncodeOneCase
189runEncodeOneCase()191runEncodeOneCase()
190{192{
191 BitStreamFile=${BitstreamTarget}193 local ParamCommand=""
192 CaseCommand=" ${ConfigureFile} \194 BitStreamFile=${BitstreamTarget}
193 -numl 1 \195
194 -lconfig 0 layer2.cfg \196 for ((i=4; i<${NumParameter}; i++))
195 -sw ${PicW} -sh ${PicH} \197 do
196 -dw 0 ${PicW} -dh 0 ${PicH} \198 ParamCommand="${ParamCommand} ${aEncoderCommandSet[$i]} ${aEncoderCommandValue[$i]} "
197 -frout 0 30 \199 done
198 -ltarb 0 ${EncoderCommandValue[4]} \200 for((i=0;i<4;i++))
199 ${EncoderCommandSet[0]} ${EncoderCommandValue[0]} \201 do
200 ${EncoderCommandSet[1]} ${EncoderCommandValue[1]} \202 aRecYUVFileList[$i]="${TempDataPath}/${TestYUVName}_rec${i}.yuv"
201 ${EncoderCommandSet[2]} ${EncoderCommandValue[2]} \203 done
202 ${EncoderCommandSet[3]} ${EncoderCommandValue[3]} \204 ParamCommand="${aEncoderCommandSet[0]} ${aEncoderCommandValue[0]} ${aEncoderCommandSet[1]} ${aEncoderCommandValue[1]} \
203 ${EncoderCommandSet[4]} ${EncoderCommandValue[4]} \205 ${aEncoderCommandSet[2]} ${aEncoderCommandValue[2]} \
204 ${EncoderCommandSet[5]} ${EncoderCommandValue[5]} \206 -lconfig 0 layer0.cfg -lconfig 1 layer1.cfg -lconfig 2 layer2.cfg -lconfig 3 layer3.cfg \
205 ${EncoderCommandSet[6]} ${EncoderCommandValue[6]} \207 ${aEncoderCommandSet[3]} ${aEncoderCommandValue[3]} \
206 ${EncoderCommandSet[7]} ${EncoderCommandValue[7]} \208 ${ParamCommand}"
207 ${EncoderCommandSet[8]} ${EncoderCommandValue[8]} \
208 ${EncoderCommandSet[9]} ${EncoderCommandValue[9]} \
209 ${EncoderCommandSet[10]} ${EncoderCommandValue[10]} \
210 ${EncoderCommandSet[11]} ${EncoderCommandValue[11]} \
211 ${EncoderCommandSet[12]} ${EncoderCommandValue[12]} \
212 ${EncoderCommandSet[13]} ${EncoderCommandValue[13]} \
213 ${EncoderCommandSet[14]} ${EncoderCommandValue[14]} \
214 ${EncoderCommandSet[15]} ${EncoderCommandValue[15]} \
215 ${EncoderCommandSet[16]} ${EncoderCommandValue[16]}"
216 echo ${EncoderCommandSet[@]}
217 echo ${EncoderCommandValue[@]}
218 echo ${EncoderCommandSet[11]}
219 echo ${EncoderCommandValue[11]}
220 echo ${EncoderCommandSet[12]}
221 echo ${EncoderCommandValue[12]}
222 EncoderCommand="./h264enc ${CaseCommand} -bf ${BitStreamFile} -org ${TestSequencePath}/${TestSequenceName} "
223 echo ""209 echo ""
210 echo "---------------Encode One Case-------------------------------------------"
224 echo "case line is :"211 echo "case line is :"
225 echo " ${EncoderCommand}"212 EncoderCommand="./h264enc welsenc.cfg ${ParamCommand} -bf ${BitStreamFile} \
213 -drec 0 ${aRecYUVFileList[0]} -drec 1 ${aRecYUVFileList[1]} \
214 -drec 2 ${aRecYUVFileList[2]} -drec 3 ${aRecYUVFileList[3]} \
215 -org ${TestSequencePath}/${TestSequenceName}"
216 echo ${EncoderCommand}
226 echo -e "\n\n"217 echo -e "\n\n"
227 ./h264enc ${CaseCommand} \218 ./h264enc welsenc.cfg ${ParamCommand} -bf ${BitStreamFile} \
228 -bf ${BitStreamFile} \219 -drec 0 ${aRecYUVFileList[0]} -drec 1 ${aRecYUVFileList[1]} \
229 -org ${TestSequencePath}/${TestSequenceName} 2>${EncoderLogFile}220 -drec 2 ${aRecYUVFileList[2]} -drec 3 ${aRecYUVFileList[3]} \
221 -org ${TestSequencePath}/${TestSequenceName} 2>${EncoderLogFile}
222 if [ $? -eq 0 ]
223 then
224 let "EncoderFlag=0"
225 else
226 let "EncoderFlag=1"
227 fi
228
229 #delete the core down file as core down files for disk space limitation
230 for file in ./core*
231 do
232 if [ -e ${file} ]
233 then
234 ./run_SafeDelete.sh ${file}
235 fi
236 done
237 return 0
230}238}
231#usage? runGetFileSize $FileName239#usage? runGetFileSize $FileName
232runGetFileSize()240runGetFileSize()
@@ -251,15 +259,31 @@ runBitStreamVerify() · 18 unmodified lines
251 echo "******************************************"259 echo "******************************************"
252 echo "Bit streamSHA1 value comparison.... "260 echo "Bit streamSHA1 value comparison.... "
253 #*******************************************261 #*******************************************
262 TargetSHA1="NULL"
263 TargetMD5="NULL"
264 TargetYUVSize="NULL"
265 TargetBitstreamSize="NULL"
266
267 if [ ${EncoderFlag} -eq 1 ]
268 then
269 let "UnpassCaseNum++"
270 echo "1:unpassed! encoder initial failed or crash!"
271 DiffFlag="1:unpassed! encoder initial failed or crash!"
272 return 1
273 fi
274
254 if [ ! -s ${BitStreamFile} ]275 if [ ! -s ${BitStreamFile} ]
255 then276 then
256 let "UnpassCaseNum++"277 let "UnpassCaseNum++"
278 echo "2:unpassed! 0 bits--bit stream"
257 DiffFlag="2:unpassed! 0 bits--bit stream"279 DiffFlag="2:unpassed! 0 bits--bit stream"
258 return 1280 return 1
259 fi281 fi
260 #*******************************************282 #*******************************************
261 #*******************************************283 #*******************************************
262 #SHA1(run_Test.sh)= fde74d9e8194d0cf28991a0481c7158a033ec920284 echo ""
285 echo "${BitStreamFile}"
286 #SHA1
263 TargetSHA1=`openssl sha1 ${BitStreamFile}`287 TargetSHA1=`openssl sha1 ${BitStreamFile}`
264 TargetSHA1=`echo ${TargetSHA1} | awk '{print $2}' `288 TargetSHA1=`echo ${TargetSHA1} | awk '{print $2}' `
265 TargetMD5=`openssl md5 ${BitStreamFile}`289 TargetMD5=`openssl md5 ${BitStreamFile}`
@@ -268,19 +292,19 @@ runBitStreamVerify() · 2 unmodified lines
268 TargetBitstreamSize=`runGetFileSize ${BitStreamFile}`292 TargetBitstreamSize=`runGetFileSize ${BitStreamFile}`
269 if [[ "${TargetSHA1}" =~ "${BenchmarkSHA1}" ]]293 if [[ "${TargetSHA1}" =~ "${BenchmarkSHA1}" ]]
270 then294 then
271 echo "bitstream pass! SHA1--${TargetSHA1} ----- ${BenchmarkSHA1}"295 echo "bitstream pass! SHA1--${TargetSHA1} ----- ${BenchmarkSHA1}"
272 echo "bitstream pass! MD5-- ${TargetMD5} ----- ${BenchmarkMD5}"296 echo "MD5 info: MD5--${TargetMD5} ----- ${BenchmarkMD5}"
273 echo "YUV size pass! size--${TargetYUVSize}--${BenchmarkYUVSize} "297 echo "YUV size info: size--${TargetYUVSize} ---- ${BenchmarkYUVSize} "
274 echo "BitStreamSize pass! size--${TargetBitstreamSize}--${BenchmarkBitstreamSize}"298 echo "BitStreamSize info: size--${TargetBitstreamSize} ---- ${BenchmarkBitstreamSize}"
275 DiffFlag="0:passed!"299 DiffFlag="0:passed!"
276 let "PassCaseNum++"300 let "PassCaseNum++"
277 return 0301 return 0
278 else302 else
279 echo "!!! SHA1 string not match: ${TargetSHA1} ----- ${BenchmarkSHA1} "303 echo "!!! SHA1 string not match: ${TargetSHA1} ----- ${BenchmarkSHA1} "
280 echo "bitstream pass! MD5-- ${TargetMD5} ----- ${BenchmarkMD5}"304 echo "MD5 info: MD5--${TargetMD5} ----- ${BenchmarkMD5}"
281 echo "YUV size pass! size--${TargetYUVSize}--${BenchmarkYUVSize} "305 echo "YUV size info: size--${TargetYUVSize} ---- ${BenchmarkYUVSize} "
282 echo "BitStreamSize pass! size--${TargetBitstreamSize}--${BenchmarkBitstreamSize}"306 echo "BitStreamSize info: size--${TargetBitstreamSize} ---- ${BenchmarkBitstreamSize}"
283 DiffFlag="1:unpassed!"307 DiffFlag="3:unpassed!"
284 let "UnpassCaseNum++"308 let "UnpassCaseNum++"
285 return 1309 return 1
286 fi310 fi
@@ -297,13 +321,16 @@ runSingleCasePostAction() · 10 unmodified lines
297 fi321 fi
298 local CaseData=$@322 local CaseData=$@
299 CaseInfo=`echo $CaseData | awk 'BEGIN {FS="[,\r]"} {for(i=5;i<=NF;i++) printf(" %s,",$i)} '`323 CaseInfo=`echo $CaseData | awk 'BEGIN {FS="[,\r]"} {for(i=5;i<=NF;i++) printf(" %s,",$i)} '`
300 echo "${DiffFlag}, ${TargetSHA1}, ${BenchmarkSHA1}, {TargetMD5}, ${BenchmarkMD5}, \324 PassStatusInfo="${DiffFlag}, ${TargetSHA1}, ${BenchmarkSHA1}, ${TargetMD5}, ${BenchmarkMD5},\
301 ${TargetBitstreamSize} , ${BenchmarkBitstreamSize},\325 ${TargetBitstreamSize}, ${BenchmarkBitstreamSize}, ${TargetYUVSize}, ${BenchmarkYUVSize},\
302 ${TargetYUVSize}, ${BenchmarkYUVSize},\326 ${CaseInfo}, ${EncoderCommand} "
303 ${CaseInfo}, ${EncoderCommand} " >>${AllCasePassStatusFile}327 echo "${PassStatusInfo}">>${AllCasePassStatusFile}
304 328 if [ "$DiffFlag" = "0:passed!" ]
305 echo "${TargetSHA1}, ${TargetMD5},${TargetBitstreamSize}, ${TargetYUVSize},${CaseInfo}">>${UpdateSHA1TableFile}329 then
306 330 echo "${TargetSHA1}, ${TargetMD5},${TargetBitstreamSize}, ${TargetYUVSize},${CaseInfo}">>${UpdateSHA1TableFile}
331 else
332 echo "${PassStatusInfo}">>${UnpassCaseFile}
333 fi
307 ./run_SafeDelete.sh ${BitstreamTarget} >>${AllCaseConsoleLogFile}334 ./run_SafeDelete.sh ${BitstreamTarget} >>${AllCaseConsoleLogFile}
308}335}
309#usage runOutputPassNum336#usage runOutputPassNum
@@ -343,23 +370,19 @@ runAllCaseTest() · 33 unmodified lines
343 then370 then
344 if [ "$DiffFlag" = "0:passed!" ]371 if [ "$DiffFlag" = "0:passed!" ]
345 then372 then
346 echo -e "\033[32m OK! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1} ----- ${BenchmarkSHA1} \033[0m"373 echo -e "\033[32m OK! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1}-----${BenchmarkSHA1} \033[0m"
347 echo -e "\033[32m ----MD5 (Current--Benchmark): ${TargetMD5}, ${BenchmarkMD5} \033[0m"374 echo -e "\033[32m ----MD5 (Current--Benchmark): ${TargetMD5}-----${BenchmarkMD5} \033[0m"
348 echo -e "\033[32m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m"375 echo -e "\033[32m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m"
349 fi376 fi
350 fi377 fi
351 #******************************************378 #******************************************
352 if [ ! "$DiffFlag" = "0:passed!" ]379 if [ ! "$DiffFlag" = "0:passed!" ]
353 then380 then
354 echo -e "\033[31m Failed! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1} ----- ${BenchmarkSHA1} \033[0m"381 echo -e "\033[31m Failed! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1}-----${BenchmarkSHA1} \033[0m"
355 echo -e "\033[31m ----MD5 (Current--Benchmark): ${TargetMD5}, ${BenchmarkMD5} \033[0m"382 echo -e "\033[31m ----MD5 (Current--Benchmark): ${TargetMD5}-----${BenchmarkMD5} \033[0m"
356 echo -e "\033[31m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m"383 echo -e "\033[31m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m"
357 EncoderLogInfo=`cat ${EncoderLogFile}`384 EncoderLogInfo=`cat ${EncoderLogFile}`
358 echo -e "\033[31m ${EncoderLogInfo} \033[0m"385 echo -e "\033[31m ${EncoderLogInfo} \033[0m"
359 echo "${DiffFlag}, ${TargetSHA1}, ${BenchmarkSHA1}, ${TargetMD5}, ${BenchmarkMD5}, \
360 ${TargetBitstreamSize} , ${BenchmarkBitstreamSize}, \
361 ${TargetYUVSize}, ${BenchmarkYUVSize}, \
362 ${CaseInfo}, ${EncoderCommand} ">>${UnpassCaseFile}
363 fi386 fi
364 runSingleCasePostAction ${CaseData}387 runSingleCasePostAction ${CaseData}
365 let "TotalCaseNum++"388 let "TotalCaseNum++"
test/encoder_binary_comparison/Scripts/run_BitStreamToYUV.sh+3−16
@@ -53,9 +53,8 @@ run_BitStream2YUV() · 52 unmodified lines
53 return 153 return 1
54 fi54 fi
55 local BitStreamName=$155 local BitStreamName=$1
56 local OutputYUVNAMe=$256 local OutputYUVName=$2
57 local LogFile=$357 local LogFile=$3
58
59 if [ ! -f ${BitStreamName} ]58 if [ ! -f ${BitStreamName} ]
60 then59 then
61 echo "bit stream file does not exist!"60 echo "bit stream file does not exist!"
@@ -63,8 +62,7 @@ run_BitStream2YUV() · 1 unmodified line
63 return 162 return 1
64 fi63 fi
65 #decode bitstream64 #decode bitstream
66 ./h264dec ${BitStreamName} ${OutputYUVNAMe} 2> ${LogFile}65 ./h264dec ${BitStreamName} ${OutputYUVName} 2> ${LogFile}
67
68 return 066 return 0
69}67}
70#usage: run_RegularizeYUVName $BitstreamName $OutputYUVName $LogFile68#usage: run_RegularizeYUVName $BitstreamName $OutputYUVName $LogFile
@@ -79,18 +77,14 @@ run_RegularizeYUVName() · 8 unmodified lines
79 local OrignName=$277 local OrignName=$2
80 local LogFile=$378 local LogFile=$3
81 local RegularizedYUVName=""79 local RegularizedYUVName=""
82
83 declare -a aDecodedYUVInfo80 declare -a aDecodedYUVInfo
84
85 aDecodedYUVInfo=(`run_ParseDecoderLog ${LogFile}`)81 aDecodedYUVInfo=(`run_ParseDecoderLog ${LogFile}`)
86
87 BitStreamName=`echo ${BitStreamName} | awk 'BEGIN {FS="/"} {print $NF}'`82 BitStreamName=`echo ${BitStreamName} | awk 'BEGIN {FS="/"} {print $NF}'`
88 RegularizedYUVName="${BitStreamName}_${aDecodedYUVInfo[0]}x${aDecodedYUVInfo[1]}.yuv"83 RegularizedYUVName="${BitStreamName}_${aDecodedYUVInfo[0]}x${aDecodedYUVInfo[1]}.yuv"
89 mv -f ${OrignName} ${RegularizedYUVName}84 mv -f ${OrignName} ${RegularizedYUVName}
90 echo ""85 echo ""
91 echo "file : ${OrignName} has been renamed as :${RegularizedYUVName}"86 echo "file : ${OrignName} has been renamed as :${RegularizedYUVName}"
92 echo ""87 echo ""
93
94 return 088 return 0
95}89}
96#usage: runMain ${BitStreamName}90#usage: runMain ${BitStreamName}
@@ -98,16 +92,14 @@ runMain() · 1 unmodified line
98{92{
99 if [ ! $# -eq 1 ]93 if [ ! $# -eq 1 ]
100 then94 then
101 echo "usage: runMain ${BitStreamName} "95 echo "usage: runMain \${BitStreamName} "
102 return 196 return 1
103 fi97 fi
104
105 local BitStreameFile=$198 local BitStreameFile=$1
106 local BitSteamName=`echo ${BitStreameFile} | awk 'BEGIN {FS="/"} {print $NF}'`99 local BitSteamName=`echo ${BitStreameFile} | awk 'BEGIN {FS="/"} {print $NF}'`
107 local DecoderLogFile="${BitSteamName}_h264dec.log"100 local DecoderLogFile="${BitSteamName}_h264dec.log"
108 local DecodedYUVName="${BitSteamName}_dec.yuv"101 local DecodedYUVName="${BitSteamName}_dec.yuv"
109 local RegularizedName=""102 local RegularizedName=""
110
111 #**********************103 #**********************
112 #decoded test bit stream104 #decoded test bit stream
113 run_BitStream2YUV ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile}105 run_BitStream2YUV ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile}
@@ -116,16 +108,11 @@ runMain() · 2 unmodified lines
116 echo "bit stream decoded failed!"108 echo "bit stream decoded failed!"
117 return 1109 return 1
118 fi110 fi
119
120
121 #*********************111 #*********************
122 #regularized YUV name112 #regularized YUV name
123 run_RegularizeYUVName ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile}113 run_RegularizeYUVName ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile}
124
125 return 0114 return 0
126}115}
127BitStreamFile=$1116BitStreamFile=$1
128runMain ${BitStreamFile}117runMain ${BitStreamFile}
129 118
130
131

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t