Merge "vp8_rd_pick_best_mbsegmentation code restructure"
[libvpx.git] / vp8 / common / preprocif.h
blob7d554b5094380492d3ef1080b7fafb09a8cd790e
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
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 */
12 /****************************************************************************
14 * Module Title : preproc_if.h
16 * Description : Pre-processor interface header file.
18 ****************************************************************************/
20 #ifndef __PREPROC_IF_H
21 #define __PREPROC_IF_H
23 /****************************************************************************
24 * Header Files
25 ****************************************************************************/
26 #include "type_aliases.h"
28 /****************************************************************************
29 * Types
30 ****************************************************************************/
32 typedef struct
34 UINT8 *Yuv0ptr;
35 UINT8 *Yuv1ptr;
37 UINT8 *frag_info; // blocks coded : passed in
38 UINT32 frag_info_element_size; // size of each element
39 UINT32 frag_info_coded_mask; // mask to get at whether fragment is coded
41 UINT32 *region_index; // Gives pixel index for top left of each block
42 UINT32 video_frame_height;
43 UINT32 video_frame_width;
44 UINT8 hfrag_pixels;
45 UINT8 vfrag_pixels;
47 } SCAN_CONFIG_DATA;
49 typedef enum
51 SCP_FILTER_ON_OFF,
52 SCP_SET_SRF_OFFSET,
53 SCP_SET_EBO_ON_OFF,
54 SCP_SET_VCAP_LEVEL_OFFSET,
55 SCP_SET_SHOW_LOCAL
57 } SCP_SETTINGS;
59 typedef struct PP_INSTANCE *x_pp_inst;
61 /****************************************************************************
62 * Module statics
63 ****************************************************************************/
64 /* Controls whether Early break out is on or off in default case */
65 #define EARLY_BREAKOUT_DEFAULT TRUE
67 /****************************************************************************
68 * Functions
69 ****************************************************************************/
70 extern void set_scan_param(x_pp_inst ppi, UINT32 param_id, INT32 param_value);
71 extern UINT32 yuvanalyse_frame(x_pp_inst ppi, UINT32 *KFIndicator);
72 extern x_pp_inst create_pp_instance(void);
73 extern void delete_pp_instance(x_pp_inst *);
74 extern BOOL scan_yuvinit(x_pp_inst, SCAN_CONFIG_DATA *scan_config_ptr);
76 #endif