[Libva] [PATCH intel-driver 0/5] JPEG Encode Test Speed Optimization

U. Artie Eoff ullysses.a.eoff at intel.com
Wed Oct 26 20:24:14 UTC 2016


This patch series splits out the general YUV input data fields and routines
from the ::JPEG::Encode::TestInput class into it's own class.  This new class,
YUVImage, was then refactored to use std::valarray/std::slice to manage the
underlying YUV byte data.  The JPEG encode tests are updated accordingly.  This
change allows for faster comparison and conversion operations on YUV byte data
input/output results and helps reduce some of the copying overhead.

Also changed the random value generator to improve it's speed.

With these changes, I observe ~2x improvement in runtime speed on the JPEG
Encode test cases.

Finally, included is a Timer class for convenience that can be used for future
test development.

U. Artie Eoff (5):
  test: add a timer class
  test: use C random library for random numbers
  test: add YUVImage class
  test: streamable valarray
  test: use YUVImage in JPEG encode tests

 test/Makefile.am               |   2 +
 test/i965_jpeg_encode_test.cpp | 135 +++-----
 test/i965_jpeg_test_data.cpp   | 196 ++---------
 test/i965_jpeg_test_data.h     |  26 +-
 test/i965_streamable.h         |  25 ++
 test/i965_test_environment.cpp |   7 +
 test/i965_test_image_utils.cpp | 747 +++++++++++++++++++++++++++++++++++++++++
 test/i965_test_image_utils.h   |  66 ++++
 test/object_heap_test.cpp      |   4 -
 test/test_utils.h              |  45 ++-
 10 files changed, 970 insertions(+), 283 deletions(-)
 create mode 100644 test/i965_test_image_utils.cpp
 create mode 100644 test/i965_test_image_utils.h

-- 
2.1.0



More information about the Libva mailing list