67 lines
3.3 KiB
Plaintext
67 lines
3.3 KiB
Plaintext
|
|
about
|
|
#*******************************************************************************
|
|
1.This file is about how to run encoder binary comparison test.
|
|
Binary comparison is the comparison between target encoder and benchmark encoder.
|
|
|
|
2.As SHA1 string is unique for bit stream file. so in current test, we only compare
|
|
the SHA1 string of bit stream. If the SHA1 string of target bit stream is the same
|
|
with benchmark's, the related test case can be verified as pass status.
|
|
|
|
3.SHA1 table files for each test bit stream are pre-generated.
|
|
For how to update SHA1 tables, please go to below part "how to update SHA1 table"
|
|
|
|
4.SHA1 tables can be found in folder ./SHA1Table/
|
|
|
|
5.Test bit streams are those xxx.264 files in folder openh264/res/
|
|
--If you want to change the test bit stream on travis test,
|
|
please go to part "for travis test"
|
|
--If you want to run test locally, please to go part "for local test"
|
|
|
|
|
|
how to update SHA1 table
|
|
#*******************************************************************************
|
|
If there is something change in bit stream due to your encoder design;
|
|
you need to update the SHA1 tables in ./SHA1Table.As the SHA1 string is unique, once the
|
|
bit stream change, the SHA1 string will also change.
|
|
|
|
If you want to update SHA1 table files in ./SHA1Tabel, please run below command under
|
|
openh264/test/encoder_binary_test,
|
|
./run_Main.sh UpdateSHA1Table
|
|
|
|
for travis test
|
|
#*******************************************************************************
|
|
Currently, travis only allow 5 jobs on parallel status, and 2 jobs are for
|
|
unit test with g++ and clang compiler. So there will be only 3 jobs left for encoder
|
|
binary comparison test, which means that 3 of 27 bit stream in ./res folder are chosen for test.
|
|
|
|
Actually, you can use all of test bit streams in ./res folder, but it will take
|
|
a long time to wait for the test result. So we do not suggest to do so.
|
|
If you want to test all cases for all test bit steams in ./res,you need to generate related
|
|
SHA1 table files before you add those bit streams into below setting.
|
|
|
|
To change the test bit steam in travis, you can edit file .travis.yml.
|
|
For example,if you want to add CVPCMNL1_SVA_C.264 as test bit stream, you can add on line and
|
|
change the TestParameter value to CVPCMNL1_SVA_C.264
|
|
- TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
|
|
|
|
Below is the example for adding CVPCMNL1_SVA_C.264 into test list.
|
|
****************************************************************************************
|
|
env:
|
|
- TASK=UnitTest; TestParameter=""
|
|
- TASK=BinaryCompare; TestParameter=BA_MW_D.264;
|
|
- TASK=BinaryCompare; TestParameter=MR2_MW_A.264;
|
|
- TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
|
|
****************************************************************************************
|
|
|
|
for local test
|
|
#*******************************************************************************
|
|
If you want to run the test locally,you can run below command:
|
|
./run_Main.sh LocalTest
|
|
|
|
All SHA1 tables in ./SHA1Table/ folder will be tested.
|
|
And the final result can be found in folder ./FinalResult, which include:
|
|
--console log for each test bit stream (XXXX.TestLog)
|
|
--pass status for each case each bit stream (xxx_AllCaseOutput.csv)
|
|
--pass status for each case each bit stream (xxx_unpassCaseOutput.csv)
|