| 1 | // Copyright 2022 Google Inc. All Rights Reserved. | 
| 2 | // | 
| 3 | // Use of this source code is governed by a BSD-style license | 
| 4 | // that can be found in the COPYING file in the root of the source | 
| 5 | // tree. An additional intellectual property rights grant can be found | 
| 6 | // in the file PATENTS. All contributing project authors may | 
| 7 | // be found in the AUTHORS file in the root of the source tree. | 
| 8 | // ----------------------------------------------------------------------------- | 
| 9 | // | 
| 10 | // Speed-critical functions for Sharp YUV. | 
| 11 |  | 
| 12 | #ifndef WEBP_SHARPYUV_SHARPYUV_DSP_H_ | 
| 13 | #define WEBP_SHARPYUV_SHARPYUV_DSP_H_ | 
| 14 |  | 
| 15 | #include "sharpyuv/sharpyuv_cpu.h" | 
| 16 | #include "src/webp/types.h" | 
| 17 |  | 
| 18 | extern uint64_t (*SharpYuvUpdateY)(const uint16_t* src, const uint16_t* ref, | 
| 19 |                                    uint16_t* dst, int len, int bit_depth); | 
| 20 | extern void (*SharpYuvUpdateRGB)(const int16_t* src, const int16_t* ref, | 
| 21 |                                  int16_t* dst, int len); | 
| 22 | extern void (*SharpYuvFilterRow)(const int16_t* A, const int16_t* B, int len, | 
| 23 |                                  const uint16_t* best_y, uint16_t* out, | 
| 24 |                                  int bit_depth); | 
| 25 |  | 
| 26 | void SharpYuvInitDsp(void); | 
| 27 |  | 
| 28 | #endif  // WEBP_SHARPYUV_SHARPYUV_DSP_H_ | 
| 29 |  |