1*b7c941bbSAndroid Build Coastguard Worker## Media Performance Class CTS Tests 2*b7c941bbSAndroid Build Coastguard Worker 3*b7c941bbSAndroid Build Coastguard WorkerCurrent folder comprises of files necessary for testing media performance class. 4*b7c941bbSAndroid Build Coastguard Worker 5*b7c941bbSAndroid Build Coastguard WorkerThe test vectors used by the test suite is available at 6*b7c941bbSAndroid Build Coastguard Worker[link](https://dl.google.com/android/xts/cts/tests/mediapc/CtsMediaPerformanceClassTestCases-3.3.zip) 7*b7c941bbSAndroid Build Coastguard Workerand is downloaded automatically while running tests. Manual installation of 8*b7c941bbSAndroid Build Coastguard Workerthese can be done using copy_media.sh script in this directory. 9*b7c941bbSAndroid Build Coastguard Worker 10*b7c941bbSAndroid Build Coastguard Worker### Commands 11*b7c941bbSAndroid Build Coastguard Worker 12*b7c941bbSAndroid Build Coastguard Worker#### To run all tests in CtsMediaPerformanceClassTestCases 13*b7c941bbSAndroid Build Coastguard Worker 14*b7c941bbSAndroid Build Coastguard Worker```sh 15*b7c941bbSAndroid Build Coastguard Worker$ atest CtsMediaPerformanceClassTestCases 16*b7c941bbSAndroid Build Coastguard Worker``` 17*b7c941bbSAndroid Build Coastguard Worker 18*b7c941bbSAndroid Build Coastguard Worker#### To run a subset of tests in CtsMediaPerformanceClassTestCases 19*b7c941bbSAndroid Build Coastguard Worker 20*b7c941bbSAndroid Build Coastguard Worker```sh 21*b7c941bbSAndroid Build Coastguard Worker$ atest CtsMediaPerformanceClassTestCases:android.mediapc.cts.FrameDropTest 22*b7c941bbSAndroid Build Coastguard Worker``` 23*b7c941bbSAndroid Build Coastguard Worker 24*b7c941bbSAndroid Build Coastguard Worker#### To run all tests in CtsMediaPerformanceClassTestCases by overriding Build.VERSION.MEDIA_PERFORMANCE_CLASS 25*b7c941bbSAndroid Build Coastguard Worker 26*b7c941bbSAndroid Build Coastguard WorkerIn some cases it might be useful to override 27*b7c941bbSAndroid Build Coastguard WorkerBuild.VERSION.MEDIA_PERFORMANCE_CLASS and run the tests. For eg: when the device 28*b7c941bbSAndroid Build Coastguard Workerdoesn't advertise Build.VERSION.MEDIA_PERFORMANCE_CLASS, running the tests by 29*b7c941bbSAndroid Build Coastguard Workeroverriding this will help in determining the which performance class 30*b7c941bbSAndroid Build Coastguard Workerrequirements are met by the device. Following runs the tests by overriding 31*b7c941bbSAndroid Build Coastguard WorkerBuild.VERSION.MEDIA_PERFORMANCE_CLASS as S. 32*b7c941bbSAndroid Build Coastguard Worker 33*b7c941bbSAndroid Build Coastguard Worker```sh 34*b7c941bbSAndroid Build Coastguard Worker$ atest 35*b7c941bbSAndroid Build Coastguard WorkerCtsMediaPerformanceClassTestCases -- --module-arg 36*b7c941bbSAndroid Build Coastguard WorkerCtsMediaPerformanceClassTestCases:instrumentation-arg:media-performance-class:=31 37*b7c941bbSAndroid Build Coastguard Worker``` 38*b7c941bbSAndroid Build Coastguard Worker 39*b7c941bbSAndroid Build Coastguard Worker### Features 40*b7c941bbSAndroid Build Coastguard Worker 41*b7c941bbSAndroid Build Coastguard WorkerAll tests accepts attributes that offer selective run of tests. 42*b7c941bbSAndroid Build Coastguard Worker 43*b7c941bbSAndroid Build Coastguard Worker#### Select codecs by media type 44*b7c941bbSAndroid Build Coastguard Worker 45*b7c941bbSAndroid Build Coastguard WorkerTo select codecs by media type, *media-type-prefix* can be passed to media codec 46*b7c941bbSAndroid Build Coastguard Workertests to select one or more codecs that start with a given prefix. 47*b7c941bbSAndroid Build Coastguard Worker 48*b7c941bbSAndroid Build Coastguard WorkerExample: To limit the tests to run for media types whose names start with 49*b7c941bbSAndroid Build Coastguard Workervideo/avc 50*b7c941bbSAndroid Build Coastguard Worker 51*b7c941bbSAndroid Build Coastguard Worker```sh 52*b7c941bbSAndroid Build Coastguard Workeratest CtsMediaPerformanceClassTestCases -- --module-arg CtsMediaPerformanceClassTestCases:instrumentation-arg:media-type-prefix:=video/avc 53*b7c941bbSAndroid Build Coastguard Worker``` 54*b7c941bbSAndroid Build Coastguard Worker 55*b7c941bbSAndroid Build Coastguard Worker#### Select codecs using regular expressions 56*b7c941bbSAndroid Build Coastguard Worker 57*b7c941bbSAndroid Build Coastguard WorkerTo select codecs by applying regular expressions, *codec-filter* can be passed 58*b7c941bbSAndroid Build Coastguard Workerto media codec tests to select one or more codecs that match with a specified 59*b7c941bbSAndroid Build Coastguard Workerregular expression pattern. 60*b7c941bbSAndroid Build Coastguard Worker 61*b7c941bbSAndroid Build Coastguard WorkerExample: To limit the tests to run for c2.android.avc.decoder and 62*b7c941bbSAndroid Build Coastguard Workerc2.android.hevc.encoder 63*b7c941bbSAndroid Build Coastguard Worker 64*b7c941bbSAndroid Build Coastguard Worker```sh 65*b7c941bbSAndroid Build Coastguard Workeratest CtsMediaPerformanceClassTestCases -- --module-arg CtsMediaPerformanceClassTestCases:instrumentation-arg:codec-filter:="c2\.android\.avc\.decoder\|c2\.android\.hevc\.encoder" 66*b7c941bbSAndroid Build Coastguard Worker``` 67*b7c941bbSAndroid Build Coastguard Worker 68*b7c941bbSAndroid Build Coastguard Worker#### Select codecs by name 69*b7c941bbSAndroid Build Coastguard Worker 70*b7c941bbSAndroid Build Coastguard WorkerTo select codecs by name, *codec-prefix* can be passed to media codec tests to 71*b7c941bbSAndroid Build Coastguard Workerselect one or more codecs that start with a given prefix. 72*b7c941bbSAndroid Build Coastguard Worker 73*b7c941bbSAndroid Build Coastguard WorkerExample: To limit the tests to run for codecs whose names start with c2.android. 74*b7c941bbSAndroid Build Coastguard Worker 75*b7c941bbSAndroid Build Coastguard Worker```sh 76*b7c941bbSAndroid Build Coastguard Workeratest CtsMediaPerformanceClassTestCases -- --module-arg CtsMediaPerformanceClassTestCases:instrumentation-arg:codec-prefix:=c2.android. 77*b7c941bbSAndroid Build Coastguard Worker``` 78*b7c941bbSAndroid Build Coastguard Worker 79*b7c941bbSAndroid Build Coastguard WorkerExample: To limit the tests to run for c2.android.hevc.decoder 80*b7c941bbSAndroid Build Coastguard Worker 81*b7c941bbSAndroid Build Coastguard Worker```sh 82*b7c941bbSAndroid Build Coastguard Workeratest CtsMediaPerformanceClassTestCases -- --module-arg CtsMediaPerformanceClassTestCases:instrumentation-arg:codec-prefix:=c2.android.hevc.decoder 83*b7c941bbSAndroid Build Coastguard Worker``` 84