tree: c04d3e390ac97db2be4010d106e44015cab7a3a4 [path history] [tgz]
  1. README.md
  2. arc_decode_accel_h264_240p.go
  3. arc_decode_accel_perf_h264_240p.go
  4. arc_decode_accel_perf_vp8_240p.go
  5. arc_decode_accel_perf_vp9_240p.go
  6. arc_decode_accel_vp8_240p.go
  7. arc_decode_accel_vp9_240p.go
  8. arc_encode_accel_h264_i420.go
  9. arc_encode_accel_perf_h264_1080p_i420.go
  10. capability.go
  11. data/
  12. decode/
  13. decode_accel.go
  14. decode_accel_h264_resolution_switch.go
  15. decode_accel_perf_h264_1080p_30fps.go
  16. decode_accel_perf_h264_1080p_60fps.go
  17. decode_accel_perf_h264_2160p_30fps.go
  18. decode_accel_perf_h264_2160p_60fps.go
  19. decode_accel_perf_vp8_1080p_30fps.go
  20. decode_accel_perf_vp8_1080p_60fps.go
  21. decode_accel_perf_vp8_2160p_30fps.go
  22. decode_accel_perf_vp8_2160p_60fps.go
  23. decode_accel_perf_vp9_1080p_30fps.go
  24. decode_accel_perf_vp9_1080p_60fps.go
  25. decode_accel_perf_vp9_2160p_30fps.go
  26. decode_accel_perf_vp9_2160p_60fps.go
  27. decode_accel_sanity.go
  28. decode_accel_vd_h264.go
  29. decode_accel_vd_h264_resolution_switch.go
  30. decode_accel_vd_perf_h264_1080p_30fps.go
  31. decode_accel_vd_perf_h264_1080p_60fps.go
  32. decode_accel_vd_perf_h264_2160p_30fps.go
  33. decode_accel_vd_perf_h264_2160p_60fps.go
  34. decode_accel_vd_perf_vp8_1080p_30fps.go
  35. decode_accel_vd_perf_vp8_1080p_60fps.go
  36. decode_accel_vd_perf_vp8_2160p_30fps.go
  37. decode_accel_vd_perf_vp8_2160p_60fps.go
  38. decode_accel_vd_perf_vp9_1080p_30fps.go
  39. decode_accel_vd_perf_vp9_1080p_60fps.go
  40. decode_accel_vd_perf_vp9_2160p_30fps.go
  41. decode_accel_vd_perf_vp9_2160p_60fps.go
  42. decode_accel_vd_vp8.go
  43. decode_accel_vd_vp8_resolution_switch.go
  44. decode_accel_vd_vp9.go
  45. decode_accel_vd_vp92.go
  46. decode_accel_vd_vp9_resolution_switch.go
  47. decode_accel_vp8_odd_dimensions.go
  48. decode_accel_vp8_resolution_switch.go
  49. decode_accel_vp9_odd_dimensions.go
  50. decode_accel_vp9_resolution_switch.go
  51. decode_accel_vp9_show_existing_frame.go
  52. decode_encode_accel_perf.go
  53. doc.go
  54. encode/
  55. encode_accel_h264_1080p_i420.go
  56. encode_accel_h264_180p_i420.go
  57. encode_accel_h264_2160p_i420.go
  58. encode_accel_h264_360p_i420.go
  59. encode_accel_h264_720p_i420.go
  60. encode_accel_h264_i420.go
  61. encode_accel_h264_nv12.go
  62. encode_accel_h264_nv12_dmabuf.go
  63. encode_accel_perf_h264_1080p_i420.go
  64. encode_accel_perf_h264_192p_i420.go
  65. encode_accel_perf_h264_2160p_i420.go
  66. encode_accel_perf_h264_360p_i420.go
  67. encode_accel_perf_h264_720p_i420_tulip.go
  68. encode_accel_perf_h264_720p_i420_vidyo.go
  69. encode_accel_perf_vp8_1080p_i420.go
  70. encode_accel_perf_vp8_192p_i420.go
  71. encode_accel_perf_vp8_2160p_i420.go
  72. encode_accel_perf_vp8_360p_i420.go
  73. encode_accel_perf_vp8_720p_i420_tulip.go
  74. encode_accel_perf_vp8_720p_i420_vidyo.go
  75. encode_accel_vp8_1080p_i420.go
  76. encode_accel_vp8_180p_i420.go
  77. encode_accel_vp8_2160p_i420.go
  78. encode_accel_vp8_360p_i420.go
  79. encode_accel_vp8_720p_i420.go
  80. encode_accel_vp8_i420.go
  81. encode_accel_vp8_nv12.go
  82. encode_accel_vp8_nv12_dmabuf.go
  83. encode_accel_vp8_odd_i420.go
  84. encode_accel_vp9_1080p_i420.go
  85. encode_accel_vp9_180p_i420.go
  86. encode_accel_vp9_2160p_i420.go
  87. encode_accel_vp9_360p_i420.go
  88. encode_accel_vp9_720p_i420.go
  89. encode_accel_vp9_i420.go
  90. encode_accel_vp9_odd_i420.go
  91. libvda/
  92. libvda_decode_h264.go
  93. libvda_decode_vp8.go
  94. libvda_decode_vp9.go
  95. libvda_gpu_tests.go
  96. play.go
  97. play/
  98. play_decode_accel_used.go
  99. play_decode_accel_used_vd_h264.go
  100. play_decode_accel_used_vd_vp8.go
  101. play_decode_accel_used_vd_vp9.go
  102. play_vd_h264.go
  103. play_vd_vp8.go
  104. play_vd_vp9.go
  105. playback/
  106. playback_perf_av1_1080p_30fps.go
  107. playback_perf_av1_1080p_60fps.go
  108. playback_perf_av1_480p_30fps.go
  109. playback_perf_av1_720p_30fps.go
  110. playback_perf_av1_720p_60fps.go
  111. playback_perf_h264_1080p_30fps.go
  112. playback_perf_h264_1080p_60fps.go
  113. playback_perf_h264_2160p_30fps.go
  114. playback_perf_h264_2160p_60fps.go
  115. playback_perf_vp8_1080p_30fps.go
  116. playback_perf_vp8_1080p_60fps.go
  117. playback_perf_vp8_2160p_30fps.go
  118. playback_perf_vp8_2160p_60fps.go
  119. playback_perf_vp9_1080p_30fps.go
  120. playback_perf_vp9_1080p_60fps.go
  121. playback_perf_vp9_2160p_30fps.go
  122. playback_perf_vp9_2160p_60fps.go
  123. playback_vd_perf_h264_1080p_60fps.go
  124. playback_vd_perf_vp8_1080p_60fps.go
  125. playback_vd_perf_vp9_1080p_60fps.go
  126. playback_vd_perf_vp9_2160p_60fps.go
  127. seek_h264.go
  128. seek_switch_h264.go
  129. seek_switch_vp8.go
  130. seek_vd_h264.go
  131. seek_vd_switch_h264.go
  132. seek_vp8.go
  133. seek_vp9.go
