--- ray/src/util/ranimove.h 2003/02/25 02:47:24 3.2 +++ ray/src/util/ranimove.h 2012/09/28 22:20:49 3.8 @@ -1,4 +1,4 @@ -/* RCSid $Id: ranimove.h,v 3.2 2003/02/25 02:47:24 greg Exp $ */ +/* RCSid $Id: ranimove.h,v 3.8 2012/09/28 22:20:49 greg Exp $ */ /* * ranimove.h * @@ -16,12 +16,17 @@ * * See the ranimove(1) man page for further details. */ +#ifndef _RAD_RANIMOVE_H_ +#define _RAD_RANIMOVE_H_ -#include "copyright.h" - #include "ray.h" #include "view.h" #include "vars.h" + +#ifdef __cplusplus +extern "C" { +#endif + /* input variables (alphabetical by name) */ #define BASENAME 0 /* output image base name */ #define END 1 /* number of animation frames */ @@ -29,15 +34,17 @@ #define HIGHQ 3 /* high quality setting */ #define LOWQ 4 /* low quality setting */ #define MBLUR 5 /* motion blur parameter */ -#define MOVE 6 /* object movement */ -#define OCONV 7 /* oconv options */ -#define OCTREEF 8 /* octree file name */ -#define RATE 9 /* frame rate (fps) */ -#define RESOLUTION 10 /* desired final resolution */ -#define RIF 11 /* rad input file */ -#define VIEWFILE 12 /* animation frame views */ +#define MNAME 6 /* motion vector file */ +#define MOVE 7 /* object movement */ +#define OCONV 8 /* oconv options */ +#define OCTREEF 9 /* octree file name */ +#define RATE 10 /* frame rate (fps) */ +#define RESOLUTION 11 /* desired final resolution */ +#define RIF 12 /* rad input file */ +#define VIEWFILE 13 /* animation frame views */ +#define ZNAME 14 /* depth file */ -#define NV_INIT 13 /* number of variables */ +#define NV_INIT 15 /* number of variables */ #define VV_INIT { \ {"BASENAME", 3, 0, NULL, onevalue}, \ @@ -46,13 +53,15 @@ {"highq", 2, 0, NULL, catvalues}, \ {"lowq", 2, 0, NULL, catvalues}, \ {"MBLUR", 2, 0, NULL, fltvalue}, \ + {"MNAME", 2, 0, NULL, onevalue}, \ {"move", 2, 0, NULL, NULL}, \ {"oconv", 2, 0, NULL, catvalues}, \ {"OCTREE", 3, 0, NULL, onevalue}, \ {"RATE", 2, 0, NULL, fltvalue}, \ {"RESOLUTION", 3, 0, NULL, onevalue}, \ {"RIF", 3, 0, NULL, onevalue}, \ - {"VIEWFILE", 2, 0, NULL, onevalue} \ + {"VIEWFILE", 2, 0, NULL, onevalue}, \ + {"ZNAME", 2, 0, NULL, onevalue} \ } struct ObjMove { @@ -104,16 +113,6 @@ extern int haveprio; /* high-level saliency specified extern int gargc; /* global argc for printargs */ extern char **gargv; /* global argv for printargs */ -VIEW *getview(); -int countviews(); -int getmove(); -char *getexp(), *getoctspec(), *getobjname(), *getxf(); -double expspec_val(), obj_prio(); -void setdefaults(), setmove(), animate(), getradfile(), setrendparams(); -void init_frame(), filter_frame(), send_frame(), free_frame(); -int refine_frame(); -double getTime(); - /************************************************************************* * Frame rendering stuff (defined in ranimove1.c and ranimove2.c) */ @@ -135,14 +134,14 @@ extern float *zbuffer; /* depth at each pixel */ extern OBJECT *obuffer; /* object id at each pixel */ extern short *xmbuffer; /* x motion at each pixel */ extern short *ymbuffer; /* y motion at each pixel */ -extern BYTE *abuffer; /* accuracy at each pixel */ -extern BYTE *sbuffer; /* sample count per pixel */ +extern uby8 *abuffer; /* accuracy at each pixel */ +extern uby8 *sbuffer; /* sample count per pixel */ extern VIEW vwprev; /* last frame's view */ extern COLOR *cprev; /* last frame colors */ extern float *zprev; /* last frame depth */ extern OBJECT *oprev; /* last frame objects */ -extern BYTE *aprev; /* last frame accuracy */ +extern uby8 *aprev; /* last frame accuracy */ extern float *cerrmap; /* conspicuous error map */ extern int cerrzero; /* is all of cerrmap zero? */ @@ -173,6 +172,45 @@ extern double hlsmax; /* maximum high-level saliency #define ATIDIFF 7 /* error difference for time extrapolation */ -void write_map(), sample_pos(), comp_frame_error(), conspicuity(); -int getclosest(), getambcolor(), refine_first(); -double sample_wt(), estimaterr(), comperr(); + /* ranimove1.c */ +extern void init_frame(void); +extern void filter_frame(void); +extern void send_frame(void); +extern void free_frame(void); +extern void write_map(float *mp, char *fn); +extern void sample_pos(double hv[2], int x, int y, int sn); +extern void comp_frame_error(void); +extern int getclosest(int *iarr, int nc, int x, int y); +extern int getambcolor(COLOR clr, int obj); +extern double sample_wt(int xo, int yo); +extern double estimaterr(COLOR cs, COLOR cs2, int ns, int ns0); +extern double comperr(int *neigh, int nc, int ns0); + + /* ranimove2.c */ +extern int refine_first(); +extern void conspicuity(void); +extern int refine_frame(int pass); + + /* ranimove.c */ +extern double getTime(void); +extern double obj_prio(OBJECT obj); +extern int getmove(OBJECT obj); +extern char * getoctspec(int n); +extern double expspec_val(char *s); +extern char *getexp(int n); /* XXX partly duplicated function */ +extern VIEW *getview(int n); /* XXX duplicated function */ +double getTime(); +/* +int countviews(); +void setdefaults(), +void setmove(), +setrendparams(); +getradfile(), +animate(), +*/ + +#ifdef __cplusplus +} +#endif +#endif /* _RAD_RANIMOVE_H_ */ +