1 2about 3#******************************************************************************* 4 1.This file is about how to run encoder binary comparison test. 5 Binary comparison is the comparison between target encoder and benchmark encoder. 6 7 2.As SHA1 string is unique for bit stream file. so in current test, we only compare 8 the SHA1 string of bit stream. If the SHA1 string of target bit stream is the same 9 with benchmark's, the related test case can be verified as pass status. 10 11 3.SHA1 table files for each test bit stream are pre-generated. 12 For how to update SHA1 tables, please go to below part "how to update SHA1 table" 13 14 4.SHA1 tables can be found in folder ./SHA1Table/ 15 16 5.Test bit streams are those xxx.264 files in folder openh264/res/ 17 --If you want to change the test bit stream on travis test, 18 please go to part "for travis test" 19 --If you want to run test locally, please to go part "for local test" 20 21 22how to update SHA1 table 23#******************************************************************************* 24 If there is something change in bit stream due to your encoder design; 25 you need to update the SHA1 tables in ./SHA1Table.As the SHA1 string is unique, once the 26 bit stream change, the SHA1 string will also change. 27 28 If you want to update SHA1 table files in ./SHA1Tabel, please run below command under 29 openh264/test/encoder_binary_test, 30 ./run_Main.sh UpdateSHA1Table 31 32for travis test 33#******************************************************************************* 34 Currently, travis only allow 5 jobs on parallel status, and 2 jobs are for 35 unit test with g++ and clang compiler. So there will be only 3 jobs left for encoder 36 binary comparison test, which means that 3 of 27 bit stream in ./res folder are chosen for test. 37 38 Actually, you can use all of test bit streams in ./res folder, but it will take 39 a long time to wait for the test result. So we do not suggest to do so. 40 If you want to test all cases for all test bit steams in ./res,you need to generate related 41 SHA1 table files before you add those bit streams into below setting. 42 43 To change the test bit steam in travis, you can edit file .travis.yml. 44 For example,if you want to add CVPCMNL1_SVA_C.264 as test bit stream, you can add on line and 45 change the TestParameter value to CVPCMNL1_SVA_C.264 46 - TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264; 47 48 Below is the example for adding CVPCMNL1_SVA_C.264 into test list. 49 **************************************************************************************** 50 env: 51 - TASK=UnitTest; TestParameter="" 52 - TASK=BinaryCompare; TestParameter=BA_MW_D.264; 53 - TASK=BinaryCompare; TestParameter=MR2_MW_A.264; 54 - TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264; 55 **************************************************************************************** 56 57for local test 58#******************************************************************************* 59 If you want to run the test locally,you can run below command: 60 ./run_Main.sh LocalTest 61 62 All SHA1 tables in ./SHA1Table/ folder will be tested. 63 And the final result can be found in folder ./FinalResult, which include: 64 --console log for each test bit stream (XXXX.TestLog) 65 --pass status for each case each bit stream (xxx_AllCaseOutput.csv) 66 --pass status for each case each bit stream (xxx_unpassCaseOutput.csv) 67