• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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