• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright 2022 The LibYuv Project Authors. All rights reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS. All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #ifndef INCLUDE_LIBYUV_SCALE_RGB_H_
12 #define INCLUDE_LIBYUV_SCALE_RGB_H_
13 
14 #include "libyuv/basic_types.h"
15 #include "libyuv/scale.h"  // For FilterMode
16 
17 #ifdef __cplusplus
18 namespace libyuv {
19 extern "C" {
20 #endif
21 
22 // RGB can be RAW, RGB24 or YUV24
23 // RGB scales 24 bit images by converting a row at a time to ARGB
24 // and using ARGB row functions to scale, then convert to RGB.
25 // TODO(fbarchard): Allow input/output formats to be specified.
26 LIBYUV_API
27 int RGBScale(const uint8_t* src_rgb,
28              int src_stride_rgb,
29              int src_width,
30              int src_height,
31              uint8_t* dst_rgb,
32              int dst_stride_rgb,
33              int dst_width,
34              int dst_height,
35              enum FilterMode filtering);
36 
37 #ifdef __cplusplus
38 }  // extern "C"
39 }  // namespace libyuv
40 #endif
41 
42 #endif  // INCLUDE_LIBYUV_SCALE_UV_H_
43