Showing the changes to test/encoder_binary_comparison/Scripts (2 of 12 files). Show all
Unified · Split
| @@ -5,8 +5,7 @@ · 4 unmodified lines | ||
| 5 | 5 | # -- Test bit stream under folder openh264/res |
| 6 | 6 | # -- SHA-1 string of Benchmark version for all cases of all bit streams |
| 7 | 7 | # under folder openh264/test/encoder_binary_comparion/SHA1Table |
| 8 | −# -- For more detail,please refer to file AboutTest¡£ | |
| 9 | −# | |
| 8 | +# -- For more detail,please refer to file AboutTest?¡ê | |
| 10 | 9 | #brief: |
| 11 | 10 | # -- Test all cases in SHA1TableFile |
| 12 | 11 | # 1) Generate SHA1 string for each case |
| @@ -38,10 +37,12 @@ runGlobalVariableDef() · 25 unmodified lines | ||
| 38 | 37 | #xxx.csv |
| 39 | 38 | AllCasePassStatusFile="" |
| 40 | 39 | #for encoder command |
| 41 | − declare -a EncoderCommandSet | |
| 42 | − declare -a EncoderCommandName | |
| 43 | − declare -a EncoderCommandValue | |
| 40 | + declare -a aEncoderCommandSet | |
| 41 | + declare -a aEncoderCommandName | |
| 42 | + declare -a aEncoderCommandValue | |
| 43 | + declare -a aRecYUVFileList | |
| 44 | 44 | #encoder parameters change based on the case info |
| 45 | + let "EncoderFlag = 0" | |
| 45 | 46 | CaseInfo="" |
| 46 | 47 | BitStreamFile="" |
| 47 | 48 | DiffFlag="" |
| @@ -54,42 +55,32 @@ runGlobalVariableDef() · 6 unmodified lines | ||
| 54 | 55 | #usage runEncoderCommandInital |
| 55 | 56 | runEncoderCommandInital() |
| 56 | 57 | { |
| 57 | − EncoderCommandSet=(-frms \ | |
| 58 | − -numtl \ | |
| 59 | − -scrsig \ | |
| 60 | − -rc \ | |
| 61 | − -tarb \ | |
| 62 | − "-lqp 0" \ | |
| 63 | − -iper \ | |
| 64 | − "-slcmd 0" \ | |
| 65 | − "-slcnum 0" \ | |
| 66 | − -thread \ | |
| 67 | − -ltr \ | |
| 68 | − -db \ | |
| 69 | − -nalsize \ | |
| 70 | − -denois \ | |
| 71 | − -scene \ | |
| 72 | − -bgd \ | |
| 73 | − -aq) | |
| 74 | − EncoderCommandName=(FrEcoded \ | |
| 75 | − NumTempLayer \ | |
| 76 | − ContentSig \ | |
| 77 | − RC \ | |
| 78 | − BitRate \ | |
| 79 | − QP \ | |
| 80 | − IntraPeriod \ | |
| 81 | − SlcMd \ | |
| 82 | − SlcMum \ | |
| 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[@]} | |
| 58 | + aEncoderCommandSet=( -utype -frms -numl -numtl \ | |
| 59 | + -sw -sh "-dw 0" "-dh 0" "-dw 1" "-dh 1" "-dw 2" "-dh 2" "-dw 3" "-dh 3" \ | |
| 60 | + "-frout 0" "-frout 1" "-frout 2" "-frout 3" \ | |
| 61 | + "-lqp 0" "-lqp 1" "-lqp 2" "-lqp 3" \ | |
| 62 | + -rc -tarb "-ltarb 0" "-ltarb 1" "-ltarb 2" "-ltarb 3" \ | |
| 63 | + "-slcmd 0" "-slcnum 0" "-slcmd 1" "-slcnum 1"\ | |
| 64 | + "-slcmd 2" "-slcnum 2" "-slcmd 3" "-slcnum 3"\ | |
| 65 | + -nalsize \ | |
| 66 | + -iper -thread -ltr \ | |
| 67 | + -db -denois -scene -bgd -aq ) | |
| 68 | + aEncoderCommandName=(usagetype frms numl numtl \ | |
| 69 | + sw sh dw0 dh0 dw1 dh1 dw2 dh2 dw3 dh3 \ | |
| 70 | + frout0 frout1 frout2 frout3 \ | |
| 71 | + lqp0 lqp1 lqp2 lqp3 \ | |
| 72 | + rc tarb ltarb0 ltarb1 ltarb2 ltarb3 \ | |
| 73 | + slcmd0 slcnum0 slcmd1 slcnum1 \ | |
| 74 | + slcmd2 slcnum2 slcmd3 slcnum3 \ | |
| 75 | + MaxNalSZ \ | |
| 76 | + iper thread ltr \ | |
| 77 | + db denois scene bgd aq ) | |
| 78 | + NumParameter=${#aEncoderCommandSet[@]} | |
| 79 | + for ((i=0;i<NumParameter; i++)) | |
| 80 | + do | |
| 81 | + aEncoderCommandValue[$i]=0 | |
| 82 | + done | |
| 83 | + | |
| 93 | 84 | } |
| 94 | 85 | runGlobalVariableInitial() |
| 95 | 86 | { |
| @@ -110,35 +101,33 @@ runGlobalVariableInitial() · 14 unmodified lines | ||
| 110 | 101 | AllCasePassStatusFile="${FinalResultPath}/${TestSequenceName}_AllCaseOutput.csv" |
| 111 | 102 | UnpassCaseFile="${FinalResultPath}/${TestSequenceName}_unpassCaseOutput.csv" |
| 112 | 103 | UpdateSHA1TableFile="${FinalResultPath}/${TestSequenceName}_UpdateSHA1Table.csv" |
| 113 | − echo "BitMatched Status, \ | |
| 114 | − SHA-1-Target, SHA-1-Benchmark, \ | |
| 115 | − MD5-Target, MD5-Benchmark, \ | |
| 116 | − Bitstream-Target,Bitstream-Benchmark, \ | |
| 117 | − YUV-Target,YUV-Benchmark, \ | |
| 118 | − -frms, -numtl, -scrsig, -rc, \ | |
| 119 | − -tarb, -lqp 0, -iper, \ | |
| 120 | − -slcmd 0,-slcnum 0, -thread, \ | |
| 121 | − -ltr, -db, -nalsize,-denois, \ | |
| 122 | − -scene, -bgd, -aq">${AllCasePassStatusFile} | |
| 123 | − | |
| 124 | − echo "BitMatched Status, \ | |
| 125 | − SHA-1-Target, SHA-1-Benchmark, \ | |
| 126 | − MD5-Target, MD5-Benchmark, \ | |
| 127 | − Bitstream-Target,Bitstream-Benchmark,\ | |
| 128 | − YUV-Target,YUV-Benchmark, \ | |
| 129 | − -frms, -numtl, -scrsig, -rc, \ | |
| 130 | − -tarb, -lqp 0, -iper, \ | |
| 131 | − -slcmd 0,-slcnum 0, -thread, \ | |
| 132 | − -ltr, -db, -nalsize,-denois, \ | |
| 133 | − -scene, -bgd, -aq">${UnpassCaseFile} | |
| 104 | + HeadLine1="BitMatched Status, SHA-1-Target, SHA-1-Benchmark, MD5-Target, MD5-Benchmark,\ | |
| 105 | + Bitstream-Target,Bitstream-Benchmark,YUV-Target,YUV-Benchmark,\ | |
| 106 | + -utype, -frms, -numl, -numtl, -sw, -sh,\ | |
| 107 | + -dw 0, -dh 0, -dw 1, -dh 1, -dw 2, -dh 2, -dw 3, -dh 3,\ | |
| 108 | + -frout 0, -frout 1, -frout 2, -frout 3,\ | |
| 109 | + -lqp 0, -lqp 1, -lqp 2, -lqp 3,\ | |
| 110 | + -rc, -tarb, -ltarb 0, -ltarb 1, -ltarb 2, -ltarb 3,\ | |
| 111 | + -slcmd 0, -slcnum 0, -slcmd 1, -slcnum 1,\ | |
| 112 | + -slcmd 2, -slcnum 2, -slcmd 3, -slcnum 3,\ | |
| 113 | + -nalsize,\ | |
| 114 | + -iper, -thread, -ltr, -db, -denois,\ | |
| 115 | + -scene, -bgd , -aq, " | |
| 116 | + HeadLine2="SHA-1 Value, MD5String, BitStreamSize, YUVSize, \ | |
| 117 | + -utype, -frms, -numl, -numtl, -sw, -sh,\ | |
| 118 | + -dw 0, -dh 0, -dw 1, -dh 1,-dw 2, -dh 2, -dw 3, -dh 3,\ | |
| 119 | + -frout 0, -frout 1, -frout 2, -frout 3,\ | |
| 120 | + -lqp 0, -lqp 1, -lqp 2, -lqp 3,\ | |
| 121 | + -rc, -tarb, -ltarb 0, -ltarb 1, -ltarb 2, -ltarb 3,\ | |
| 122 | + -slcmd 0, -slcnum 0, -slcmd 1, -slcnum 1,\ | |
| 123 | + -slcmd 2, -slcnum 2, -slcmd 3, -slcnum 3,\ | |
| 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 | 131 | #intial Commandline parameters |
| 143 | 132 | runEncoderCommandInital |
| 144 | 133 | let "TotalCaseNum=0" |
| @@ -163,70 +152,89 @@ runParseCaseInfo() · 18 unmodified lines | ||
| 163 | 152 | { |
| 164 | 153 | if [ $# -lt 1 ] |
| 165 | 154 | then |
| 166 | − echo "runParseCaseInfo \$CaseData" | |
| 167 | − return 1 | |
| 155 | + echo "no parameter!" | |
| 156 | + return 1 | |
| 168 | 157 | fi |
| 169 | − local TempData="" | |
| 170 | − local BitstreamPrefix="" | |
| 158 | + local TempData="" | |
| 171 | 159 | local CaseData=$@ |
| 160 | + local BitstreamPrefix="" | |
| 172 | 161 | BenchmarkSHA1=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $1} ' ` |
| 173 | 162 | BenchmarkMD5=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $2} ' ` |
| 174 | 163 | BenchmarkYUVSize=`echo $CaseData |awk 'BEGIN {FS="[,\r]"} {print $4} ' ` |
| 175 | 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 | 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 | 170 | for((i=0; i<$NumParameter; i++)) |
| 179 | 171 | 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 | 184 | done |
| 185 | + | |
| 182 | 186 | BitstreamTarget=${TempDataPath}/${TestSequenceName}_${BitstreamPrefix}_codec_target.264 |
| 183 | 187 | echo "" |
| 184 | 188 | echo "BitstreamPrefix is ${BitstreamPrefix}" |
| 185 | 189 | echo "" |
| 186 | 190 | } |
| 187 | −#called by runAllCaseTest | |
| 188 | −#usage runEncodeOneCase | |
| 189 | 191 | runEncodeOneCase() |
| 190 | 192 | { |
| 191 | − BitStreamFile=${BitstreamTarget} | |
| 192 | − CaseCommand=" ${ConfigureFile} \ | |
| 193 | − -numl 1 \ | |
| 194 | − -lconfig 0 layer2.cfg \ | |
| 195 | − -sw ${PicW} -sh ${PicH} \ | |
| 196 | − -dw 0 ${PicW} -dh 0 ${PicH} \ | |
| 197 | − -frout 0 30 \ | |
| 198 | − -ltarb 0 ${EncoderCommandValue[4]} \ | |
| 199 | − ${EncoderCommandSet[0]} ${EncoderCommandValue[0]} \ | |
| 200 | − ${EncoderCommandSet[1]} ${EncoderCommandValue[1]} \ | |
| 201 | − ${EncoderCommandSet[2]} ${EncoderCommandValue[2]} \ | |
| 202 | − ${EncoderCommandSet[3]} ${EncoderCommandValue[3]} \ | |
| 203 | − ${EncoderCommandSet[4]} ${EncoderCommandValue[4]} \ | |
| 204 | − ${EncoderCommandSet[5]} ${EncoderCommandValue[5]} \ | |
| 205 | − ${EncoderCommandSet[6]} ${EncoderCommandValue[6]} \ | |
| 206 | − ${EncoderCommandSet[7]} ${EncoderCommandValue[7]} \ | |
| 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} " | |
| 193 | + local ParamCommand="" | |
| 194 | + BitStreamFile=${BitstreamTarget} | |
| 195 | + | |
| 196 | + for ((i=4; i<${NumParameter}; i++)) | |
| 197 | + do | |
| 198 | + ParamCommand="${ParamCommand} ${aEncoderCommandSet[$i]} ${aEncoderCommandValue[$i]} " | |
| 199 | + done | |
| 200 | + for((i=0;i<4;i++)) | |
| 201 | + do | |
| 202 | + aRecYUVFileList[$i]="${TempDataPath}/${TestYUVName}_rec${i}.yuv" | |
| 203 | + done | |
| 204 | + ParamCommand="${aEncoderCommandSet[0]} ${aEncoderCommandValue[0]} ${aEncoderCommandSet[1]} ${aEncoderCommandValue[1]} \ | |
| 205 | + ${aEncoderCommandSet[2]} ${aEncoderCommandValue[2]} \ | |
| 206 | + -lconfig 0 layer0.cfg -lconfig 1 layer1.cfg -lconfig 2 layer2.cfg -lconfig 3 layer3.cfg \ | |
| 207 | + ${aEncoderCommandSet[3]} ${aEncoderCommandValue[3]} \ | |
| 208 | + ${ParamCommand}" | |
| 223 | 209 | echo "" |
| 210 | + echo "---------------Encode One Case-------------------------------------------" | |
| 224 | 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 | 217 | echo -e "\n\n" |
| 227 | − ./h264enc ${CaseCommand} \ | |
| 228 | − -bf ${BitStreamFile} \ | |
| 229 | − -org ${TestSequencePath}/${TestSequenceName} 2>${EncoderLogFile} | |
| 218 | + ./h264enc welsenc.cfg ${ParamCommand} -bf ${BitStreamFile} \ | |
| 219 | + -drec 0 ${aRecYUVFileList[0]} -drec 1 ${aRecYUVFileList[1]} \ | |
| 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 | 239 | #usage? runGetFileSize $FileName |
| 232 | 240 | runGetFileSize() |
| @@ -251,15 +259,31 @@ runBitStreamVerify() · 18 unmodified lines | ||
| 251 | 259 | echo "******************************************" |
| 252 | 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 | 275 | if [ ! -s ${BitStreamFile} ] |
| 255 | 276 | then |
| 256 | 277 | let "UnpassCaseNum++" |
| 278 | + echo "2:unpassed! 0 bits--bit stream" | |
| 257 | 279 | DiffFlag="2:unpassed! 0 bits--bit stream" |
| 258 | 280 | return 1 |
| 259 | 281 | fi |
| 260 | 282 | #******************************************* |
| 261 | 283 | #******************************************* |
| 262 | − #SHA1(run_Test.sh)= fde74d9e8194d0cf28991a0481c7158a033ec920 | |
| 284 | + echo "" | |
| 285 | + echo "${BitStreamFile}" | |
| 286 | + #SHA1 | |
| 263 | 287 | TargetSHA1=`openssl sha1 ${BitStreamFile}` |
| 264 | 288 | TargetSHA1=`echo ${TargetSHA1} | awk '{print $2}' ` |
| 265 | 289 | TargetMD5=`openssl md5 ${BitStreamFile}` |
| @@ -268,19 +292,19 @@ runBitStreamVerify() · 2 unmodified lines | ||
| 268 | 292 | TargetBitstreamSize=`runGetFileSize ${BitStreamFile}` |
| 269 | 293 | if [[ "${TargetSHA1}" =~ "${BenchmarkSHA1}" ]] |
| 270 | 294 | then |
| 271 | − echo "bitstream pass! SHA1--${TargetSHA1} ----- ${BenchmarkSHA1}" | |
| 272 | − echo "bitstream pass! MD5-- ${TargetMD5} ----- ${BenchmarkMD5}" | |
| 273 | − echo "YUV size pass! size--${TargetYUVSize}--${BenchmarkYUVSize} " | |
| 274 | − echo "BitStreamSize pass! size--${TargetBitstreamSize}--${BenchmarkBitstreamSize}" | |
| 295 | + echo "bitstream pass! SHA1--${TargetSHA1} ----- ${BenchmarkSHA1}" | |
| 296 | + echo "MD5 info: MD5--${TargetMD5} ----- ${BenchmarkMD5}" | |
| 297 | + echo "YUV size info: size--${TargetYUVSize} ---- ${BenchmarkYUVSize} " | |
| 298 | + echo "BitStreamSize info: size--${TargetBitstreamSize} ---- ${BenchmarkBitstreamSize}" | |
| 275 | 299 | DiffFlag="0:passed!" |
| 276 | 300 | let "PassCaseNum++" |
| 277 | 301 | return 0 |
| 278 | 302 | else |
| 279 | 303 | echo "!!! SHA1 string not match: ${TargetSHA1} ----- ${BenchmarkSHA1} " |
| 280 | − echo "bitstream pass! MD5-- ${TargetMD5} ----- ${BenchmarkMD5}" | |
| 281 | − echo "YUV size pass! size--${TargetYUVSize}--${BenchmarkYUVSize} " | |
| 282 | − echo "BitStreamSize pass! size--${TargetBitstreamSize}--${BenchmarkBitstreamSize}" | |
| 283 | − DiffFlag="1:unpassed!" | |
| 304 | + echo "MD5 info: MD5--${TargetMD5} ----- ${BenchmarkMD5}" | |
| 305 | + echo "YUV size info: size--${TargetYUVSize} ---- ${BenchmarkYUVSize} " | |
| 306 | + echo "BitStreamSize info: size--${TargetBitstreamSize} ---- ${BenchmarkBitstreamSize}" | |
| 307 | + DiffFlag="3:unpassed!" | |
| 284 | 308 | let "UnpassCaseNum++" |
| 285 | 309 | return 1 |
| 286 | 310 | fi |
| @@ -297,13 +321,16 @@ runSingleCasePostAction() · 10 unmodified lines | ||
| 297 | 321 | fi |
| 298 | 322 | local CaseData=$@ |
| 299 | 323 | CaseInfo=`echo $CaseData | awk 'BEGIN {FS="[,\r]"} {for(i=5;i<=NF;i++) printf(" %s,",$i)} '` |
| 300 | − echo "${DiffFlag}, ${TargetSHA1}, ${BenchmarkSHA1}, {TargetMD5}, ${BenchmarkMD5}, \ | |
| 301 | − ${TargetBitstreamSize} , ${BenchmarkBitstreamSize},\ | |
| 302 | − ${TargetYUVSize}, ${BenchmarkYUVSize},\ | |
| 303 | − ${CaseInfo}, ${EncoderCommand} " >>${AllCasePassStatusFile} | |
| 304 | − | |
| 305 | − echo "${TargetSHA1}, ${TargetMD5},${TargetBitstreamSize}, ${TargetYUVSize},${CaseInfo}">>${UpdateSHA1TableFile} | |
| 306 | − | |
| 324 | + PassStatusInfo="${DiffFlag}, ${TargetSHA1}, ${BenchmarkSHA1}, ${TargetMD5}, ${BenchmarkMD5},\ | |
| 325 | + ${TargetBitstreamSize}, ${BenchmarkBitstreamSize}, ${TargetYUVSize}, ${BenchmarkYUVSize},\ | |
| 326 | + ${CaseInfo}, ${EncoderCommand} " | |
| 327 | + echo "${PassStatusInfo}">>${AllCasePassStatusFile} | |
| 328 | + if [ "$DiffFlag" = "0:passed!" ] | |
| 329 | + then | |
| 330 | + echo "${TargetSHA1}, ${TargetMD5},${TargetBitstreamSize}, ${TargetYUVSize},${CaseInfo}">>${UpdateSHA1TableFile} | |
| 331 | + else | |
| 332 | + echo "${PassStatusInfo}">>${UnpassCaseFile} | |
| 333 | + fi | |
| 307 | 334 | ./run_SafeDelete.sh ${BitstreamTarget} >>${AllCaseConsoleLogFile} |
| 308 | 335 | } |
| 309 | 336 | #usage runOutputPassNum |
| @@ -343,23 +370,19 @@ runAllCaseTest() · 33 unmodified lines | ||
| 343 | 370 | then |
| 344 | 371 | if [ "$DiffFlag" = "0:passed!" ] |
| 345 | 372 | then |
| 346 | − 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" | |
| 373 | + echo -e "\033[32m OK! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1}-----${BenchmarkSHA1} \033[0m" | |
| 374 | + echo -e "\033[32m ----MD5 (Current--Benchmark): ${TargetMD5}-----${BenchmarkMD5} \033[0m" | |
| 348 | 375 | echo -e "\033[32m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m" |
| 349 | 376 | fi |
| 350 | 377 | fi |
| 351 | 378 | #****************************************** |
| 352 | 379 | if [ ! "$DiffFlag" = "0:passed!" ] |
| 353 | 380 | then |
| 354 | − 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" | |
| 381 | + echo -e "\033[31m Failed! ${TestSequenceName} Case Index ${TotalCaseNum}:SHA-1(Current--Benchmark): ${TargetSHA1}-----${BenchmarkSHA1} \033[0m" | |
| 382 | + echo -e "\033[31m ----MD5 (Current--Benchmark): ${TargetMD5}-----${BenchmarkMD5} \033[0m" | |
| 356 | 383 | echo -e "\033[31m ----BitstreamSize: ${TargetBitstreamSize}, ${BenchmarkBitstreamSize} YUVSize: ${TargetYUVSize}, ${BenchmarkYUVSize} \033[0m" |
| 357 | 384 | EncoderLogInfo=`cat ${EncoderLogFile}` |
| 358 | 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 | 386 | fi |
| 364 | 387 | runSingleCasePostAction ${CaseData} |
| 365 | 388 | let "TotalCaseNum++" |
| @@ -53,9 +53,8 @@ run_BitStream2YUV() · 52 unmodified lines | ||
| 53 | 53 | return 1 |
| 54 | 54 | fi |
| 55 | 55 | local BitStreamName=$1 |
| 56 | − local OutputYUVNAMe=$2 | |
| 56 | + local OutputYUVName=$2 | |
| 57 | 57 | local LogFile=$3 |
| 58 | − | |
| 59 | 58 | if [ ! -f ${BitStreamName} ] |
| 60 | 59 | then |
| 61 | 60 | echo "bit stream file does not exist!" |
| @@ -63,8 +62,7 @@ run_BitStream2YUV() · 1 unmodified line | ||
| 63 | 62 | return 1 |
| 64 | 63 | fi |
| 65 | 64 | #decode bitstream |
| 66 | − ./h264dec ${BitStreamName} ${OutputYUVNAMe} 2> ${LogFile} | |
| 67 | − | |
| 65 | + ./h264dec ${BitStreamName} ${OutputYUVName} 2> ${LogFile} | |
| 68 | 66 | return 0 |
| 69 | 67 | } |
| 70 | 68 | #usage: run_RegularizeYUVName $BitstreamName $OutputYUVName $LogFile |
| @@ -79,18 +77,14 @@ run_RegularizeYUVName() · 8 unmodified lines | ||
| 79 | 77 | local OrignName=$2 |
| 80 | 78 | local LogFile=$3 |
| 81 | 79 | local RegularizedYUVName="" |
| 82 | − | |
| 83 | 80 | declare -a aDecodedYUVInfo |
| 84 | − | |
| 85 | 81 | aDecodedYUVInfo=(`run_ParseDecoderLog ${LogFile}`) |
| 86 | − | |
| 87 | 82 | BitStreamName=`echo ${BitStreamName} | awk 'BEGIN {FS="/"} {print $NF}'` |
| 88 | 83 | RegularizedYUVName="${BitStreamName}_${aDecodedYUVInfo[0]}x${aDecodedYUVInfo[1]}.yuv" |
| 89 | 84 | mv -f ${OrignName} ${RegularizedYUVName} |
| 90 | 85 | echo "" |
| 91 | 86 | echo "file : ${OrignName} has been renamed as :${RegularizedYUVName}" |
| 92 | 87 | echo "" |
| 93 | − | |
| 94 | 88 | return 0 |
| 95 | 89 | } |
| 96 | 90 | #usage: runMain ${BitStreamName} |
| @@ -98,16 +92,14 @@ runMain() · 1 unmodified line | ||
| 98 | 92 | { |
| 99 | 93 | if [ ! $# -eq 1 ] |
| 100 | 94 | then |
| 101 | − echo "usage: runMain ${BitStreamName} " | |
| 95 | + echo "usage: runMain \${BitStreamName} " | |
| 102 | 96 | return 1 |
| 103 | 97 | fi |
| 104 | − | |
| 105 | 98 | local BitStreameFile=$1 |
| 106 | 99 | local BitSteamName=`echo ${BitStreameFile} | awk 'BEGIN {FS="/"} {print $NF}'` |
| 107 | 100 | local DecoderLogFile="${BitSteamName}_h264dec.log" |
| 108 | 101 | local DecodedYUVName="${BitSteamName}_dec.yuv" |
| 109 | 102 | local RegularizedName="" |
| 110 | − | |
| 111 | 103 | #********************** |
| 112 | 104 | #decoded test bit stream |
| 113 | 105 | run_BitStream2YUV ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile} |
| @@ -116,16 +108,11 @@ runMain() · 2 unmodified lines | ||
| 116 | 108 | echo "bit stream decoded failed!" |
| 117 | 109 | return 1 |
| 118 | 110 | fi |
| 119 | − | |
| 120 | − | |
| 121 | 111 | #********************* |
| 122 | 112 | #regularized YUV name |
| 123 | 113 | run_RegularizeYUVName ${BitStreameFile} ${DecodedYUVName} ${DecoderLogFile} |
| 124 | − | |
| 125 | 114 | return 0 |
| 126 | 115 | } |
| 127 | 116 | BitStreamFile=$1 |
| 128 | 117 | runMain ${BitStreamFile} |
| 129 | 118 | |
| 130 | − | |
| 131 | − | |