[x265] [PATCH] pixelHarness: add testharness code for estimateCUPropagateCost

Steve Borho steve at borho.org
Fri Jan 30 18:45:53 CET 2015


On 01/30, santhoshini at multicorewareinc.com wrote:
> # HG changeset patch
> # User Santhoshini Sekar<santhoshini at multicorewareinc.com>
> # Date 1422440917 -19800
> #      Wed Jan 28 15:58:37 2015 +0530
> # Node ID 76c6b079e6b363d42073f09144e255d5ad1dc863
> # Parent  5e5dc3763f6386da9722903033a2b9dd263a5226
> pixelHarness: add testharness code for estimateCUPropagateCost
> 
> diff -r 5e5dc3763f63 -r 76c6b079e6b3 source/test/pixelharness.cpp
> --- a/source/test/pixelharness.cpp	Thu Jan 29 10:37:54 2015 -0600
> +++ b/source/test/pixelharness.cpp	Wed Jan 28 15:58:37 2015 +0530
> @@ -1048,6 +1048,34 @@
>      return true;
>  }
>  
> +bool PixelHarness::check_cutree_propagate_cost(cutree_propagate_cost ref, cutree_propagate_cost opt)
> +{
> +    ALIGN_VAR_16(int, ref_dest[64 * 64]);
> +    ALIGN_VAR_16(int, opt_dest[64 * 64]);
> +
> +    memset(ref_dest, 0xCD, sizeof(ref_dest));
> +    memset(opt_dest, 0xCD, sizeof(opt_dest));
> +
> +    double fps = 1.0;
> +    int width = 16 + rand() % 64;
> +    int j = 0;
> +
> +    for (int i = 0; i < ITERS; i++)
> +    {
> +        int index = i % TEST_CASES;
> +        checked(opt, opt_dest, ushort_test_buff[index] + j, int_test_buff[index] + j, ushort_test_buff[index] + j, int_test_buff[index] + j, &fps, width);
> +        ref(ref_dest, ushort_test_buff[index] + j, int_test_buff[index] + j, ushort_test_buff[index] + j, int_test_buff[index] + j, &fps, width);
> +
> +        if (memcmp(ref_dest, opt_dest, width * sizeof(pixel)))
> +            return false;
> +
> +        reportfail();
> +        j += INCR;
> +    }
> +
> +    return true;
> +}
> +
>  bool PixelHarness::check_psyCost_pp(pixelcmp_t ref, pixelcmp_t opt)
>  {
>      int j = 0, index1, index2, optres, refres;
> @@ -1608,6 +1636,15 @@
>          }
>      }
>  
> +    if (opt.propagateCost)
> +    {
> +        if (!check_cutree_propagate_cost(ref.propagateCost, opt.propagateCost))
> +        {
> +            printf("propagateCost failed\n");
> +            return false;
> +        }
> +    }
> +
>      return true;
>  }
>  
> @@ -1947,4 +1984,10 @@
>          HEADER0("planecopy_cp");
>          REPORT_SPEEDUP(opt.planecopy_cp, ref.planecopy_cp, uchar_test_buff[0], 64, pbuf1, 64, 64, 64, 2);
>      }
> +
> +    if (opt.propagateCost)
> +    {
> +        HEADER0("propagateCost");
> +        REPORT_SPEEDUP(opt.propagateCost, ref.propagateCost, ibuf1, ushort_test_buff[0], int_test_buff[0], ushort_test_buff[0], int_test_buff[0], double_test_buff[0], 80);
> +    }
>  }
> diff -r 5e5dc3763f63 -r 76c6b079e6b3 source/test/pixelharness.h
> --- a/source/test/pixelharness.h	Thu Jan 29 10:37:54 2015 -0600
> +++ b/source/test/pixelharness.h	Wed Jan 28 15:58:37 2015 +0530
> @@ -63,6 +63,7 @@
>      int      int_test_buff[TEST_CASES][BUFFSIZE];
>      uint16_t ushort_test_buff[TEST_CASES][BUFFSIZE];
>      uint8_t  uchar_test_buff[TEST_CASES][BUFFSIZE];
> +    double  double_test_buff[TEST_CASES][BUFFSIZE];

queued with this white-space nit fixed

>      bool check_pixelcmp(pixelcmp_t ref, pixelcmp_t opt);
>      bool check_pixelcmp_ss(pixelcmp_ss_t ref, pixelcmp_ss_t opt);
> @@ -99,6 +100,7 @@
>      bool check_saoCuOrgB0_t(saoCuOrgB0_t ref, saoCuOrgB0_t opt);
>      bool check_planecopy_sp(planecopy_sp_t ref, planecopy_sp_t opt);
>      bool check_planecopy_cp(planecopy_cp_t ref, planecopy_cp_t opt);
> +    bool check_cutree_propagate_cost(cutree_propagate_cost ref, cutree_propagate_cost opt);
>      bool check_psyCost_pp(pixelcmp_t ref, pixelcmp_t opt);
>      bool check_psyCost_ss(pixelcmp_ss_t ref, pixelcmp_ss_t opt);
>      bool check_calSign(sign_t ref, sign_t opt);
> _______________________________________________
> 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