src/chromiumos/tast/local/bundles/cros/video/README.md

Video Test Overview

The Tast video tests can be used to validate various video decoder and encoder implementations. A wide range of test scenarios are available to validate both correctness and performance. Some tests operate directly on top of the decoder and encoder implementations, while other tests operate on the entire Chrome stack.

To get a list of all available video tests run:

tast list $HOST | grep video.

All video tests can be found in the tast video folder.

Capability check test

This test checks whether a device reports the correct set of capabilities (e.g. VP9 support). It can be run by executing:

tast run $HOST video.Capability*

Video decoder tests

These tests validate video decoding functionality by running the video_decode_accelerator_tests. They are implemented directly on top of the video decoder implementations. Various behaviors are tested such as flushing and resetting the decoder. Decoded frames are validated by comparing their checksums against expected values. For more information about these tests check the video decoder tests usage documentation.

Tests are available for various codecs such as H.264, VP8 and VP9. In addition there are tests using videos that change resolution during plaback. To run all tests use:

tast run $HOST video.DecodeAccel.*

There are variants of these tests present that have ‘VD’ in their names. These tests operate on the new video decoder implementations, which are set to replace the current ones. To run all VD video decoder tests run:

tast run $HOST video.DecodeAccelVD*

Video decoder performance tests

