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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/libva _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva