1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _ROCKCHIP_AV1_FILMGRAIN_H_
4 #define _ROCKCHIP_AV1_FILMGRAIN_H_
5 
6 #include <linux/types.h>
7 
8 void rockchip_av1_generate_luma_grain_block(s32 (*luma_grain_block)[73][82],
9 					    s32 bitdepth,
10 					    u8 num_y_points,
11 					    s32 grain_scale_shift,
12 					    s32 ar_coeff_lag,
13 					    s32 (*ar_coeffs_y)[24],
14 					    s32 ar_coeff_shift,
15 					    s32 grain_min,
16 					    s32 grain_max,
17 					    u16 random_seed);
18 
19 void rockchip_av1_generate_chroma_grain_block(s32 (*luma_grain_block)[73][82],
20 					      s32 (*cb_grain_block)[38][44],
21 					      s32 (*cr_grain_block)[38][44],
22 					      s32 bitdepth,
23 					      u8 num_y_points,
24 					      u8 num_cb_points,
25 					      u8 num_cr_points,
26 					      s32 grain_scale_shift,
27 					      s32 ar_coeff_lag,
28 					      s32 (*ar_coeffs_cb)[25],
29 					      s32 (*ar_coeffs_cr)[25],
30 					      s32 ar_coeff_shift,
31 					      s32 grain_min,
32 					      s32 grain_max,
33 					      u8 chroma_scaling_from_luma,
34 					      u16 random_seed);
35 
36 #endif
37