These tests measure video decode performance by running the video_decode_accelerator_perf_tests. These tests are implemented directly on top of the video decoder implementations and collect various metrics such as FPS, CPU usage and decode latency. For more information about these tests check the video decoder performance tests usage documentation.

Performance tests are available for various codecs using 1080p and 2160p videos, both in 30 and 60fps variants. To run all performance tests use:

tast run $HOST video.DecodeAccelPerf*

There are variants of these tests present that have ‘VD’ in their names. These tests operate on the new video decoder implementations, which are set to replace the current ones. To run all VD video decoder performance tests run:

tast run $HOST video.DecodeAccelVDPerf*

Video encoder tests

These tests run the video_encode_accelerator_unittest to test encoding raw video frames. They are implemented directly on top of the video encoder implementations. Tests are available that test encoding H.264, VP8 and VP9 videos using various resolutions.

To run all video encode tests use:

tast run $HOST video.EncodeAccel{H264,VP8,VP9}*

Video encoder performance tests

These tests measure video encode performance by running the video_encode_accelerator_unittest. They are implemented directly on top of the video encoder implementations. Various metrics are collected such as CPU usage. Tests are available for various codecs and resolutions. To run all tests use:

tast run $HOST video.EncodeAccelPerf*

Video play tests

The video play tests verify whether video playback works by playing a video in the Chrome browser. These tests exercise the full Chrome stack, as opposed to the video decoder tests that only verify the video decoder implementations. Two variants of these tests are present.

The video.Play.* tests check whether video playback works by any means possible, fallback on a software video decoder is allowed if hardware video decoding fails. Tests are available using H.264, VP8 and VP9 videos. To run these tests use:

tast run $HOST video.Play.*

The video.PlayDecodeAccelUsed.* tests are similar to the normal video play tests. However these tests will only pass if hardware video decoding was successful. Fallback on a software video decoder is not allowed. Tests are available for H.264, VP8 and VP9, both for normal videos and videos using MSE. To run these tests use:

tast run $HOST video.PlayDecodeAccelUsed.* video.PlayDecodeAccelUsedMSE*

Additionally there are variants of these tests with ‘VD’ in their names present. These test the new video decoder implementations, which are set to replace the current ones. To run all VD video play tests run:

tast run $HOST video.PlayVD* video.PlayDecodeAccelUsedVD*

Video playback performance tests

The video playback performance tests measure video decoder performance by playing a video in the Chrome browser. These tests exercise the full Chrome stack, as opposed to the video decoder performance tests that only measure the performance of the actual video decoder implementations. Both software and hardware video decoder performance is measured. If hardware decoding is not supported for the video stream only software performance will be reported. Various metrics are collected such as CPU usage and the number of dropped frames.

Tests are available for various codecs and resolutions, both in 30 and 60fps variants. To run all tests use:

tast run $HOST video.PlaybackPerf{AV1,H264,VP8,VP9}*

Additionally there are variants of these tests with ‘VD’ in their names present. These test the new video decoder implementations, which are set to replace the current ones. To run all VD video playback performance tests run:

tast run $HOST video.PlaybackVDPerf*

Video decoder sanity checks

These tests use the video_decode_accelerator_tests to decode a video stream with unsupported features. This is done by playing VP9 profile1-3 videos while the decoder is incorrectly configured for profile0. The tests verify whether a decoder is able to handle unexpected errors gracefully. To run all sanity checks use:

tast run $HOST video.DecodeAccelSanity.*

Video seek tests

These tests check whether seeking in a video works as expected. This is done by playing a video in the Chrome browser while rapidly jumping between different points in the video stream. Tests are available for H.264, VP8 and VP9 videos. In addition there are variants of these tests present that verify seeking in resolution-changing videos. To run all video seek tests run:

tast run $HOST video.Seek*