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