1 #ifndef __SPARROW_EDGES_H__
2 #define __SPARROW_EDGES_H__
4 typedef enum corner_status
{
10 typedef struct sparrow_corner_s
{
13 /*dyr -> dy to next point right
14 dxd ->dx to next point down */
19 corner_status_t status
;
22 typedef struct sparrow_voter_s
{
28 typedef struct sparrow_cluster_s
{
30 sparrow_voter_t voters
[8];
34 typedef union sparrow_signal_s
{
40 typedef struct sparrow_intersect_s
{
43 } sparrow_intersect_t
;
45 typedef struct sparrow_line_s
{
51 typedef struct sparrow_find_lines_s
{
52 //sparrow_line_t *lines;
53 sparrow_line_t
*h_lines
;
54 sparrow_line_t
*v_lines
;
55 sparrow_line_t
**shuffled_lines
;
63 sparrow_intersect_t
*map
;
64 sparrow_corner_t
*mesh
;
65 sparrow_cluster_t
*clusters
;
68 } sparrow_find_lines_t
;
71 #define DEBUG_FIND_LINES(fl)GST_DEBUG( \
73 " sparrow_line_t *h_lines: %p\n" \
74 " sparrow_line_t *v_lines: %p\n" \
75 " sparrow_line_t **shuffled_lines: %p\n" \
76 " int current: %d\n" \
77 " int n_lines: %d\n" \
78 " int n_vlines: %d\n" \
79 " int n_hlines: %d\n" \
80 " gint threshold: %d\n" \
81 " gint shift1: %d\n" \
82 " gint shift2: %d\n" \
83 " sparrow_intersect_t *map: %p\n" \
84 " sparrow_corner_t *mesh: %p\n" \
85 " sparrow_cluster_t *clusters: %p\n" \
89 (fl)->shuffled_lines, \
101 //#undef debug_find_lines
102 //#define debug_find_lines(x) /* */
105 #endif /*have this .h*/