mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
73 lines
3.0 KiB
C
73 lines
3.0 KiB
C
/*--------------------------------------------------------------------------
|
|
* Project: D/AVE
|
|
* File: dave_edge.h (%version: 14 %)
|
|
* created Mon Jan 31 18:40:01 2005 by hh04027
|
|
*
|
|
* Description:
|
|
* %date_modified: Thu Jan 04 13:51:46 2007 % (%derived_by: hh04027 %)
|
|
*
|
|
* Changes:
|
|
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
|
* 2010-09-28 MRe use 64bit arithmetic for blurring calculation
|
|
* 2012-09-25 BSp MISRA cleanup
|
|
*-------------------------------------------------------------------------- */
|
|
|
|
#ifndef __1_dave_edge_h_H
|
|
#define __1_dave_edge_h_H
|
|
/*-------------------------------------------------------------------------- */
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* line length may not be zero.
|
|
* */
|
|
D2_EXTERN void d2_lineedge_setup3blur_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, const d2_contextdata *ctx, d2_s32 *length );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* line length may not be zero.
|
|
* */
|
|
D2_EXTERN void d2_lineedge_setup3sqrt_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, d2_s32 *length );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* note use for thin lines (w<2) only (due to l1 norm approximation)
|
|
* line length may not be zero.
|
|
* */
|
|
D2_EXTERN void d2_lineedge_setup3_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, d2_s32 *length );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* edge deltas may not both be zero. centering of start value (+0.5) is
|
|
* omitted here. this was necessary to allow highler level to change center
|
|
* for non shared edges.
|
|
* */
|
|
D2_EXTERN void d2_triedge_setup_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 rightedge );
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* note should use sqrtsetup when bluring long distance
|
|
* edge deltas may not both be zero.
|
|
* */
|
|
D2_EXTERN void d2_triedge_setupblur_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, const d2_contextdata *ctx );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* warning: will overflow earlier than aa version. might blow 11bit border
|
|
* edge deltas may not both be zero.
|
|
* */
|
|
D2_EXTERN void d2_triedge_setupnoaa_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_s32 rightedge );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
*
|
|
* */
|
|
D2_EXTERN void d2_triedge_setupsqrt_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_s32 rightedge );
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* used to setup bottom-up rendering
|
|
* */
|
|
D2_EXTERN void d2_invertlimiter_intern(d2_limdata *lim, d2_s32 ystep);
|
|
|
|
|
|
/*-------------------------------------------------------------------------- */
|
|
#endif
|