1 /* 2 * Copyright (c) 2010 The WebM 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 12 /**************************************************************************** 13 * 14 * Module Title : preproc_if.h 15 * 16 * Description : Pre-processor interface header file. 17 * 18 ****************************************************************************/ 19 20 #ifndef __PREPROC_IF_H 21 #define __PREPROC_IF_H 22 23 /**************************************************************************** 24 * Header Files 25 ****************************************************************************/ 26 #include "type_aliases.h" 27 28 /**************************************************************************** 29 * Types 30 ****************************************************************************/ 31 32 typedef struct 33 { 34 UINT8 *Yuv0ptr; 35 UINT8 *Yuv1ptr; 36 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 40 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; 46 47 } SCAN_CONFIG_DATA; 48 49 typedef enum 50 { 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 56 57 } SCP_SETTINGS; 58 59 typedef struct PP_INSTANCE *x_pp_inst; 60 61 /**************************************************************************** 62 * Module statics 63 ****************************************************************************/ 64 /* Controls whether Early break out is on or off in default case */ 65 #define EARLY_BREAKOUT_DEFAULT TRUE 66 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); 75 76 #endif 77