[x265] [PATCH] Improve all_angs_pred_c by remove unnecessary transpose

Gopi Satykrishna Akisetty gopi.satykrishna at multicorewareinc.com
Tue Jan 21 07:16:02 CET 2020


Hi Min,

Smoke tests are failing with this patch. I have attached the log of linux
smoke test below. Can you check it once.

Thanks,
Gopi.

On Mon, Nov 4, 2019 at 1:54 PM chen <chenm003 at 163.com> wrote:

> From 7e495390396d6a55f95ad4649e46b56fd7d2ef1c Mon Sep 17 00:00:00 2001
> From: Min Chen <chenmin at kuaishou.com>
> Date: Mon, 4 Nov 2019 16:21:20 +0800
> Subject: [PATCH] Improve all_angs_pred_c by remove unnecessary transpose
>
> ---
>  source/common/intrapred.cpp | 22 +++-------------------
>  1 file changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/source/common/intrapred.cpp b/source/common/intrapred.cpp
> index 0b65ccf..2fb4eb5 100644
> --- a/source/common/intrapred.cpp
> +++ b/source/common/intrapred.cpp
> @@ -99,7 +99,7 @@ void planar_pred_c(pixel* dst, intptr_t dstStride, const
> pixel* srcPix, int /*di
>              dst[y * dstStride + x] = (pixel) (((blkSize - 1 - x) *
> left[y] + (blkSize - 1 -y) * above[x] + (x + 1) * topRight + (y + 1) *
> bottomLeft + blkSize) >> (log2Size + 1));
>  }
>
> -template<int width>
> +template<int width, bool disableTranspose = false>
>  void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel
> *srcPix0, int dirMode, int bFilter)
>  {
>      int width2 = width << 1;
> @@ -189,7 +189,7 @@ void intra_pred_ang_c(pixel* dst, intptr_t dstStride,
> const pixel *srcPix0, int
>      }
>
>      // Flip for horizontal.
> -    if (horMode)
> +    if (!disableTranspose && horMode)
>      {
>          for (int y = 0; y < width - 1; y++)
>          {
> @@ -212,24 +212,8 @@ void all_angs_pred_c(pixel *dest, pixel *refPix,
> pixel *filtPix, int bLuma)
>          pixel *srcPix  = (g_intraFilterFlags[mode] & size ? filtPix  :
> refPix);
>          pixel *out = dest + ((mode - 2) << (log2Size * 2));
>
> -        intra_pred_ang_c<size>(out, size, srcPix, mode, bLuma);
> -
>          // Optimize code don't flip buffer
> -        bool modeHor = (mode < 18);
> -
> -        // transpose the block if this is a horizontal mode
> -        if (modeHor)
> -        {
> -            for (int k = 0; k < size - 1; k++)
> -            {
> -                for (int l = k + 1; l < size; l++)
> -                {
> -                    pixel tmp         = out[k * size + l];
> -                    out[k * size + l] = out[l * size + k];
> -                    out[l * size + k] = tmp;
> -                }
> -            }
> -        }
> +        intra_pred_ang_c<size, true>(out, size, srcPix, mode, bLuma);
>      }
>  }
>  }
> --
> 2.9.0.windows.1
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200121/b0b78a32/attachment-0001.html>
-------------- next part --------------


testharness: 81e455ed12a1
changeset:   12612:b2c22e82e05a
tag:         tip
user:        Min Chen <chenmin at kuaishou.com>
date:        Fri Jan 10 17:51:26 2020 +0530
summary:     Improve all_angs_pred_c by remove unnecessary transpose



Running /home/mcw/gopi/x265/source/test/smoke-tests.txt

cur build: gcc-main10-debug group=gcc-main10deb
generator: Unix Makefiles
options  : warn debug main10 tests checked {}

make warnings or errors reported for gcc-main10-debug:: 
[ 50%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:101: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
                                                                                                     ^
/home/mcw/gopi/x265/source/common/intrapred.cpp: In function ‘void x265::setupIntraPrimitives_c(x265::EncoderPrimitives&)’:
/home/mcw/gopi/x265/source/common/intrapred.cpp:243:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_4x4].intra_pred[i] = intra_pred_ang_c<4>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:244:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_8x8].intra_pred[i] = intra_pred_ang_c<8>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:245:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_16x16].intra_pred[i] = intra_pred_ang_c<16>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:246:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_32x32].intra_pred[i] = intra_pred_ang_c<32>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
common/CMakeFiles/common.dir/build.make:282: recipe for target 'common/CMakeFiles/common.dir/intrapred.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/intrapred.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:322: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
return code 2


cur build: gccmain12 group=gcc-main12
generator: Unix Makefiles
options  : warn tests main12 checked {}

make warnings or errors reported for gccmain12:: 
[ 50%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:101: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
                                                                                                     ^
/home/mcw/gopi/x265/source/common/intrapred.cpp: In function ‘void x265::setupIntraPrimitives_c(x265::EncoderPrimitives&)’:
/home/mcw/gopi/x265/source/common/intrapred.cpp:243:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_4x4].intra_pred[i] = intra_pred_ang_c<4>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:244:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_8x8].intra_pred[i] = intra_pred_ang_c<8>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:245:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_16x16].intra_pred[i] = intra_pred_ang_c<16>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:246:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_32x32].intra_pred[i] = intra_pred_ang_c<32>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
common/CMakeFiles/common.dir/build.make:282: recipe for target 'common/CMakeFiles/common.dir/intrapred.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/intrapred.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:322: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
return code 2


cur build: gcc-debug group=gccdeb
generator: Unix Makefiles
options  : warn debug tests checked {}

make warnings or errors reported for gcc-debug:: 
[ 50%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:101: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
                                                                                                     ^
/home/mcw/gopi/x265/source/common/intrapred.cpp: In function ‘void x265::setupIntraPrimitives_c(x265::EncoderPrimitives&)’:
/home/mcw/gopi/x265/source/common/intrapred.cpp:243:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_4x4].intra_pred[i] = intra_pred_ang_c<4>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:244:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_8x8].intra_pred[i] = intra_pred_ang_c<8>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:245:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_16x16].intra_pred[i] = intra_pred_ang_c<16>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:246:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_32x32].intra_pred[i] = intra_pred_ang_c<32>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
common/CMakeFiles/common.dir/build.make:282: recipe for target 'common/CMakeFiles/common.dir/intrapred.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/intrapred.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:322: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
return code 2


cur build: gcc group=gcc
generator: Unix Makefiles
options  : warn tests checked {}

make warnings or errors reported for gcc:: 
[ 50%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:101: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
                                                                                                     ^
/home/mcw/gopi/x265/source/common/intrapred.cpp: In function ‘void x265::setupIntraPrimitives_c(x265::EncoderPrimitives&)’:
/home/mcw/gopi/x265/source/common/intrapred.cpp:243:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_4x4].intra_pred[i] = intra_pred_ang_c<4>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:244:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_8x8].intra_pred[i] = intra_pred_ang_c<8>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:245:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_16x16].intra_pred[i] = intra_pred_ang_c<16>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:246:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265::intra_pred_t {aka void (*)(unsigned char*, long int, const unsigned char*, int, int)}’
         p.cu[BLOCK_32x32].intra_pred[i] = intra_pred_ang_c<32>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
common/CMakeFiles/common.dir/build.make:282: recipe for target 'common/CMakeFiles/common.dir/intrapred.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/intrapred.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:322: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
return code 2


cur build: gcc-multilib group=gcc-multilib
generator: Unix Makefiles
options  : warn checked {'add-depths': ['10bit', '12bit']}

make warnings or errors reported for gcc-multilib:: 
[ 62%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 63%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 65%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:101: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
                                                                                                     ^
/home/mcw/gopi/x265/source/common/intrapred.cpp: In function ‘void x265_10bit::setupIntraPrimitives_c(x265_10bit::EncoderPrimitives&)’:
/home/mcw/gopi/x265/source/common/intrapred.cpp:243:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265_10bit::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_4x4].intra_pred[i] = intra_pred_ang_c<4>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:244:41: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265_10bit::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_8x8].intra_pred[i] = intra_pred_ang_c<8>;
                                         ^~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:245:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265_10bit::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_16x16].intra_pred[i] = intra_pred_ang_c<16>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:246:43: error: no matches converting function ‘intra_pred_ang_c’ to type ‘x265_10bit::intra_pred_t {aka void (*)(short unsigned int*, long int, const short unsigned int*, int, int)}’
         p.cu[BLOCK_32x32].intra_pred[i] = intra_pred_ang_c<32>;
                                           ^~~~~~~~~~~~~~~~~~~~
/home/mcw/gopi/x265/source/common/intrapred.cpp:103:6: note: candidate is: template<int width, bool disableTranspose> void {anonymous}::intra_pred_ang_c(pixel*, intptr_t, const pixel*, int, int)
 void intra_pred_ang_c(pixel* dst, intptr_t dstStride, const pixel *srcPix0, int dirMode, int bFilter)
      ^~~~~~~~~~~~~~~~
common/CMakeFiles/common.dir/build.make:282: recipe for target 'common/CMakeFiles/common.dir/intrapred.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/intrapred.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:247: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
return code 2




More information about the x265-devel mailing list