[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