Ignore:
Timestamp:
Jul 28, 2017 2:51:44 AM (7 years ago)
Author:
nanang
Message:

Re #2004: Update libyuv version from libyuv git master repo dated 27 July 2017, the compile errors on old gcc versions issue persists though.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/yuv/include/libyuv/scale_row.h

    r5358 r5633  
    99 */ 
    1010 
    11 #ifndef INCLUDE_LIBYUV_SCALE_ROW_H_  // NOLINT 
     11#ifndef INCLUDE_LIBYUV_SCALE_ROW_H_ 
    1212#define INCLUDE_LIBYUV_SCALE_ROW_H_ 
    1313 
     
    4646 
    4747// Visual C 2012 required for AVX2. 
    48 #if defined(_M_IX86) && !defined(__clang__) && \ 
    49     defined(_MSC_VER) && _MSC_VER >= 1700 
     48#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ 
     49    _MSC_VER >= 1700 
    5050#define VISUALC_HAS_AVX2 1 
    5151#endif  // VisualStudio >= 2012 
     
    6262#define HAS_SCALEARGBROWDOWNEVEN_SSE2 
    6363#define HAS_SCALECOLSUP2_SSE2 
    64 // TODO(fbarchard): HAS_SCALEFILTERCOLS_SSSE3 doesnt match C very well. 
    65 //  #define HAS_SCALEFILTERCOLS_SSSE3 
     64#define HAS_SCALEFILTERCOLS_SSSE3 
    6665#define HAS_SCALEROWDOWN2_SSSE3 
    6766#define HAS_SCALEROWDOWN34_SSSE3 
     
    7473// require VS2012, clang 3.4 or gcc 4.7. 
    7574// The code supports NaCL but requires a new compiler and validator. 
    76 #if !defined(LIBYUV_DISABLE_X86) && (defined(VISUALC_HAS_AVX2) || \ 
    77     defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) 
     75#if !defined(LIBYUV_DISABLE_X86) &&                          \ 
     76    (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2) || \ 
     77     defined(GCC_HAS_AVX2)) 
    7878#define HAS_SCALEADDROW_AVX2 
    7979#define HAS_SCALEROWDOWN2_AVX2 
     
    9696 
    9797// The following are available on Mips platforms: 
    98 #if !defined(LIBYUV_DISABLE_MIPS) && !defined(__native_client__) && \ 
     98#if !defined(LIBYUV_DISABLE_DSPR2) && !defined(__native_client__) && \ 
    9999    defined(__mips__) && defined(__mips_dsp) && (__mips_dsp_rev >= 2) 
    100100#define HAS_SCALEROWDOWN2_DSPR2 
     
    102102#define HAS_SCALEROWDOWN34_DSPR2 
    103103#define HAS_SCALEROWDOWN38_DSPR2 
     104#define HAS_SCALEADDROW_DSPR2 
     105#endif 
     106 
     107#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) 
     108#define HAS_SCALEARGBROWDOWN2_MSA 
     109#define HAS_SCALEARGBROWDOWNEVEN_MSA 
     110#define HAS_SCALEROWDOWN2_MSA 
     111#define HAS_SCALEROWDOWN4_MSA 
     112#define HAS_SCALEROWDOWN38_MSA 
     113#define HAS_SCALEADDROW_MSA 
    104114#endif 
    105115 
    106116// Scale ARGB vertically with bilinear interpolation. 
    107117void ScalePlaneVertical(int src_height, 
    108                         int dst_width, int dst_height, 
    109                         int src_stride, int dst_stride, 
    110                         const uint8* src_argb, uint8* dst_argb, 
    111                         int x, int y, int dy, 
    112                         int bpp, enum FilterMode filtering); 
     118                        int dst_width, 
     119                        int dst_height, 
     120                        int src_stride, 
     121                        int dst_stride, 
     122                        const uint8* src_argb, 
     123                        uint8* dst_argb, 
     124                        int x, 
     125                        int y, 
     126                        int dy, 
     127                        int bpp, 
     128                        enum FilterMode filtering); 
    113129 
    114130void ScalePlaneVertical_16(int src_height, 
    115                            int dst_width, int dst_height, 
    116                            int src_stride, int dst_stride, 
    117                            const uint16* src_argb, uint16* dst_argb, 
    118                            int x, int y, int dy, 
    119                            int wpp, enum FilterMode filtering); 
     131                           int dst_width, 
     132                           int dst_height, 
     133                           int src_stride, 
     134                           int dst_stride, 
     135                           const uint16* src_argb, 
     136                           uint16* dst_argb, 
     137                           int x, 
     138                           int y, 
     139                           int dy, 
     140                           int wpp, 
     141                           enum FilterMode filtering); 
    120142 
    121143// Simplify the filtering based on scale factors. 
    122 enum FilterMode ScaleFilterReduce(int src_width, int src_height, 
    123                                   int dst_width, int dst_height, 
     144enum FilterMode ScaleFilterReduce(int src_width, 
     145                                  int src_height, 
     146                                  int dst_width, 
     147                                  int dst_height, 
    124148                                  enum FilterMode filtering); 
    125149 
     
    139163 
    140164// Compute slope values for stepping. 
    141 void ScaleSlope(int src_width, int src_height, 
    142                 int dst_width, int dst_height, 
     165void ScaleSlope(int src_width, 
     166                int src_height, 
     167                int dst_width, 
     168                int dst_height, 
    143169                enum FilterMode filtering, 
    144                 int* x, int* y, int* dx, int* dy); 
    145  
    146 void ScaleRowDown2_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    147                      uint8* dst, int dst_width); 
    148 void ScaleRowDown2_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    149                         uint16* dst, int dst_width); 
    150 void ScaleRowDown2Linear_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    151                            uint8* dst, int dst_width); 
    152 void ScaleRowDown2Linear_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    153                               uint16* dst, int dst_width); 
    154 void ScaleRowDown2Box_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    155                         uint8* dst, int dst_width); 
    156 void ScaleRowDown2Box_Odd_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    157                             uint8* dst, int dst_width); 
    158 void ScaleRowDown2Box_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    159                            uint16* dst, int dst_width); 
    160 void ScaleRowDown4_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    161                      uint8* dst, int dst_width); 
    162 void ScaleRowDown4_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    163                         uint16* dst, int dst_width); 
    164 void ScaleRowDown4Box_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    165                         uint8* dst, int dst_width); 
    166 void ScaleRowDown4Box_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    167                            uint16* dst, int dst_width); 
    168 void ScaleRowDown34_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    169                       uint8* dst, int dst_width); 
    170 void ScaleRowDown34_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    171                          uint16* dst, int dst_width); 
    172 void ScaleRowDown34_0_Box_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    173                             uint8* d, int dst_width); 
    174 void ScaleRowDown34_0_Box_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    175                                uint16* d, int dst_width); 
    176 void ScaleRowDown34_1_Box_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    177                             uint8* d, int dst_width); 
    178 void ScaleRowDown34_1_Box_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    179                                uint16* d, int dst_width); 
    180 void ScaleCols_C(uint8* dst_ptr, const uint8* src_ptr, 
    181                  int dst_width, int x, int dx); 
    182 void ScaleCols_16_C(uint16* dst_ptr, const uint16* src_ptr, 
    183                     int dst_width, int x, int dx); 
    184 void ScaleColsUp2_C(uint8* dst_ptr, const uint8* src_ptr, 
    185                     int dst_width, int, int); 
    186 void ScaleColsUp2_16_C(uint16* dst_ptr, const uint16* src_ptr, 
    187                        int dst_width, int, int); 
    188 void ScaleFilterCols_C(uint8* dst_ptr, const uint8* src_ptr, 
    189                        int dst_width, int x, int dx); 
    190 void ScaleFilterCols_16_C(uint16* dst_ptr, const uint16* src_ptr, 
    191                           int dst_width, int x, int dx); 
    192 void ScaleFilterCols64_C(uint8* dst_ptr, const uint8* src_ptr, 
    193                          int dst_width, int x, int dx); 
    194 void ScaleFilterCols64_16_C(uint16* dst_ptr, const uint16* src_ptr, 
    195                             int dst_width, int x, int dx); 
    196 void ScaleRowDown38_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    197                       uint8* dst, int dst_width); 
    198 void ScaleRowDown38_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    199                          uint16* dst, int dst_width); 
     170                int* x, 
     171                int* y, 
     172                int* dx, 
     173                int* dy); 
     174 
     175void ScaleRowDown2_C(const uint8* src_ptr, 
     176                     ptrdiff_t src_stride, 
     177                     uint8* dst, 
     178                     int dst_width); 
     179void ScaleRowDown2_16_C(const uint16* src_ptr, 
     180                        ptrdiff_t src_stride, 
     181                        uint16* dst, 
     182                        int dst_width); 
     183void ScaleRowDown2Linear_C(const uint8* src_ptr, 
     184                           ptrdiff_t src_stride, 
     185                           uint8* dst, 
     186                           int dst_width); 
     187void ScaleRowDown2Linear_16_C(const uint16* src_ptr, 
     188                              ptrdiff_t src_stride, 
     189                              uint16* dst, 
     190                              int dst_width); 
     191void ScaleRowDown2Box_C(const uint8* src_ptr, 
     192                        ptrdiff_t src_stride, 
     193                        uint8* dst, 
     194                        int dst_width); 
     195void ScaleRowDown2Box_Odd_C(const uint8* src_ptr, 
     196                            ptrdiff_t src_stride, 
     197                            uint8* dst, 
     198                            int dst_width); 
     199void ScaleRowDown2Box_16_C(const uint16* src_ptr, 
     200                           ptrdiff_t src_stride, 
     201                           uint16* dst, 
     202                           int dst_width); 
     203void ScaleRowDown4_C(const uint8* src_ptr, 
     204                     ptrdiff_t src_stride, 
     205                     uint8* dst, 
     206                     int dst_width); 
     207void ScaleRowDown4_16_C(const uint16* src_ptr, 
     208                        ptrdiff_t src_stride, 
     209                        uint16* dst, 
     210                        int dst_width); 
     211void ScaleRowDown4Box_C(const uint8* src_ptr, 
     212                        ptrdiff_t src_stride, 
     213                        uint8* dst, 
     214                        int dst_width); 
     215void ScaleRowDown4Box_16_C(const uint16* src_ptr, 
     216                           ptrdiff_t src_stride, 
     217                           uint16* dst, 
     218                           int dst_width); 
     219void ScaleRowDown34_C(const uint8* src_ptr, 
     220                      ptrdiff_t src_stride, 
     221                      uint8* dst, 
     222                      int dst_width); 
     223void ScaleRowDown34_16_C(const uint16* src_ptr, 
     224                         ptrdiff_t src_stride, 
     225                         uint16* dst, 
     226                         int dst_width); 
     227void ScaleRowDown34_0_Box_C(const uint8* src_ptr, 
     228                            ptrdiff_t src_stride, 
     229                            uint8* d, 
     230                            int dst_width); 
     231void ScaleRowDown34_0_Box_16_C(const uint16* src_ptr, 
     232                               ptrdiff_t src_stride, 
     233                               uint16* d, 
     234                               int dst_width); 
     235void ScaleRowDown34_1_Box_C(const uint8* src_ptr, 
     236                            ptrdiff_t src_stride, 
     237                            uint8* d, 
     238                            int dst_width); 
     239void ScaleRowDown34_1_Box_16_C(const uint16* src_ptr, 
     240                               ptrdiff_t src_stride, 
     241                               uint16* d, 
     242                               int dst_width); 
     243void ScaleCols_C(uint8* dst_ptr, 
     244                 const uint8* src_ptr, 
     245                 int dst_width, 
     246                 int x, 
     247                 int dx); 
     248void ScaleCols_16_C(uint16* dst_ptr, 
     249                    const uint16* src_ptr, 
     250                    int dst_width, 
     251                    int x, 
     252                    int dx); 
     253void ScaleColsUp2_C(uint8* dst_ptr, 
     254                    const uint8* src_ptr, 
     255                    int dst_width, 
     256                    int, 
     257                    int); 
     258void ScaleColsUp2_16_C(uint16* dst_ptr, 
     259                       const uint16* src_ptr, 
     260                       int dst_width, 
     261                       int, 
     262                       int); 
     263void ScaleFilterCols_C(uint8* dst_ptr, 
     264                       const uint8* src_ptr, 
     265                       int dst_width, 
     266                       int x, 
     267                       int dx); 
     268void ScaleFilterCols_16_C(uint16* dst_ptr, 
     269                          const uint16* src_ptr, 
     270                          int dst_width, 
     271                          int x, 
     272                          int dx); 
     273void ScaleFilterCols64_C(uint8* dst_ptr, 
     274                         const uint8* src_ptr, 
     275                         int dst_width, 
     276                         int x, 
     277                         int dx); 
     278void ScaleFilterCols64_16_C(uint16* dst_ptr, 
     279                            const uint16* src_ptr, 
     280                            int dst_width, 
     281                            int x, 
     282                            int dx); 
     283void ScaleRowDown38_C(const uint8* src_ptr, 
     284                      ptrdiff_t src_stride, 
     285                      uint8* dst, 
     286                      int dst_width); 
     287void ScaleRowDown38_16_C(const uint16* src_ptr, 
     288                         ptrdiff_t src_stride, 
     289                         uint16* dst, 
     290                         int dst_width); 
    200291void ScaleRowDown38_3_Box_C(const uint8* src_ptr, 
    201292                            ptrdiff_t src_stride, 
    202                             uint8* dst_ptr, int dst_width); 
     293                            uint8* dst_ptr, 
     294                            int dst_width); 
    203295void ScaleRowDown38_3_Box_16_C(const uint16* src_ptr, 
    204296                               ptrdiff_t src_stride, 
    205                                uint16* dst_ptr, int dst_width); 
    206 void ScaleRowDown38_2_Box_C(const uint8* src_ptr, ptrdiff_t src_stride, 
    207                             uint8* dst_ptr, int dst_width); 
    208 void ScaleRowDown38_2_Box_16_C(const uint16* src_ptr, ptrdiff_t src_stride, 
    209                                uint16* dst_ptr, int dst_width); 
     297                               uint16* dst_ptr, 
     298                               int dst_width); 
     299void ScaleRowDown38_2_Box_C(const uint8* src_ptr, 
     300                            ptrdiff_t src_stride, 
     301                            uint8* dst_ptr, 
     302                            int dst_width); 
     303void ScaleRowDown38_2_Box_16_C(const uint16* src_ptr, 
     304                               ptrdiff_t src_stride, 
     305                               uint16* dst_ptr, 
     306                               int dst_width); 
    210307void ScaleAddRow_C(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
    211308void ScaleAddRow_16_C(const uint16* src_ptr, uint32* dst_ptr, int src_width); 
    212309void ScaleARGBRowDown2_C(const uint8* src_argb, 
    213310                         ptrdiff_t src_stride, 
    214                          uint8* dst_argb, int dst_width); 
     311                         uint8* dst_argb, 
     312                         int dst_width); 
    215313void ScaleARGBRowDown2Linear_C(const uint8* src_argb, 
    216314                               ptrdiff_t src_stride, 
    217                                uint8* dst_argb, int dst_width); 
    218 void ScaleARGBRowDown2Box_C(const uint8* src_argb, ptrdiff_t src_stride, 
    219                             uint8* dst_argb, int dst_width); 
    220 void ScaleARGBRowDownEven_C(const uint8* src_argb, ptrdiff_t src_stride, 
     315                               uint8* dst_argb, 
     316                               int dst_width); 
     317void ScaleARGBRowDown2Box_C(const uint8* src_argb, 
     318                            ptrdiff_t src_stride, 
     319                            uint8* dst_argb, 
     320                            int dst_width); 
     321void ScaleARGBRowDownEven_C(const uint8* src_argb, 
     322                            ptrdiff_t src_stride, 
    221323                            int src_stepx, 
    222                             uint8* dst_argb, int dst_width); 
     324                            uint8* dst_argb, 
     325                            int dst_width); 
    223326void ScaleARGBRowDownEvenBox_C(const uint8* src_argb, 
    224327                               ptrdiff_t src_stride, 
    225328                               int src_stepx, 
    226                                uint8* dst_argb, int dst_width); 
    227 void ScaleARGBCols_C(uint8* dst_argb, const uint8* src_argb, 
    228                      int dst_width, int x, int dx); 
    229 void ScaleARGBCols64_C(uint8* dst_argb, const uint8* src_argb, 
    230                        int dst_width, int x, int dx); 
    231 void ScaleARGBColsUp2_C(uint8* dst_argb, const uint8* src_argb, 
    232                         int dst_width, int, int); 
    233 void ScaleARGBFilterCols_C(uint8* dst_argb, const uint8* src_argb, 
    234                            int dst_width, int x, int dx); 
    235 void ScaleARGBFilterCols64_C(uint8* dst_argb, const uint8* src_argb, 
    236                              int dst_width, int x, int dx); 
     329                               uint8* dst_argb, 
     330                               int dst_width); 
     331void ScaleARGBCols_C(uint8* dst_argb, 
     332                     const uint8* src_argb, 
     333                     int dst_width, 
     334                     int x, 
     335                     int dx); 
     336void ScaleARGBCols64_C(uint8* dst_argb, 
     337                       const uint8* src_argb, 
     338                       int dst_width, 
     339                       int x, 
     340                       int dx); 
     341void ScaleARGBColsUp2_C(uint8* dst_argb, 
     342                        const uint8* src_argb, 
     343                        int dst_width, 
     344                        int, 
     345                        int); 
     346void ScaleARGBFilterCols_C(uint8* dst_argb, 
     347                           const uint8* src_argb, 
     348                           int dst_width, 
     349                           int x, 
     350                           int dx); 
     351void ScaleARGBFilterCols64_C(uint8* dst_argb, 
     352                             const uint8* src_argb, 
     353                             int dst_width, 
     354                             int x, 
     355                             int dx); 
    237356 
    238357// Specialized scalers for x86. 
    239 void ScaleRowDown2_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    240                          uint8* dst_ptr, int dst_width); 
    241 void ScaleRowDown2Linear_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    242                                uint8* dst_ptr, int dst_width); 
    243 void ScaleRowDown2Box_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    244                             uint8* dst_ptr, int dst_width); 
    245 void ScaleRowDown2_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    246                         uint8* dst_ptr, int dst_width); 
    247 void ScaleRowDown2Linear_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    248                               uint8* dst_ptr, int dst_width); 
    249 void ScaleRowDown2Box_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    250                            uint8* dst_ptr, int dst_width); 
    251 void ScaleRowDown4_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    252                          uint8* dst_ptr, int dst_width); 
    253 void ScaleRowDown4Box_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    254                             uint8* dst_ptr, int dst_width); 
    255 void ScaleRowDown4_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    256                         uint8* dst_ptr, int dst_width); 
    257 void ScaleRowDown4Box_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    258                            uint8* dst_ptr, int dst_width); 
    259  
    260 void ScaleRowDown34_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    261                           uint8* dst_ptr, int dst_width); 
     358void ScaleRowDown2_SSSE3(const uint8* src_ptr, 
     359                         ptrdiff_t src_stride, 
     360                         uint8* dst_ptr, 
     361                         int dst_width); 
     362void ScaleRowDown2Linear_SSSE3(const uint8* src_ptr, 
     363                               ptrdiff_t src_stride, 
     364                               uint8* dst_ptr, 
     365                               int dst_width); 
     366void ScaleRowDown2Box_SSSE3(const uint8* src_ptr, 
     367                            ptrdiff_t src_stride, 
     368                            uint8* dst_ptr, 
     369                            int dst_width); 
     370void ScaleRowDown2_AVX2(const uint8* src_ptr, 
     371                        ptrdiff_t src_stride, 
     372                        uint8* dst_ptr, 
     373                        int dst_width); 
     374void ScaleRowDown2Linear_AVX2(const uint8* src_ptr, 
     375                              ptrdiff_t src_stride, 
     376                              uint8* dst_ptr, 
     377                              int dst_width); 
     378void ScaleRowDown2Box_AVX2(const uint8* src_ptr, 
     379                           ptrdiff_t src_stride, 
     380                           uint8* dst_ptr, 
     381                           int dst_width); 
     382void ScaleRowDown4_SSSE3(const uint8* src_ptr, 
     383                         ptrdiff_t src_stride, 
     384                         uint8* dst_ptr, 
     385                         int dst_width); 
     386void ScaleRowDown4Box_SSSE3(const uint8* src_ptr, 
     387                            ptrdiff_t src_stride, 
     388                            uint8* dst_ptr, 
     389                            int dst_width); 
     390void ScaleRowDown4_AVX2(const uint8* src_ptr, 
     391                        ptrdiff_t src_stride, 
     392                        uint8* dst_ptr, 
     393                        int dst_width); 
     394void ScaleRowDown4Box_AVX2(const uint8* src_ptr, 
     395                           ptrdiff_t src_stride, 
     396                           uint8* dst_ptr, 
     397                           int dst_width); 
     398 
     399void ScaleRowDown34_SSSE3(const uint8* src_ptr, 
     400                          ptrdiff_t src_stride, 
     401                          uint8* dst_ptr, 
     402                          int dst_width); 
    262403void ScaleRowDown34_1_Box_SSSE3(const uint8* src_ptr, 
    263404                                ptrdiff_t src_stride, 
    264                                 uint8* dst_ptr, int dst_width); 
     405                                uint8* dst_ptr, 
     406                                int dst_width); 
    265407void ScaleRowDown34_0_Box_SSSE3(const uint8* src_ptr, 
    266408                                ptrdiff_t src_stride, 
    267                                 uint8* dst_ptr, int dst_width); 
    268 void ScaleRowDown38_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    269                           uint8* dst_ptr, int dst_width); 
     409                                uint8* dst_ptr, 
     410                                int dst_width); 
     411void ScaleRowDown38_SSSE3(const uint8* src_ptr, 
     412                          ptrdiff_t src_stride, 
     413                          uint8* dst_ptr, 
     414                          int dst_width); 
    270415void ScaleRowDown38_3_Box_SSSE3(const uint8* src_ptr, 
    271416                                ptrdiff_t src_stride, 
    272                                 uint8* dst_ptr, int dst_width); 
     417                                uint8* dst_ptr, 
     418                                int dst_width); 
    273419void ScaleRowDown38_2_Box_SSSE3(const uint8* src_ptr, 
    274420                                ptrdiff_t src_stride, 
    275                                 uint8* dst_ptr, int dst_width); 
    276 void ScaleRowDown2_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    277                              uint8* dst_ptr, int dst_width); 
    278 void ScaleRowDown2Linear_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    279                                    uint8* dst_ptr, int dst_width); 
    280 void ScaleRowDown2Box_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    281                                 uint8* dst_ptr, int dst_width); 
    282 void ScaleRowDown2Box_Odd_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    283                                 uint8* dst_ptr, int dst_width); 
    284 void ScaleRowDown2_Any_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    285                             uint8* dst_ptr, int dst_width); 
    286 void ScaleRowDown2Linear_Any_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    287                                   uint8* dst_ptr, int dst_width); 
    288 void ScaleRowDown2Box_Any_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    289                                uint8* dst_ptr, int dst_width); 
    290 void ScaleRowDown2Box_Odd_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    291                                uint8* dst_ptr, int dst_width); 
    292 void ScaleRowDown4_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    293                              uint8* dst_ptr, int dst_width); 
    294 void ScaleRowDown4Box_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    295                                 uint8* dst_ptr, int dst_width); 
    296 void ScaleRowDown4_Any_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    297                             uint8* dst_ptr, int dst_width); 
    298 void ScaleRowDown4Box_Any_AVX2(const uint8* src_ptr, ptrdiff_t src_stride, 
    299                                uint8* dst_ptr, int dst_width); 
    300  
    301 void ScaleRowDown34_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    302                               uint8* dst_ptr, int dst_width); 
     421                                uint8* dst_ptr, 
     422                                int dst_width); 
     423void ScaleRowDown2_Any_SSSE3(const uint8* src_ptr, 
     424                             ptrdiff_t src_stride, 
     425                             uint8* dst_ptr, 
     426                             int dst_width); 
     427void ScaleRowDown2Linear_Any_SSSE3(const uint8* src_ptr, 
     428                                   ptrdiff_t src_stride, 
     429                                   uint8* dst_ptr, 
     430                                   int dst_width); 
     431void ScaleRowDown2Box_Any_SSSE3(const uint8* src_ptr, 
     432                                ptrdiff_t src_stride, 
     433                                uint8* dst_ptr, 
     434                                int dst_width); 
     435void ScaleRowDown2Box_Odd_SSSE3(const uint8* src_ptr, 
     436                                ptrdiff_t src_stride, 
     437                                uint8* dst_ptr, 
     438                                int dst_width); 
     439void ScaleRowDown2_Any_AVX2(const uint8* src_ptr, 
     440                            ptrdiff_t src_stride, 
     441                            uint8* dst_ptr, 
     442                            int dst_width); 
     443void ScaleRowDown2Linear_Any_AVX2(const uint8* src_ptr, 
     444                                  ptrdiff_t src_stride, 
     445                                  uint8* dst_ptr, 
     446                                  int dst_width); 
     447void ScaleRowDown2Box_Any_AVX2(const uint8* src_ptr, 
     448                               ptrdiff_t src_stride, 
     449                               uint8* dst_ptr, 
     450                               int dst_width); 
     451void ScaleRowDown2Box_Odd_AVX2(const uint8* src_ptr, 
     452                               ptrdiff_t src_stride, 
     453                               uint8* dst_ptr, 
     454                               int dst_width); 
     455void ScaleRowDown4_Any_SSSE3(const uint8* src_ptr, 
     456                             ptrdiff_t src_stride, 
     457                             uint8* dst_ptr, 
     458                             int dst_width); 
     459void ScaleRowDown4Box_Any_SSSE3(const uint8* src_ptr, 
     460                                ptrdiff_t src_stride, 
     461                                uint8* dst_ptr, 
     462                                int dst_width); 
     463void ScaleRowDown4_Any_AVX2(const uint8* src_ptr, 
     464                            ptrdiff_t src_stride, 
     465                            uint8* dst_ptr, 
     466                            int dst_width); 
     467void ScaleRowDown4Box_Any_AVX2(const uint8* src_ptr, 
     468                               ptrdiff_t src_stride, 
     469                               uint8* dst_ptr, 
     470                               int dst_width); 
     471 
     472void ScaleRowDown34_Any_SSSE3(const uint8* src_ptr, 
     473                              ptrdiff_t src_stride, 
     474                              uint8* dst_ptr, 
     475                              int dst_width); 
    303476void ScaleRowDown34_1_Box_Any_SSSE3(const uint8* src_ptr, 
    304477                                    ptrdiff_t src_stride, 
    305                                     uint8* dst_ptr, int dst_width); 
     478                                    uint8* dst_ptr, 
     479                                    int dst_width); 
    306480void ScaleRowDown34_0_Box_Any_SSSE3(const uint8* src_ptr, 
    307481                                    ptrdiff_t src_stride, 
    308                                     uint8* dst_ptr, int dst_width); 
    309 void ScaleRowDown38_Any_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, 
    310                               uint8* dst_ptr, int dst_width); 
     482                                    uint8* dst_ptr, 
     483                                    int dst_width); 
     484void ScaleRowDown38_Any_SSSE3(const uint8* src_ptr, 
     485                              ptrdiff_t src_stride, 
     486                              uint8* dst_ptr, 
     487                              int dst_width); 
    311488void ScaleRowDown38_3_Box_Any_SSSE3(const uint8* src_ptr, 
    312489                                    ptrdiff_t src_stride, 
    313                                     uint8* dst_ptr, int dst_width); 
     490                                    uint8* dst_ptr, 
     491                                    int dst_width); 
    314492void ScaleRowDown38_2_Box_Any_SSSE3(const uint8* src_ptr, 
    315493                                    ptrdiff_t src_stride, 
    316                                     uint8* dst_ptr, int dst_width); 
     494                                    uint8* dst_ptr, 
     495                                    int dst_width); 
    317496 
    318497void ScaleAddRow_SSE2(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
     
    321500void ScaleAddRow_Any_AVX2(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
    322501 
    323 void ScaleFilterCols_SSSE3(uint8* dst_ptr, const uint8* src_ptr, 
    324                            int dst_width, int x, int dx); 
    325 void ScaleColsUp2_SSE2(uint8* dst_ptr, const uint8* src_ptr, 
    326                        int dst_width, int x, int dx); 
    327  
     502void ScaleFilterCols_SSSE3(uint8* dst_ptr, 
     503                           const uint8* src_ptr, 
     504                           int dst_width, 
     505                           int x, 
     506                           int dx); 
     507void ScaleColsUp2_SSE2(uint8* dst_ptr, 
     508                       const uint8* src_ptr, 
     509                       int dst_width, 
     510                       int x, 
     511                       int dx); 
    328512 
    329513// ARGB Column functions 
    330 void ScaleARGBCols_SSE2(uint8* dst_argb, const uint8* src_argb, 
    331                         int dst_width, int x, int dx); 
    332 void ScaleARGBFilterCols_SSSE3(uint8* dst_argb, const uint8* src_argb, 
    333                                int dst_width, int x, int dx); 
    334 void ScaleARGBColsUp2_SSE2(uint8* dst_argb, const uint8* src_argb, 
    335                            int dst_width, int x, int dx); 
    336 void ScaleARGBFilterCols_NEON(uint8* dst_argb, const uint8* src_argb, 
    337                               int dst_width, int x, int dx); 
    338 void ScaleARGBCols_NEON(uint8* dst_argb, const uint8* src_argb, 
    339                         int dst_width, int x, int dx); 
    340 void ScaleARGBFilterCols_Any_NEON(uint8* dst_argb, const uint8* src_argb, 
    341                                   int dst_width, int x, int dx); 
    342 void ScaleARGBCols_Any_NEON(uint8* dst_argb, const uint8* src_argb, 
    343                             int dst_width, int x, int dx); 
     514void ScaleARGBCols_SSE2(uint8* dst_argb, 
     515                        const uint8* src_argb, 
     516                        int dst_width, 
     517                        int x, 
     518                        int dx); 
     519void ScaleARGBFilterCols_SSSE3(uint8* dst_argb, 
     520                               const uint8* src_argb, 
     521                               int dst_width, 
     522                               int x, 
     523                               int dx); 
     524void ScaleARGBColsUp2_SSE2(uint8* dst_argb, 
     525                           const uint8* src_argb, 
     526                           int dst_width, 
     527                           int x, 
     528                           int dx); 
     529void ScaleARGBFilterCols_NEON(uint8* dst_argb, 
     530                              const uint8* src_argb, 
     531                              int dst_width, 
     532                              int x, 
     533                              int dx); 
     534void ScaleARGBCols_NEON(uint8* dst_argb, 
     535                        const uint8* src_argb, 
     536                        int dst_width, 
     537                        int x, 
     538                        int dx); 
     539void ScaleARGBFilterCols_Any_NEON(uint8* dst_argb, 
     540                                  const uint8* src_argb, 
     541                                  int dst_width, 
     542                                  int x, 
     543                                  int dx); 
     544void ScaleARGBCols_Any_NEON(uint8* dst_argb, 
     545                            const uint8* src_argb, 
     546                            int dst_width, 
     547                            int x, 
     548                            int dx); 
    344549 
    345550// ARGB Row functions 
    346 void ScaleARGBRowDown2_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    347                             uint8* dst_argb, int dst_width); 
    348 void ScaleARGBRowDown2Linear_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    349                                   uint8* dst_argb, int dst_width); 
    350 void ScaleARGBRowDown2Box_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    351                                uint8* dst_argb, int dst_width); 
    352 void ScaleARGBRowDown2_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    353                             uint8* dst, int dst_width); 
    354 void ScaleARGBRowDown2Linear_NEON(const uint8* src_argb, ptrdiff_t src_stride, 
    355                                   uint8* dst_argb, int dst_width); 
    356 void ScaleARGBRowDown2Box_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    357                                uint8* dst, int dst_width); 
    358 void ScaleARGBRowDown2_Any_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    359                                 uint8* dst_argb, int dst_width); 
     551void ScaleARGBRowDown2_SSE2(const uint8* src_argb, 
     552                            ptrdiff_t src_stride, 
     553                            uint8* dst_argb, 
     554                            int dst_width); 
     555void ScaleARGBRowDown2Linear_SSE2(const uint8* src_argb, 
     556                                  ptrdiff_t src_stride, 
     557                                  uint8* dst_argb, 
     558                                  int dst_width); 
     559void ScaleARGBRowDown2Box_SSE2(const uint8* src_argb, 
     560                               ptrdiff_t src_stride, 
     561                               uint8* dst_argb, 
     562                               int dst_width); 
     563void ScaleARGBRowDown2_NEON(const uint8* src_ptr, 
     564                            ptrdiff_t src_stride, 
     565                            uint8* dst, 
     566                            int dst_width); 
     567void ScaleARGBRowDown2Linear_NEON(const uint8* src_argb, 
     568                                  ptrdiff_t src_stride, 
     569                                  uint8* dst_argb, 
     570                                  int dst_width); 
     571void ScaleARGBRowDown2Box_NEON(const uint8* src_ptr, 
     572                               ptrdiff_t src_stride, 
     573                               uint8* dst, 
     574                               int dst_width); 
     575void ScaleARGBRowDown2_MSA(const uint8_t* src_argb, 
     576                           ptrdiff_t src_stride, 
     577                           uint8_t* dst_argb, 
     578                           int dst_width); 
     579void ScaleARGBRowDown2Linear_MSA(const uint8_t* src_argb, 
     580                                 ptrdiff_t src_stride, 
     581                                 uint8_t* dst_argb, 
     582                                 int dst_width); 
     583void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb, 
     584                              ptrdiff_t src_stride, 
     585                              uint8_t* dst_argb, 
     586                              int dst_width); 
     587void ScaleARGBRowDown2_Any_SSE2(const uint8* src_argb, 
     588                                ptrdiff_t src_stride, 
     589                                uint8* dst_argb, 
     590                                int dst_width); 
    360591void ScaleARGBRowDown2Linear_Any_SSE2(const uint8* src_argb, 
    361592                                      ptrdiff_t src_stride, 
    362                                       uint8* dst_argb, int dst_width); 
    363 void ScaleARGBRowDown2Box_Any_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    364                                    uint8* dst_argb, int dst_width); 
    365 void ScaleARGBRowDown2_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    366                                 uint8* dst, int dst_width); 
     593                                      uint8* dst_argb, 
     594                                      int dst_width); 
     595void ScaleARGBRowDown2Box_Any_SSE2(const uint8* src_argb, 
     596                                   ptrdiff_t src_stride, 
     597                                   uint8* dst_argb, 
     598                                   int dst_width); 
     599void ScaleARGBRowDown2_Any_NEON(const uint8* src_ptr, 
     600                                ptrdiff_t src_stride, 
     601                                uint8* dst, 
     602                                int dst_width); 
    367603void ScaleARGBRowDown2Linear_Any_NEON(const uint8* src_argb, 
    368604                                      ptrdiff_t src_stride, 
    369                                       uint8* dst_argb, int dst_width); 
    370 void ScaleARGBRowDown2Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    371                                    uint8* dst, int dst_width); 
    372  
    373 void ScaleARGBRowDownEven_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
    374                                int src_stepx, uint8* dst_argb, int dst_width); 
    375 void ScaleARGBRowDownEvenBox_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
     605                                      uint8* dst_argb, 
     606                                      int dst_width); 
     607void ScaleARGBRowDown2Box_Any_NEON(const uint8* src_ptr, 
     608                                   ptrdiff_t src_stride, 
     609                                   uint8* dst, 
     610                                   int dst_width); 
     611void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_argb, 
     612                               ptrdiff_t src_stride, 
     613                               uint8_t* dst_argb, 
     614                               int dst_width); 
     615void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_argb, 
     616                                     ptrdiff_t src_stride, 
     617                                     uint8_t* dst_argb, 
     618                                     int dst_width); 
     619void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_argb, 
     620                                  ptrdiff_t src_stride, 
     621                                  uint8_t* dst_argb, 
     622                                  int dst_width); 
     623 
     624void ScaleARGBRowDownEven_SSE2(const uint8* src_argb, 
     625                               ptrdiff_t src_stride, 
     626                               int src_stepx, 
     627                               uint8* dst_argb, 
     628                               int dst_width); 
     629void ScaleARGBRowDownEvenBox_SSE2(const uint8* src_argb, 
     630                                  ptrdiff_t src_stride, 
    376631                                  int src_stepx, 
    377                                   uint8* dst_argb, int dst_width); 
    378 void ScaleARGBRowDownEven_NEON(const uint8* src_argb, ptrdiff_t src_stride, 
     632                                  uint8* dst_argb, 
     633                                  int dst_width); 
     634void ScaleARGBRowDownEven_NEON(const uint8* src_argb, 
     635                               ptrdiff_t src_stride, 
    379636                               int src_stepx, 
    380                                uint8* dst_argb, int dst_width); 
    381 void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, ptrdiff_t src_stride, 
     637                               uint8* dst_argb, 
     638                               int dst_width); 
     639void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, 
     640                                  ptrdiff_t src_stride, 
    382641                                  int src_stepx, 
    383                                   uint8* dst_argb, int dst_width); 
    384 void ScaleARGBRowDownEven_Any_SSE2(const uint8* src_argb, ptrdiff_t src_stride, 
     642                                  uint8* dst_argb, 
     643                                  int dst_width); 
     644void ScaleARGBRowDownEven_MSA(const uint8_t* src_argb, 
     645                              ptrdiff_t src_stride, 
     646                              int32_t src_stepx, 
     647                              uint8_t* dst_argb, 
     648                              int dst_width); 
     649void ScaleARGBRowDownEvenBox_MSA(const uint8* src_argb, 
     650                                 ptrdiff_t src_stride, 
     651                                 int src_stepx, 
     652                                 uint8* dst_argb, 
     653                                 int dst_width); 
     654void ScaleARGBRowDownEven_Any_SSE2(const uint8* src_argb, 
     655                                   ptrdiff_t src_stride, 
    385656                                   int src_stepx, 
    386                                    uint8* dst_argb, int dst_width); 
     657                                   uint8* dst_argb, 
     658                                   int dst_width); 
    387659void ScaleARGBRowDownEvenBox_Any_SSE2(const uint8* src_argb, 
    388660                                      ptrdiff_t src_stride, 
    389661                                      int src_stepx, 
    390                                       uint8* dst_argb, int dst_width); 
    391 void ScaleARGBRowDownEven_Any_NEON(const uint8* src_argb, ptrdiff_t src_stride, 
     662                                      uint8* dst_argb, 
     663                                      int dst_width); 
     664void ScaleARGBRowDownEven_Any_NEON(const uint8* src_argb, 
     665                                   ptrdiff_t src_stride, 
    392666                                   int src_stepx, 
    393                                    uint8* dst_argb, int dst_width); 
     667                                   uint8* dst_argb, 
     668                                   int dst_width); 
    394669void ScaleARGBRowDownEvenBox_Any_NEON(const uint8* src_argb, 
    395670                                      ptrdiff_t src_stride, 
    396671                                      int src_stepx, 
    397                                       uint8* dst_argb, int dst_width); 
     672                                      uint8* dst_argb, 
     673                                      int dst_width); 
     674void ScaleARGBRowDownEven_Any_MSA(const uint8_t* src_argb, 
     675                                  ptrdiff_t src_stride, 
     676                                  int32_t src_stepx, 
     677                                  uint8_t* dst_argb, 
     678                                  int dst_width); 
     679void ScaleARGBRowDownEvenBox_Any_MSA(const uint8* src_argb, 
     680                                     ptrdiff_t src_stride, 
     681                                     int src_stepx, 
     682                                     uint8* dst_argb, 
     683                                     int dst_width); 
    398684 
    399685// ScaleRowDown2Box also used by planar functions 
     
    401687 
    402688// Note - not static due to reuse in convert for 444 to 420. 
    403 void ScaleRowDown2_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    404                         uint8* dst, int dst_width); 
    405 void ScaleRowDown2Linear_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    406                               uint8* dst, int dst_width); 
    407 void ScaleRowDown2Box_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    408                            uint8* dst, int dst_width); 
    409  
    410 void ScaleRowDown4_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    411                         uint8* dst_ptr, int dst_width); 
    412 void ScaleRowDown4Box_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    413                            uint8* dst_ptr, int dst_width); 
     689void ScaleRowDown2_NEON(const uint8* src_ptr, 
     690                        ptrdiff_t src_stride, 
     691                        uint8* dst, 
     692                        int dst_width); 
     693void ScaleRowDown2Linear_NEON(const uint8* src_ptr, 
     694                              ptrdiff_t src_stride, 
     695                              uint8* dst, 
     696                              int dst_width); 
     697void ScaleRowDown2Box_NEON(const uint8* src_ptr, 
     698                           ptrdiff_t src_stride, 
     699                           uint8* dst, 
     700                           int dst_width); 
     701 
     702void ScaleRowDown4_NEON(const uint8* src_ptr, 
     703                        ptrdiff_t src_stride, 
     704                        uint8* dst_ptr, 
     705                        int dst_width); 
     706void ScaleRowDown4Box_NEON(const uint8* src_ptr, 
     707                           ptrdiff_t src_stride, 
     708                           uint8* dst_ptr, 
     709                           int dst_width); 
    414710 
    415711// Down scale from 4 to 3 pixels. Use the neon multilane read/write 
     
    418714void ScaleRowDown34_NEON(const uint8* src_ptr, 
    419715                         ptrdiff_t src_stride, 
    420                          uint8* dst_ptr, int dst_width); 
     716                         uint8* dst_ptr, 
     717                         int dst_width); 
    421718void ScaleRowDown34_0_Box_NEON(const uint8* src_ptr, 
    422719                               ptrdiff_t src_stride, 
    423                                uint8* dst_ptr, int dst_width); 
     720                               uint8* dst_ptr, 
     721                               int dst_width); 
    424722void ScaleRowDown34_1_Box_NEON(const uint8* src_ptr, 
    425723                               ptrdiff_t src_stride, 
    426                                uint8* dst_ptr, int dst_width); 
     724                               uint8* dst_ptr, 
     725                               int dst_width); 
    427726 
    428727// 32 -> 12 
    429728void ScaleRowDown38_NEON(const uint8* src_ptr, 
    430729                         ptrdiff_t src_stride, 
    431                          uint8* dst_ptr, int dst_width); 
     730                         uint8* dst_ptr, 
     731                         int dst_width); 
    432732// 32x3 -> 12x1 
    433733void ScaleRowDown38_3_Box_NEON(const uint8* src_ptr, 
    434734                               ptrdiff_t src_stride, 
    435                                uint8* dst_ptr, int dst_width); 
     735                               uint8* dst_ptr, 
     736                               int dst_width); 
    436737// 32x2 -> 12x1 
    437738void ScaleRowDown38_2_Box_NEON(const uint8* src_ptr, 
    438739                               ptrdiff_t src_stride, 
    439                                uint8* dst_ptr, int dst_width); 
    440  
    441 void ScaleRowDown2_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    442                             uint8* dst, int dst_width); 
    443 void ScaleRowDown2Linear_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    444                                   uint8* dst, int dst_width); 
    445 void ScaleRowDown2Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    446                                uint8* dst, int dst_width); 
    447 void ScaleRowDown2Box_Odd_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    448                                uint8* dst, int dst_width); 
    449 void ScaleRowDown4_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    450                             uint8* dst_ptr, int dst_width); 
    451 void ScaleRowDown4Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    452                                uint8* dst_ptr, int dst_width); 
    453 void ScaleRowDown34_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    454                              uint8* dst_ptr, int dst_width); 
    455 void ScaleRowDown34_0_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    456                                    uint8* dst_ptr, int dst_width); 
    457 void ScaleRowDown34_1_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    458                                    uint8* dst_ptr, int dst_width); 
     740                               uint8* dst_ptr, 
     741                               int dst_width); 
     742 
     743void ScaleRowDown2_Any_NEON(const uint8* src_ptr, 
     744                            ptrdiff_t src_stride, 
     745                            uint8* dst, 
     746                            int dst_width); 
     747void ScaleRowDown2Linear_Any_NEON(const uint8* src_ptr, 
     748                                  ptrdiff_t src_stride, 
     749                                  uint8* dst, 
     750                                  int dst_width); 
     751void ScaleRowDown2Box_Any_NEON(const uint8* src_ptr, 
     752                               ptrdiff_t src_stride, 
     753                               uint8* dst, 
     754                               int dst_width); 
     755void ScaleRowDown2Box_Odd_NEON(const uint8* src_ptr, 
     756                               ptrdiff_t src_stride, 
     757                               uint8* dst, 
     758                               int dst_width); 
     759void ScaleRowDown4_Any_NEON(const uint8* src_ptr, 
     760                            ptrdiff_t src_stride, 
     761                            uint8* dst_ptr, 
     762                            int dst_width); 
     763void ScaleRowDown4Box_Any_NEON(const uint8* src_ptr, 
     764                               ptrdiff_t src_stride, 
     765                               uint8* dst_ptr, 
     766                               int dst_width); 
     767void ScaleRowDown34_Any_NEON(const uint8* src_ptr, 
     768                             ptrdiff_t src_stride, 
     769                             uint8* dst_ptr, 
     770                             int dst_width); 
     771void ScaleRowDown34_0_Box_Any_NEON(const uint8* src_ptr, 
     772                                   ptrdiff_t src_stride, 
     773                                   uint8* dst_ptr, 
     774                                   int dst_width); 
     775void ScaleRowDown34_1_Box_Any_NEON(const uint8* src_ptr, 
     776                                   ptrdiff_t src_stride, 
     777                                   uint8* dst_ptr, 
     778                                   int dst_width); 
    459779// 32 -> 12 
    460 void ScaleRowDown38_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    461                              uint8* dst_ptr, int dst_width); 
     780void ScaleRowDown38_Any_NEON(const uint8* src_ptr, 
     781                             ptrdiff_t src_stride, 
     782                             uint8* dst_ptr, 
     783                             int dst_width); 
    462784// 32x3 -> 12x1 
    463 void ScaleRowDown38_3_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    464                                uint8* dst_ptr, int dst_width); 
     785void ScaleRowDown38_3_Box_Any_NEON(const uint8* src_ptr, 
     786                                   ptrdiff_t src_stride, 
     787                                   uint8* dst_ptr, 
     788                                   int dst_width); 
    465789// 32x2 -> 12x1 
    466 void ScaleRowDown38_2_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 
    467                                uint8* dst_ptr, int dst_width); 
     790void ScaleRowDown38_2_Box_Any_NEON(const uint8* src_ptr, 
     791                                   ptrdiff_t src_stride, 
     792                                   uint8* dst_ptr, 
     793                                   int dst_width); 
    468794 
    469795void ScaleAddRow_NEON(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
    470796void ScaleAddRow_Any_NEON(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
    471797 
    472 void ScaleFilterCols_NEON(uint8* dst_ptr, const uint8* src_ptr, 
    473                           int dst_width, int x, int dx); 
    474  
    475 void ScaleFilterCols_Any_NEON(uint8* dst_ptr, const uint8* src_ptr, 
    476                               int dst_width, int x, int dx); 
    477  
    478 void ScaleRowDown2_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    479                          uint8* dst, int dst_width); 
    480 void ScaleRowDown2Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    481                             uint8* dst, int dst_width); 
    482 void ScaleRowDown4_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    483                          uint8* dst, int dst_width); 
    484 void ScaleRowDown4Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    485                             uint8* dst, int dst_width); 
    486 void ScaleRowDown34_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    487                           uint8* dst, int dst_width); 
    488 void ScaleRowDown34_0_Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    489                                 uint8* d, int dst_width); 
    490 void ScaleRowDown34_1_Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    491                                 uint8* d, int dst_width); 
    492 void ScaleRowDown38_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    493                           uint8* dst, int dst_width); 
    494 void ScaleRowDown38_2_Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    495                                 uint8* dst_ptr, int dst_width); 
    496 void ScaleRowDown38_3_Box_DSPR2(const uint8* src_ptr, ptrdiff_t src_stride, 
    497                                 uint8* dst_ptr, int dst_width); 
     798void ScaleFilterCols_NEON(uint8* dst_ptr, 
     799                          const uint8* src_ptr, 
     800                          int dst_width, 
     801                          int x, 
     802                          int dx); 
     803 
     804void ScaleFilterCols_Any_NEON(uint8* dst_ptr, 
     805                              const uint8* src_ptr, 
     806                              int dst_width, 
     807                              int x, 
     808                              int dx); 
     809 
     810void ScaleRowDown2_DSPR2(const uint8* src_ptr, 
     811                         ptrdiff_t src_stride, 
     812                         uint8* dst, 
     813                         int dst_width); 
     814void ScaleRowDown2Box_DSPR2(const uint8* src_ptr, 
     815                            ptrdiff_t src_stride, 
     816                            uint8* dst, 
     817                            int dst_width); 
     818void ScaleRowDown4_DSPR2(const uint8* src_ptr, 
     819                         ptrdiff_t src_stride, 
     820                         uint8* dst, 
     821                         int dst_width); 
     822void ScaleRowDown4Box_DSPR2(const uint8* src_ptr, 
     823                            ptrdiff_t src_stride, 
     824                            uint8* dst, 
     825                            int dst_width); 
     826void ScaleRowDown34_DSPR2(const uint8* src_ptr, 
     827                          ptrdiff_t src_stride, 
     828                          uint8* dst, 
     829                          int dst_width); 
     830void ScaleRowDown34_0_Box_DSPR2(const uint8* src_ptr, 
     831                                ptrdiff_t src_stride, 
     832                                uint8* d, 
     833                                int dst_width); 
     834void ScaleRowDown34_1_Box_DSPR2(const uint8* src_ptr, 
     835                                ptrdiff_t src_stride, 
     836                                uint8* d, 
     837                                int dst_width); 
     838void ScaleRowDown38_DSPR2(const uint8* src_ptr, 
     839                          ptrdiff_t src_stride, 
     840                          uint8* dst, 
     841                          int dst_width); 
     842void ScaleRowDown38_2_Box_DSPR2(const uint8* src_ptr, 
     843                                ptrdiff_t src_stride, 
     844                                uint8* dst_ptr, 
     845                                int dst_width); 
     846void ScaleRowDown38_3_Box_DSPR2(const uint8* src_ptr, 
     847                                ptrdiff_t src_stride, 
     848                                uint8* dst_ptr, 
     849                                int dst_width); 
     850void ScaleAddRow_DSPR2(const uint8* src_ptr, uint16* dst_ptr, int src_width); 
     851void ScaleAddRow_Any_DSPR2(const uint8* src_ptr, 
     852                           uint16* dst_ptr, 
     853                           int src_width); 
     854 
     855void ScaleRowDown2_MSA(const uint8_t* src_ptr, 
     856                       ptrdiff_t src_stride, 
     857                       uint8_t* dst, 
     858                       int dst_width); 
     859void ScaleRowDown2Linear_MSA(const uint8_t* src_ptr, 
     860                             ptrdiff_t src_stride, 
     861                             uint8_t* dst, 
     862                             int dst_width); 
     863void ScaleRowDown2Box_MSA(const uint8_t* src_ptr, 
     864                          ptrdiff_t src_stride, 
     865                          uint8_t* dst, 
     866                          int dst_width); 
     867void ScaleRowDown4_MSA(const uint8_t* src_ptr, 
     868                       ptrdiff_t src_stride, 
     869                       uint8_t* dst, 
     870                       int dst_width); 
     871void ScaleRowDown4Box_MSA(const uint8_t* src_ptr, 
     872                          ptrdiff_t src_stride, 
     873                          uint8_t* dst, 
     874                          int dst_width); 
     875void ScaleRowDown38_MSA(const uint8_t* src_ptr, 
     876                        ptrdiff_t src_stride, 
     877                        uint8_t* dst, 
     878                        int dst_width); 
     879void ScaleRowDown38_2_Box_MSA(const uint8_t* src_ptr, 
     880                              ptrdiff_t src_stride, 
     881                              uint8_t* dst_ptr, 
     882                              int dst_width); 
     883void ScaleRowDown38_3_Box_MSA(const uint8_t* src_ptr, 
     884                              ptrdiff_t src_stride, 
     885                              uint8_t* dst_ptr, 
     886                              int dst_width); 
     887void ScaleAddRow_MSA(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); 
     888void ScaleRowDown2_Any_MSA(const uint8_t* src_ptr, 
     889                           ptrdiff_t src_stride, 
     890                           uint8_t* dst, 
     891                           int dst_width); 
     892void ScaleRowDown2Linear_Any_MSA(const uint8_t* src_ptr, 
     893                                 ptrdiff_t src_stride, 
     894                                 uint8_t* dst, 
     895                                 int dst_width); 
     896void ScaleRowDown2Box_Any_MSA(const uint8_t* src_ptr, 
     897                              ptrdiff_t src_stride, 
     898                              uint8_t* dst, 
     899                              int dst_width); 
     900void ScaleRowDown4_Any_MSA(const uint8_t* src_ptr, 
     901                           ptrdiff_t src_stride, 
     902                           uint8_t* dst, 
     903                           int dst_width); 
     904void ScaleRowDown4Box_Any_MSA(const uint8_t* src_ptr, 
     905                              ptrdiff_t src_stride, 
     906                              uint8_t* dst, 
     907                              int dst_width); 
     908void ScaleRowDown38_Any_MSA(const uint8_t* src_ptr, 
     909                            ptrdiff_t src_stride, 
     910                            uint8_t* dst, 
     911                            int dst_width); 
     912void ScaleRowDown38_2_Box_Any_MSA(const uint8_t* src_ptr, 
     913                                  ptrdiff_t src_stride, 
     914                                  uint8_t* dst_ptr, 
     915                                  int dst_width); 
     916void ScaleRowDown38_3_Box_Any_MSA(const uint8_t* src_ptr, 
     917                                  ptrdiff_t src_stride, 
     918                                  uint8_t* dst_ptr, 
     919                                  int dst_width); 
     920void ScaleAddRow_Any_MSA(const uint8_t* src_ptr, 
     921                         uint16_t* dst_ptr, 
     922                         int src_width); 
    498923 
    499924#ifdef __cplusplus 
     
    502927#endif 
    503928 
    504 #endif  // INCLUDE_LIBYUV_SCALE_ROW_H_  NOLINT 
     929#endif  // INCLUDE_LIBYUV_SCALE_ROW_H_ 
Note: See TracChangeset for help on using the changeset viewer.