[x265] [PATCH] testbench: fix bug in generate weight input data
Steve Borho
steve at borho.org
Mon Jan 5 15:23:52 CET 2015
On 01/05, Min Chen wrote:
> # HG changeset patch
> # User Min Chen <chenm003 at 163.com>
> # Date 1420446007 -28800
> # Node ID 2fd5ed831fa5b23294f165fbfa052e4bc8ffc7e5
> # Parent f255e8d06423231cb8c58ab5d3b10de7fb27b424
> testbench: fix bug in generate weight input data
queued.
> ---
> source/test/pixelharness.cpp | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
nice diffstat. I won't ask where it came from :)
> diff -r f255e8d06423 -r 2fd5ed831fa5 source/test/pixelharness.cpp
> --- a/source/test/pixelharness.cpp Fri Jan 02 18:22:38 2015 +0530
> +++ b/source/test/pixelharness.cpp Mon Jan 05 16:20:07 2015 +0800
> @@ -250,15 +250,16 @@
> int width = 2 * (rand() % 32 + 1);
> int height = 8;
> int w0 = rand() % 128;
> - int shift = rand() % 15;
> + int shift = rand() % 8; // maximum is 7, see setFromWeightAndOffset()
> int round = shift ? (1 << (shift - 1)) : 0;
> int offset = (rand() % 256) - 128;
> intptr_t stride = 64;
> + const int correction = (IF_INTERNAL_PREC - X265_DEPTH);
> for (int i = 0; i < ITERS; i++)
> {
> int index = i % TEST_CASES;
> - checked(opt, short_test_buff[index] + j, opt_dest, stride, stride, width, height, w0, round, shift, offset);
> - ref(short_test_buff[index] + j, ref_dest, stride, stride, width, height, w0, round, shift, offset);
> + checked(opt, short_test_buff[index] + j, opt_dest, stride, stride, width, height, w0, round << correction, shift + correction, offset);
> + ref(short_test_buff[index] + j, ref_dest, stride, stride, width, height, w0, round << correction, shift + correction, offset);
>
> if (memcmp(ref_dest, opt_dest, 64 * 64 * sizeof(pixel)))
> return false;
> @@ -281,15 +282,16 @@
> int width = 16 * (rand() % 4 + 1);
> int height = 8;
> int w0 = rand() % 128;
> - int shift = rand() % 15;
> + int shift = rand() % 8; // maximum is 7, see setFromWeightAndOffset()
> int round = shift ? (1 << (shift - 1)) : 0;
> int offset = (rand() % 256) - 128;
> intptr_t stride = 64;
> + const int correction = (IF_INTERNAL_PREC - X265_DEPTH);
> for (int i = 0; i < ITERS; i++)
> {
> int index = i % TEST_CASES;
> - checked(opt, pixel_test_buff[index] + j, opt_dest, stride, width, height, w0, round, shift, offset);
> - ref(pixel_test_buff[index] + j, ref_dest, stride, width, height, w0, round, shift, offset);
> + checked(opt, pixel_test_buff[index] + j, opt_dest, stride, width, height, w0, round << correction, shift + correction, offset);
> + ref(pixel_test_buff[index] + j, ref_dest, stride, width, height, w0, round << correction, shift + correction, offset);
>
> if (memcmp(ref_dest, opt_dest, 64 * 64 * sizeof(pixel)))
> return false;
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
--
Steve Borho
More information about the x265-devel
mailing list