1 /*
2 * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
3 *
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 */
11
12 // This file is generated. Do not edit.
13 #ifndef AOM_SCALE_RTCD_H_
14 #define AOM_SCALE_RTCD_H_
15
16 #ifdef RTCD_C
17 #define RTCD_EXTERN
18 #else
19 #define RTCD_EXTERN extern
20 #endif
21
22 #include <stdbool.h>
23
24 struct yv12_buffer_config;
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 void aom_extend_frame_borders_c(struct yv12_buffer_config *ybf, int num_planes);
31 #define aom_extend_frame_borders aom_extend_frame_borders_c
32
33 void aom_extend_frame_borders_plane_row_c(const struct yv12_buffer_config *ybf, int plane, int v_start, int v_end);
34 #define aom_extend_frame_borders_plane_row aom_extend_frame_borders_plane_row_c
35
36 void aom_yv12_copy_frame_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, const int num_planes);
37 #define aom_yv12_copy_frame aom_yv12_copy_frame_c
38
39 void aom_yv12_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop);
40 #define aom_yv12_copy_u aom_yv12_copy_u_c
41
42 void aom_yv12_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop);
43 #define aom_yv12_copy_v aom_yv12_copy_v_c
44
45 void aom_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int use_crop);
46 #define aom_yv12_copy_y aom_yv12_copy_y_c
47
48 void aom_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf, const int num_planes);
49 #define aom_yv12_extend_frame_borders aom_yv12_extend_frame_borders_c
50
51 void aom_yv12_partial_coloc_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int hstart, int hend, int vstart, int vend);
52 #define aom_yv12_partial_coloc_copy_u aom_yv12_partial_coloc_copy_u_c
53
54 void aom_yv12_partial_coloc_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int hstart, int hend, int vstart, int vend);
55 #define aom_yv12_partial_coloc_copy_v aom_yv12_partial_coloc_copy_v_c
56
57 void aom_yv12_partial_coloc_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int hstart, int hend, int vstart, int vend);
58 #define aom_yv12_partial_coloc_copy_y aom_yv12_partial_coloc_copy_y_c
59
60 void aom_yv12_partial_copy_u_c(const struct yv12_buffer_config *src_bc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_bc, int hstart2, int vstart2);
61 #define aom_yv12_partial_copy_u aom_yv12_partial_copy_u_c
62
63 void aom_yv12_partial_copy_v_c(const struct yv12_buffer_config *src_bc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_bc, int hstart2, int vstart2);
64 #define aom_yv12_partial_copy_v aom_yv12_partial_copy_v_c
65
66 void aom_yv12_partial_copy_y_c(const struct yv12_buffer_config *src_ybc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_ybc, int hstart2, int vstart2);
67 #define aom_yv12_partial_copy_y aom_yv12_partial_copy_y_c
68
69 int aom_yv12_realloc_with_new_border_c(struct yv12_buffer_config *ybf, int new_border, int byte_alignment, bool alloc_pyramid, int num_planes);
70 #define aom_yv12_realloc_with_new_border aom_yv12_realloc_with_new_border_c
71
72 void aom_scale_rtcd(void);
73
74 #include "config/aom_config.h"
75
76 #ifdef RTCD_C
setup_rtcd_internal(void)77 static void setup_rtcd_internal(void)
78 {
79 }
80 #endif
81
82 #ifdef __cplusplus
83 } // extern "C"
84 #endif
85
86 #endif // AOM_SCALE_RTCD_H_
87