1 /*
2 * Copyright(c) 2019 Intel Corporation
3 * SPDX - License - Identifier: BSD - 2 - Clause - Patent
4 */
5 
6 #ifndef EbSourceBasedOperations_h
7 #define EbSourceBasedOperations_h
8 
9 #include "EbDefinitions.h"
10 #include "EbSystemResourceManager.h"
11 #include "EbNoiseExtractAVX2.h"
12 
13 /**************************************
14  * Context
15  **************************************/
16 
17 typedef struct SourceBasedOperationsContext
18 {
19     EbFifo   *initial_rate_control_results_input_fifo_ptr;
20     EbFifo   *picture_demux_results_output_fifo_ptr;
21 
22      // local zz cost array
23     uint32_t  picture_num_grass_sb;
24     uint32_t  high_contrast_num;
25 
26     EB_BOOL   high_dist;
27     uint8_t  *y_mean_ptr;
28     uint8_t  *cr_mean_ptr;
29     uint8_t  *cb_mean_ptr;
30 
31 } SourceBasedOperationsContext;
32 
33 /***************************************
34  * Extern Function Declaration
35  ***************************************/
36 
37 extern EbErrorType eb_vp9_source_based_operations_context_ctor(
38     SourceBasedOperationsContext **context_dbl_ptr,
39     EbFifo                        *initial_rate_control_results_input_fifo_ptr,
40     EbFifo                        *picture_demux_results_output_fifo_ptr);
41 
42 extern void* eb_vp9_source_based_operations_kernel(void *input_ptr);
43 
44 #endif // EbSourceBasedOperations_h
45