The AvcEncoder Test Suite validates the Avc encoder.
Clone libavc repository
$ git clone https://android.googlesource.com/platform/external/libavc
Create a directory inside libavc and change directory
$ cd libavc $ mkdir build $ cd build
Build with -DENABLE_TESTS=1.
$ cmake .. -DENABLE_TESTS=1 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_BUILD_TYPE=Debug $ make
Optionally, enable sanitizers by passing -DSANITIZE
$ cmake .. -DENABLE_TESTS=1 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_BUILD_TYPE=Debug -DSANITIZE=fuzzer-no-link,address,\ signed-integer-overflow,unsigned-integer-overflow $ make
The media files for the tests are present at. Download and extract these the current folder.
usage: AvcEncTest -P <path_to_the local folder>
$./AvcEncTest -P ./
Run the following steps to build the test suite:
m AvcEncTest
To test 64-bit binary push binaries from nativetest64.
adb push ${OUT}/data/nativetest64/AvcEncTest/AvcEncTest /data/local/tmp/
To test 32-bit binary push binaries from nativetest.
adb push ${OUT}/data/nativetest/AvcEncTest/AvcEncTest /data/local/tmp/
The resource file for the tests is taken from here
Download, unzip and push these files into device for testing.
adb push AvcTestRes-1.0 /sdcard/test/
usage: AvcEncTest -P <path_to_folder>
adb shell /data/local/tmp/AvcEncTest -P /sdcard/test/AvcTestRes-1.0/
Alternatively, the test can also be run using atest command.
atest AvcEncTest