- Timestamp:
- Jul 28, 2017 2:51:44 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/third_party/yuv/include/libyuv/scale_row.h
r5358 r5633 9 9 */ 10 10 11 #ifndef INCLUDE_LIBYUV_SCALE_ROW_H_ // NOLINT11 #ifndef INCLUDE_LIBYUV_SCALE_ROW_H_ 12 12 #define INCLUDE_LIBYUV_SCALE_ROW_H_ 13 13 … … 46 46 47 47 // Visual C 2012 required for AVX2. 48 #if defined(_M_IX86) && !defined(__clang__) && \49 defined(_MSC_VER) &&_MSC_VER >= 170048 #if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ 49 _MSC_VER >= 1700 50 50 #define VISUALC_HAS_AVX2 1 51 51 #endif // VisualStudio >= 2012 … … 62 62 #define HAS_SCALEARGBROWDOWNEVEN_SSE2 63 63 #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 66 65 #define HAS_SCALEROWDOWN2_SSSE3 67 66 #define HAS_SCALEROWDOWN34_SSSE3 … … 74 73 // require VS2012, clang 3.4 or gcc 4.7. 75 74 // 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)) 78 78 #define HAS_SCALEADDROW_AVX2 79 79 #define HAS_SCALEROWDOWN2_AVX2 … … 96 96 97 97 // 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__) && \ 99 99 defined(__mips__) && defined(__mips_dsp) && (__mips_dsp_rev >= 2) 100 100 #define HAS_SCALEROWDOWN2_DSPR2 … … 102 102 #define HAS_SCALEROWDOWN34_DSPR2 103 103 #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 104 114 #endif 105 115 106 116 // Scale ARGB vertically with bilinear interpolation. 107 117 void 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); 113 129 114 130 void 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); 120 142 121 143 // Simplify the filtering based on scale factors. 122 enum FilterMode ScaleFilterReduce(int src_width, int src_height, 123 int dst_width, int dst_height, 144 enum FilterMode ScaleFilterReduce(int src_width, 145 int src_height, 146 int dst_width, 147 int dst_height, 124 148 enum FilterMode filtering); 125 149 … … 139 163 140 164 // Compute slope values for stepping. 141 void ScaleSlope(int src_width, int src_height, 142 int dst_width, int dst_height, 165 void ScaleSlope(int src_width, 166 int src_height, 167 int dst_width, 168 int dst_height, 143 169 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 175 void ScaleRowDown2_C(const uint8* src_ptr, 176 ptrdiff_t src_stride, 177 uint8* dst, 178 int dst_width); 179 void ScaleRowDown2_16_C(const uint16* src_ptr, 180 ptrdiff_t src_stride, 181 uint16* dst, 182 int dst_width); 183 void ScaleRowDown2Linear_C(const uint8* src_ptr, 184 ptrdiff_t src_stride, 185 uint8* dst, 186 int dst_width); 187 void ScaleRowDown2Linear_16_C(const uint16* src_ptr, 188 ptrdiff_t src_stride, 189 uint16* dst, 190 int dst_width); 191 void ScaleRowDown2Box_C(const uint8* src_ptr, 192 ptrdiff_t src_stride, 193 uint8* dst, 194 int dst_width); 195 void ScaleRowDown2Box_Odd_C(const uint8* src_ptr, 196 ptrdiff_t src_stride, 197 uint8* dst, 198 int dst_width); 199 void ScaleRowDown2Box_16_C(const uint16* src_ptr, 200 ptrdiff_t src_stride, 201 uint16* dst, 202 int dst_width); 203 void ScaleRowDown4_C(const uint8* src_ptr, 204 ptrdiff_t src_stride, 205 uint8* dst, 206 int dst_width); 207 void ScaleRowDown4_16_C(const uint16* src_ptr, 208 ptrdiff_t src_stride, 209 uint16* dst, 210 int dst_width); 211 void ScaleRowDown4Box_C(const uint8* src_ptr, 212 ptrdiff_t src_stride, 213 uint8* dst, 214 int dst_width); 215 void ScaleRowDown4Box_16_C(const uint16* src_ptr, 216 ptrdiff_t src_stride, 217 uint16* dst, 218 int dst_width); 219 void ScaleRowDown34_C(const uint8* src_ptr, 220 ptrdiff_t src_stride, 221 uint8* dst, 222 int dst_width); 223 void ScaleRowDown34_16_C(const uint16* src_ptr, 224 ptrdiff_t src_stride, 225 uint16* dst, 226 int dst_width); 227 void ScaleRowDown34_0_Box_C(const uint8* src_ptr, 228 ptrdiff_t src_stride, 229 uint8* d, 230 int dst_width); 231 void ScaleRowDown34_0_Box_16_C(const uint16* src_ptr, 232 ptrdiff_t src_stride, 233 uint16* d, 234 int dst_width); 235 void ScaleRowDown34_1_Box_C(const uint8* src_ptr, 236 ptrdiff_t src_stride, 237 uint8* d, 238 int dst_width); 239 void ScaleRowDown34_1_Box_16_C(const uint16* src_ptr, 240 ptrdiff_t src_stride, 241 uint16* d, 242 int dst_width); 243 void ScaleCols_C(uint8* dst_ptr, 244 const uint8* src_ptr, 245 int dst_width, 246 int x, 247 int dx); 248 void ScaleCols_16_C(uint16* dst_ptr, 249 const uint16* src_ptr, 250 int dst_width, 251 int x, 252 int dx); 253 void ScaleColsUp2_C(uint8* dst_ptr, 254 const uint8* src_ptr, 255 int dst_width, 256 int, 257 int); 258 void ScaleColsUp2_16_C(uint16* dst_ptr, 259 const uint16* src_ptr, 260 int dst_width, 261 int, 262 int); 263 void ScaleFilterCols_C(uint8* dst_ptr, 264 const uint8* src_ptr, 265 int dst_width, 266 int x, 267 int dx); 268 void ScaleFilterCols_16_C(uint16* dst_ptr, 269 const uint16* src_ptr, 270 int dst_width, 271 int x, 272 int dx); 273 void ScaleFilterCols64_C(uint8* dst_ptr, 274 const uint8* src_ptr, 275 int dst_width, 276 int x, 277 int dx); 278 void ScaleFilterCols64_16_C(uint16* dst_ptr, 279 const uint16* src_ptr, 280 int dst_width, 281 int x, 282 int dx); 283 void ScaleRowDown38_C(const uint8* src_ptr, 284 ptrdiff_t src_stride, 285 uint8* dst, 286 int dst_width); 287 void ScaleRowDown38_16_C(const uint16* src_ptr, 288 ptrdiff_t src_stride, 289 uint16* dst, 290 int dst_width); 200 291 void ScaleRowDown38_3_Box_C(const uint8* src_ptr, 201 292 ptrdiff_t src_stride, 202 uint8* dst_ptr, int dst_width); 293 uint8* dst_ptr, 294 int dst_width); 203 295 void ScaleRowDown38_3_Box_16_C(const uint16* src_ptr, 204 296 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); 299 void ScaleRowDown38_2_Box_C(const uint8* src_ptr, 300 ptrdiff_t src_stride, 301 uint8* dst_ptr, 302 int dst_width); 303 void ScaleRowDown38_2_Box_16_C(const uint16* src_ptr, 304 ptrdiff_t src_stride, 305 uint16* dst_ptr, 306 int dst_width); 210 307 void ScaleAddRow_C(const uint8* src_ptr, uint16* dst_ptr, int src_width); 211 308 void ScaleAddRow_16_C(const uint16* src_ptr, uint32* dst_ptr, int src_width); 212 309 void ScaleARGBRowDown2_C(const uint8* src_argb, 213 310 ptrdiff_t src_stride, 214 uint8* dst_argb, int dst_width); 311 uint8* dst_argb, 312 int dst_width); 215 313 void ScaleARGBRowDown2Linear_C(const uint8* src_argb, 216 314 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); 317 void ScaleARGBRowDown2Box_C(const uint8* src_argb, 318 ptrdiff_t src_stride, 319 uint8* dst_argb, 320 int dst_width); 321 void ScaleARGBRowDownEven_C(const uint8* src_argb, 322 ptrdiff_t src_stride, 221 323 int src_stepx, 222 uint8* dst_argb, int dst_width); 324 uint8* dst_argb, 325 int dst_width); 223 326 void ScaleARGBRowDownEvenBox_C(const uint8* src_argb, 224 327 ptrdiff_t src_stride, 225 328 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); 331 void ScaleARGBCols_C(uint8* dst_argb, 332 const uint8* src_argb, 333 int dst_width, 334 int x, 335 int dx); 336 void ScaleARGBCols64_C(uint8* dst_argb, 337 const uint8* src_argb, 338 int dst_width, 339 int x, 340 int dx); 341 void ScaleARGBColsUp2_C(uint8* dst_argb, 342 const uint8* src_argb, 343 int dst_width, 344 int, 345 int); 346 void ScaleARGBFilterCols_C(uint8* dst_argb, 347 const uint8* src_argb, 348 int dst_width, 349 int x, 350 int dx); 351 void ScaleARGBFilterCols64_C(uint8* dst_argb, 352 const uint8* src_argb, 353 int dst_width, 354 int x, 355 int dx); 237 356 238 357 // 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); 358 void ScaleRowDown2_SSSE3(const uint8* src_ptr, 359 ptrdiff_t src_stride, 360 uint8* dst_ptr, 361 int dst_width); 362 void ScaleRowDown2Linear_SSSE3(const uint8* src_ptr, 363 ptrdiff_t src_stride, 364 uint8* dst_ptr, 365 int dst_width); 366 void ScaleRowDown2Box_SSSE3(const uint8* src_ptr, 367 ptrdiff_t src_stride, 368 uint8* dst_ptr, 369 int dst_width); 370 void ScaleRowDown2_AVX2(const uint8* src_ptr, 371 ptrdiff_t src_stride, 372 uint8* dst_ptr, 373 int dst_width); 374 void ScaleRowDown2Linear_AVX2(const uint8* src_ptr, 375 ptrdiff_t src_stride, 376 uint8* dst_ptr, 377 int dst_width); 378 void ScaleRowDown2Box_AVX2(const uint8* src_ptr, 379 ptrdiff_t src_stride, 380 uint8* dst_ptr, 381 int dst_width); 382 void ScaleRowDown4_SSSE3(const uint8* src_ptr, 383 ptrdiff_t src_stride, 384 uint8* dst_ptr, 385 int dst_width); 386 void ScaleRowDown4Box_SSSE3(const uint8* src_ptr, 387 ptrdiff_t src_stride, 388 uint8* dst_ptr, 389 int dst_width); 390 void ScaleRowDown4_AVX2(const uint8* src_ptr, 391 ptrdiff_t src_stride, 392 uint8* dst_ptr, 393 int dst_width); 394 void ScaleRowDown4Box_AVX2(const uint8* src_ptr, 395 ptrdiff_t src_stride, 396 uint8* dst_ptr, 397 int dst_width); 398 399 void ScaleRowDown34_SSSE3(const uint8* src_ptr, 400 ptrdiff_t src_stride, 401 uint8* dst_ptr, 402 int dst_width); 262 403 void ScaleRowDown34_1_Box_SSSE3(const uint8* src_ptr, 263 404 ptrdiff_t src_stride, 264 uint8* dst_ptr, int dst_width); 405 uint8* dst_ptr, 406 int dst_width); 265 407 void ScaleRowDown34_0_Box_SSSE3(const uint8* src_ptr, 266 408 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); 411 void ScaleRowDown38_SSSE3(const uint8* src_ptr, 412 ptrdiff_t src_stride, 413 uint8* dst_ptr, 414 int dst_width); 270 415 void ScaleRowDown38_3_Box_SSSE3(const uint8* src_ptr, 271 416 ptrdiff_t src_stride, 272 uint8* dst_ptr, int dst_width); 417 uint8* dst_ptr, 418 int dst_width); 273 419 void ScaleRowDown38_2_Box_SSSE3(const uint8* src_ptr, 274 420 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); 423 void ScaleRowDown2_Any_SSSE3(const uint8* src_ptr, 424 ptrdiff_t src_stride, 425 uint8* dst_ptr, 426 int dst_width); 427 void ScaleRowDown2Linear_Any_SSSE3(const uint8* src_ptr, 428 ptrdiff_t src_stride, 429 uint8* dst_ptr, 430 int dst_width); 431 void ScaleRowDown2Box_Any_SSSE3(const uint8* src_ptr, 432 ptrdiff_t src_stride, 433 uint8* dst_ptr, 434 int dst_width); 435 void ScaleRowDown2Box_Odd_SSSE3(const uint8* src_ptr, 436 ptrdiff_t src_stride, 437 uint8* dst_ptr, 438 int dst_width); 439 void ScaleRowDown2_Any_AVX2(const uint8* src_ptr, 440 ptrdiff_t src_stride, 441 uint8* dst_ptr, 442 int dst_width); 443 void ScaleRowDown2Linear_Any_AVX2(const uint8* src_ptr, 444 ptrdiff_t src_stride, 445 uint8* dst_ptr, 446 int dst_width); 447 void ScaleRowDown2Box_Any_AVX2(const uint8* src_ptr, 448 ptrdiff_t src_stride, 449 uint8* dst_ptr, 450 int dst_width); 451 void ScaleRowDown2Box_Odd_AVX2(const uint8* src_ptr, 452 ptrdiff_t src_stride, 453 uint8* dst_ptr, 454 int dst_width); 455 void ScaleRowDown4_Any_SSSE3(const uint8* src_ptr, 456 ptrdiff_t src_stride, 457 uint8* dst_ptr, 458 int dst_width); 459 void ScaleRowDown4Box_Any_SSSE3(const uint8* src_ptr, 460 ptrdiff_t src_stride, 461 uint8* dst_ptr, 462 int dst_width); 463 void ScaleRowDown4_Any_AVX2(const uint8* src_ptr, 464 ptrdiff_t src_stride, 465 uint8* dst_ptr, 466 int dst_width); 467 void ScaleRowDown4Box_Any_AVX2(const uint8* src_ptr, 468 ptrdiff_t src_stride, 469 uint8* dst_ptr, 470 int dst_width); 471 472 void ScaleRowDown34_Any_SSSE3(const uint8* src_ptr, 473 ptrdiff_t src_stride, 474 uint8* dst_ptr, 475 int dst_width); 303 476 void ScaleRowDown34_1_Box_Any_SSSE3(const uint8* src_ptr, 304 477 ptrdiff_t src_stride, 305 uint8* dst_ptr, int dst_width); 478 uint8* dst_ptr, 479 int dst_width); 306 480 void ScaleRowDown34_0_Box_Any_SSSE3(const uint8* src_ptr, 307 481 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); 484 void ScaleRowDown38_Any_SSSE3(const uint8* src_ptr, 485 ptrdiff_t src_stride, 486 uint8* dst_ptr, 487 int dst_width); 311 488 void ScaleRowDown38_3_Box_Any_SSSE3(const uint8* src_ptr, 312 489 ptrdiff_t src_stride, 313 uint8* dst_ptr, int dst_width); 490 uint8* dst_ptr, 491 int dst_width); 314 492 void ScaleRowDown38_2_Box_Any_SSSE3(const uint8* src_ptr, 315 493 ptrdiff_t src_stride, 316 uint8* dst_ptr, int dst_width); 494 uint8* dst_ptr, 495 int dst_width); 317 496 318 497 void ScaleAddRow_SSE2(const uint8* src_ptr, uint16* dst_ptr, int src_width); … … 321 500 void ScaleAddRow_Any_AVX2(const uint8* src_ptr, uint16* dst_ptr, int src_width); 322 501 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 502 void ScaleFilterCols_SSSE3(uint8* dst_ptr, 503 const uint8* src_ptr, 504 int dst_width, 505 int x, 506 int dx); 507 void ScaleColsUp2_SSE2(uint8* dst_ptr, 508 const uint8* src_ptr, 509 int dst_width, 510 int x, 511 int dx); 328 512 329 513 // 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); 514 void ScaleARGBCols_SSE2(uint8* dst_argb, 515 const uint8* src_argb, 516 int dst_width, 517 int x, 518 int dx); 519 void ScaleARGBFilterCols_SSSE3(uint8* dst_argb, 520 const uint8* src_argb, 521 int dst_width, 522 int x, 523 int dx); 524 void ScaleARGBColsUp2_SSE2(uint8* dst_argb, 525 const uint8* src_argb, 526 int dst_width, 527 int x, 528 int dx); 529 void ScaleARGBFilterCols_NEON(uint8* dst_argb, 530 const uint8* src_argb, 531 int dst_width, 532 int x, 533 int dx); 534 void ScaleARGBCols_NEON(uint8* dst_argb, 535 const uint8* src_argb, 536 int dst_width, 537 int x, 538 int dx); 539 void ScaleARGBFilterCols_Any_NEON(uint8* dst_argb, 540 const uint8* src_argb, 541 int dst_width, 542 int x, 543 int dx); 544 void ScaleARGBCols_Any_NEON(uint8* dst_argb, 545 const uint8* src_argb, 546 int dst_width, 547 int x, 548 int dx); 344 549 345 550 // 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); 551 void ScaleARGBRowDown2_SSE2(const uint8* src_argb, 552 ptrdiff_t src_stride, 553 uint8* dst_argb, 554 int dst_width); 555 void ScaleARGBRowDown2Linear_SSE2(const uint8* src_argb, 556 ptrdiff_t src_stride, 557 uint8* dst_argb, 558 int dst_width); 559 void ScaleARGBRowDown2Box_SSE2(const uint8* src_argb, 560 ptrdiff_t src_stride, 561 uint8* dst_argb, 562 int dst_width); 563 void ScaleARGBRowDown2_NEON(const uint8* src_ptr, 564 ptrdiff_t src_stride, 565 uint8* dst, 566 int dst_width); 567 void ScaleARGBRowDown2Linear_NEON(const uint8* src_argb, 568 ptrdiff_t src_stride, 569 uint8* dst_argb, 570 int dst_width); 571 void ScaleARGBRowDown2Box_NEON(const uint8* src_ptr, 572 ptrdiff_t src_stride, 573 uint8* dst, 574 int dst_width); 575 void ScaleARGBRowDown2_MSA(const uint8_t* src_argb, 576 ptrdiff_t src_stride, 577 uint8_t* dst_argb, 578 int dst_width); 579 void ScaleARGBRowDown2Linear_MSA(const uint8_t* src_argb, 580 ptrdiff_t src_stride, 581 uint8_t* dst_argb, 582 int dst_width); 583 void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb, 584 ptrdiff_t src_stride, 585 uint8_t* dst_argb, 586 int dst_width); 587 void ScaleARGBRowDown2_Any_SSE2(const uint8* src_argb, 588 ptrdiff_t src_stride, 589 uint8* dst_argb, 590 int dst_width); 360 591 void ScaleARGBRowDown2Linear_Any_SSE2(const uint8* src_argb, 361 592 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); 595 void ScaleARGBRowDown2Box_Any_SSE2(const uint8* src_argb, 596 ptrdiff_t src_stride, 597 uint8* dst_argb, 598 int dst_width); 599 void ScaleARGBRowDown2_Any_NEON(const uint8* src_ptr, 600 ptrdiff_t src_stride, 601 uint8* dst, 602 int dst_width); 367 603 void ScaleARGBRowDown2Linear_Any_NEON(const uint8* src_argb, 368 604 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); 607 void ScaleARGBRowDown2Box_Any_NEON(const uint8* src_ptr, 608 ptrdiff_t src_stride, 609 uint8* dst, 610 int dst_width); 611 void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_argb, 612 ptrdiff_t src_stride, 613 uint8_t* dst_argb, 614 int dst_width); 615 void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_argb, 616 ptrdiff_t src_stride, 617 uint8_t* dst_argb, 618 int dst_width); 619 void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_argb, 620 ptrdiff_t src_stride, 621 uint8_t* dst_argb, 622 int dst_width); 623 624 void ScaleARGBRowDownEven_SSE2(const uint8* src_argb, 625 ptrdiff_t src_stride, 626 int src_stepx, 627 uint8* dst_argb, 628 int dst_width); 629 void ScaleARGBRowDownEvenBox_SSE2(const uint8* src_argb, 630 ptrdiff_t src_stride, 376 631 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); 634 void ScaleARGBRowDownEven_NEON(const uint8* src_argb, 635 ptrdiff_t src_stride, 379 636 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); 639 void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, 640 ptrdiff_t src_stride, 382 641 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); 644 void 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); 649 void ScaleARGBRowDownEvenBox_MSA(const uint8* src_argb, 650 ptrdiff_t src_stride, 651 int src_stepx, 652 uint8* dst_argb, 653 int dst_width); 654 void ScaleARGBRowDownEven_Any_SSE2(const uint8* src_argb, 655 ptrdiff_t src_stride, 385 656 int src_stepx, 386 uint8* dst_argb, int dst_width); 657 uint8* dst_argb, 658 int dst_width); 387 659 void ScaleARGBRowDownEvenBox_Any_SSE2(const uint8* src_argb, 388 660 ptrdiff_t src_stride, 389 661 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); 664 void ScaleARGBRowDownEven_Any_NEON(const uint8* src_argb, 665 ptrdiff_t src_stride, 392 666 int src_stepx, 393 uint8* dst_argb, int dst_width); 667 uint8* dst_argb, 668 int dst_width); 394 669 void ScaleARGBRowDownEvenBox_Any_NEON(const uint8* src_argb, 395 670 ptrdiff_t src_stride, 396 671 int src_stepx, 397 uint8* dst_argb, int dst_width); 672 uint8* dst_argb, 673 int dst_width); 674 void 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); 679 void ScaleARGBRowDownEvenBox_Any_MSA(const uint8* src_argb, 680 ptrdiff_t src_stride, 681 int src_stepx, 682 uint8* dst_argb, 683 int dst_width); 398 684 399 685 // ScaleRowDown2Box also used by planar functions … … 401 687 402 688 // 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); 689 void ScaleRowDown2_NEON(const uint8* src_ptr, 690 ptrdiff_t src_stride, 691 uint8* dst, 692 int dst_width); 693 void ScaleRowDown2Linear_NEON(const uint8* src_ptr, 694 ptrdiff_t src_stride, 695 uint8* dst, 696 int dst_width); 697 void ScaleRowDown2Box_NEON(const uint8* src_ptr, 698 ptrdiff_t src_stride, 699 uint8* dst, 700 int dst_width); 701 702 void ScaleRowDown4_NEON(const uint8* src_ptr, 703 ptrdiff_t src_stride, 704 uint8* dst_ptr, 705 int dst_width); 706 void ScaleRowDown4Box_NEON(const uint8* src_ptr, 707 ptrdiff_t src_stride, 708 uint8* dst_ptr, 709 int dst_width); 414 710 415 711 // Down scale from 4 to 3 pixels. Use the neon multilane read/write … … 418 714 void ScaleRowDown34_NEON(const uint8* src_ptr, 419 715 ptrdiff_t src_stride, 420 uint8* dst_ptr, int dst_width); 716 uint8* dst_ptr, 717 int dst_width); 421 718 void ScaleRowDown34_0_Box_NEON(const uint8* src_ptr, 422 719 ptrdiff_t src_stride, 423 uint8* dst_ptr, int dst_width); 720 uint8* dst_ptr, 721 int dst_width); 424 722 void ScaleRowDown34_1_Box_NEON(const uint8* src_ptr, 425 723 ptrdiff_t src_stride, 426 uint8* dst_ptr, int dst_width); 724 uint8* dst_ptr, 725 int dst_width); 427 726 428 727 // 32 -> 12 429 728 void ScaleRowDown38_NEON(const uint8* src_ptr, 430 729 ptrdiff_t src_stride, 431 uint8* dst_ptr, int dst_width); 730 uint8* dst_ptr, 731 int dst_width); 432 732 // 32x3 -> 12x1 433 733 void ScaleRowDown38_3_Box_NEON(const uint8* src_ptr, 434 734 ptrdiff_t src_stride, 435 uint8* dst_ptr, int dst_width); 735 uint8* dst_ptr, 736 int dst_width); 436 737 // 32x2 -> 12x1 437 738 void ScaleRowDown38_2_Box_NEON(const uint8* src_ptr, 438 739 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 743 void ScaleRowDown2_Any_NEON(const uint8* src_ptr, 744 ptrdiff_t src_stride, 745 uint8* dst, 746 int dst_width); 747 void ScaleRowDown2Linear_Any_NEON(const uint8* src_ptr, 748 ptrdiff_t src_stride, 749 uint8* dst, 750 int dst_width); 751 void ScaleRowDown2Box_Any_NEON(const uint8* src_ptr, 752 ptrdiff_t src_stride, 753 uint8* dst, 754 int dst_width); 755 void ScaleRowDown2Box_Odd_NEON(const uint8* src_ptr, 756 ptrdiff_t src_stride, 757 uint8* dst, 758 int dst_width); 759 void ScaleRowDown4_Any_NEON(const uint8* src_ptr, 760 ptrdiff_t src_stride, 761 uint8* dst_ptr, 762 int dst_width); 763 void ScaleRowDown4Box_Any_NEON(const uint8* src_ptr, 764 ptrdiff_t src_stride, 765 uint8* dst_ptr, 766 int dst_width); 767 void ScaleRowDown34_Any_NEON(const uint8* src_ptr, 768 ptrdiff_t src_stride, 769 uint8* dst_ptr, 770 int dst_width); 771 void ScaleRowDown34_0_Box_Any_NEON(const uint8* src_ptr, 772 ptrdiff_t src_stride, 773 uint8* dst_ptr, 774 int dst_width); 775 void ScaleRowDown34_1_Box_Any_NEON(const uint8* src_ptr, 776 ptrdiff_t src_stride, 777 uint8* dst_ptr, 778 int dst_width); 459 779 // 32 -> 12 460 void ScaleRowDown38_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 461 uint8* dst_ptr, int dst_width); 780 void ScaleRowDown38_Any_NEON(const uint8* src_ptr, 781 ptrdiff_t src_stride, 782 uint8* dst_ptr, 783 int dst_width); 462 784 // 32x3 -> 12x1 463 void ScaleRowDown38_3_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 464 uint8* dst_ptr, int dst_width); 785 void ScaleRowDown38_3_Box_Any_NEON(const uint8* src_ptr, 786 ptrdiff_t src_stride, 787 uint8* dst_ptr, 788 int dst_width); 465 789 // 32x2 -> 12x1 466 void ScaleRowDown38_2_Box_Any_NEON(const uint8* src_ptr, ptrdiff_t src_stride, 467 uint8* dst_ptr, int dst_width); 790 void ScaleRowDown38_2_Box_Any_NEON(const uint8* src_ptr, 791 ptrdiff_t src_stride, 792 uint8* dst_ptr, 793 int dst_width); 468 794 469 795 void ScaleAddRow_NEON(const uint8* src_ptr, uint16* dst_ptr, int src_width); 470 796 void ScaleAddRow_Any_NEON(const uint8* src_ptr, uint16* dst_ptr, int src_width); 471 797 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); 798 void ScaleFilterCols_NEON(uint8* dst_ptr, 799 const uint8* src_ptr, 800 int dst_width, 801 int x, 802 int dx); 803 804 void ScaleFilterCols_Any_NEON(uint8* dst_ptr, 805 const uint8* src_ptr, 806 int dst_width, 807 int x, 808 int dx); 809 810 void ScaleRowDown2_DSPR2(const uint8* src_ptr, 811 ptrdiff_t src_stride, 812 uint8* dst, 813 int dst_width); 814 void ScaleRowDown2Box_DSPR2(const uint8* src_ptr, 815 ptrdiff_t src_stride, 816 uint8* dst, 817 int dst_width); 818 void ScaleRowDown4_DSPR2(const uint8* src_ptr, 819 ptrdiff_t src_stride, 820 uint8* dst, 821 int dst_width); 822 void ScaleRowDown4Box_DSPR2(const uint8* src_ptr, 823 ptrdiff_t src_stride, 824 uint8* dst, 825 int dst_width); 826 void ScaleRowDown34_DSPR2(const uint8* src_ptr, 827 ptrdiff_t src_stride, 828 uint8* dst, 829 int dst_width); 830 void ScaleRowDown34_0_Box_DSPR2(const uint8* src_ptr, 831 ptrdiff_t src_stride, 832 uint8* d, 833 int dst_width); 834 void ScaleRowDown34_1_Box_DSPR2(const uint8* src_ptr, 835 ptrdiff_t src_stride, 836 uint8* d, 837 int dst_width); 838 void ScaleRowDown38_DSPR2(const uint8* src_ptr, 839 ptrdiff_t src_stride, 840 uint8* dst, 841 int dst_width); 842 void ScaleRowDown38_2_Box_DSPR2(const uint8* src_ptr, 843 ptrdiff_t src_stride, 844 uint8* dst_ptr, 845 int dst_width); 846 void ScaleRowDown38_3_Box_DSPR2(const uint8* src_ptr, 847 ptrdiff_t src_stride, 848 uint8* dst_ptr, 849 int dst_width); 850 void ScaleAddRow_DSPR2(const uint8* src_ptr, uint16* dst_ptr, int src_width); 851 void ScaleAddRow_Any_DSPR2(const uint8* src_ptr, 852 uint16* dst_ptr, 853 int src_width); 854 855 void ScaleRowDown2_MSA(const uint8_t* src_ptr, 856 ptrdiff_t src_stride, 857 uint8_t* dst, 858 int dst_width); 859 void ScaleRowDown2Linear_MSA(const uint8_t* src_ptr, 860 ptrdiff_t src_stride, 861 uint8_t* dst, 862 int dst_width); 863 void ScaleRowDown2Box_MSA(const uint8_t* src_ptr, 864 ptrdiff_t src_stride, 865 uint8_t* dst, 866 int dst_width); 867 void ScaleRowDown4_MSA(const uint8_t* src_ptr, 868 ptrdiff_t src_stride, 869 uint8_t* dst, 870 int dst_width); 871 void ScaleRowDown4Box_MSA(const uint8_t* src_ptr, 872 ptrdiff_t src_stride, 873 uint8_t* dst, 874 int dst_width); 875 void ScaleRowDown38_MSA(const uint8_t* src_ptr, 876 ptrdiff_t src_stride, 877 uint8_t* dst, 878 int dst_width); 879 void ScaleRowDown38_2_Box_MSA(const uint8_t* src_ptr, 880 ptrdiff_t src_stride, 881 uint8_t* dst_ptr, 882 int dst_width); 883 void ScaleRowDown38_3_Box_MSA(const uint8_t* src_ptr, 884 ptrdiff_t src_stride, 885 uint8_t* dst_ptr, 886 int dst_width); 887 void ScaleAddRow_MSA(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width); 888 void ScaleRowDown2_Any_MSA(const uint8_t* src_ptr, 889 ptrdiff_t src_stride, 890 uint8_t* dst, 891 int dst_width); 892 void ScaleRowDown2Linear_Any_MSA(const uint8_t* src_ptr, 893 ptrdiff_t src_stride, 894 uint8_t* dst, 895 int dst_width); 896 void ScaleRowDown2Box_Any_MSA(const uint8_t* src_ptr, 897 ptrdiff_t src_stride, 898 uint8_t* dst, 899 int dst_width); 900 void ScaleRowDown4_Any_MSA(const uint8_t* src_ptr, 901 ptrdiff_t src_stride, 902 uint8_t* dst, 903 int dst_width); 904 void ScaleRowDown4Box_Any_MSA(const uint8_t* src_ptr, 905 ptrdiff_t src_stride, 906 uint8_t* dst, 907 int dst_width); 908 void ScaleRowDown38_Any_MSA(const uint8_t* src_ptr, 909 ptrdiff_t src_stride, 910 uint8_t* dst, 911 int dst_width); 912 void ScaleRowDown38_2_Box_Any_MSA(const uint8_t* src_ptr, 913 ptrdiff_t src_stride, 914 uint8_t* dst_ptr, 915 int dst_width); 916 void ScaleRowDown38_3_Box_Any_MSA(const uint8_t* src_ptr, 917 ptrdiff_t src_stride, 918 uint8_t* dst_ptr, 919 int dst_width); 920 void ScaleAddRow_Any_MSA(const uint8_t* src_ptr, 921 uint16_t* dst_ptr, 922 int src_width); 498 923 499 924 #ifdef __cplusplus … … 502 927 #endif 503 928 504 #endif // INCLUDE_LIBYUV_SCALE_ROW_H_ NOLINT929 #endif // INCLUDE_LIBYUV_SCALE_ROW_H_
Note: See TracChangeset
for help on using the changeset viewer.