1 #ifndef __SPARROW_EDGES_H__
2 #define __SPARROW_EDGES_H__
4 typedef enum corner_status
{
10 typedef enum edges_state
{
18 typedef struct sparrow_corner_s
{
21 /*dyr -> dy to next point right
22 dxd ->dx to next point down */
27 corner_status_t status
;
30 typedef struct sparrow_voter_s
{
36 typedef struct sparrow_cluster_s
{
38 sparrow_voter_t voters
[8];
42 typedef union sparrow_signal_s
{
48 typedef struct sparrow_intersect_s
{
51 } sparrow_intersect_t
;
53 typedef struct sparrow_line_s
{
59 typedef struct sparrow_find_lines_s
{
60 //sparrow_line_t *lines;
61 sparrow_line_t
*h_lines
;
62 sparrow_line_t
*v_lines
;
63 sparrow_line_t
**shuffled_lines
;
70 sparrow_intersect_t
*map
;
71 sparrow_corner_t
*mesh
;
72 sparrow_cluster_t
*clusters
;
79 } sparrow_find_lines_t
;
82 #define DEBUG_FIND_LINES(fl)GST_DEBUG( \
84 " sparrow_line_t *h_lines: %p\n" \
85 " sparrow_line_t *v_lines: %p\n" \
86 " sparrow_line_t **shuffled_lines: %p\n" \
87 " int current: %d\n" \
88 " int n_lines: %d\n" \
89 " int n_vlines: %d\n" \
90 " int n_hlines: %d\n" \
91 " gint threshold: %d\n" \
92 " gint shift1: %d\n" \
93 " gint shift2: %d\n" \
94 " sparrow_intersect_t *map: %p\n" \
95 " sparrow_corner_t *mesh: %p\n" \
96 " sparrow_cluster_t *clusters: %p\n" \
100 (fl)->shuffled_lines, \
112 //#undef debug_find_lines
113 //#define debug_find_lines(x) /* */
116 #endif /*have this .h*/