[Libva] [PATCH intel-driver 0/5] JPEG Encode Test Speed Optimization
Xiang, Haihao
haihao.xiang at intel.com
Thu Nov 10 03:56:48 UTC 2016
Hi Artie,
Did you run gtest on SKL? I saw a failure with this optimization on
SKL. After reverting back to commit 63b98a5, the issue disappears.
[ RUN ] Common/JPEGEncodeInputTest.Full/97
i965_jpeg_encode_test.cpp:371: Failure
Value of: std::abs(ebytes - rbytes).max() <= 2
Actual: false
Expected: true
plane 0: 29641916 of 33177600 (89.3432%) mismatch
plane 1: 184960 of 16588800 (1.11497%) mismatch
plane 2: 0 of 16588800 (0%) mismatch
Creator: Fixed Size 7680x4320
Input : UYVY 7680x4320 {15360,0,0} {4320,0,0} {66355200,0,0} {0,0,0}
[ FAILED ] Common/JPEGEncodeInputTest.Full/97, where GetParam() =
(Fixed Size 7680x4320, 0x522e64 pointing to "UYVY") (7295 ms)
Thanks
Haihao
> On Wed, 2016-10-26 at 13:24 -0700, U. Artie Eoff wrote:
> > 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.
>
>
> Nice refactoring that will make it easier for adding the other
> encoders.
>
> lgtm (also tested0, applied.
>
> Thanks,
>
> Sean
>
> >
> > 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
> >
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libva
More information about the Libva
mailing list