|
|
1.1 ! root 1: /* convert from view2d to td format */ ! 2: ! 3: #include <stdio.h> ! 4: #include "view2d.h" ! 5: char *progname; ! 6: ! 7: short timewarp; ! 8: double ts, te; ! 9: extern Rd2d rd; ! 10: int verbose; ! 11: ! 12: typedef struct Frame { ! 13: double time; ! 14: short *p; ! 15: } Frame; ! 16: Frame frame; ! 17: Frame *here; ! 18: ! 19: short nx, ny; /* input grid */ ! 20: ! 21: main(argc, argv) ! 22: int argc; ! 23: char **argv; ! 24: { ! 25: int i, j; ! 26: int fd; ! 27: char *Malloc(); ! 28: ! 29: timewarp = 0; ! 30: verbose = 0; ! 31: progname = argv[0]; ! 32: here = &frame; ! 33: ! 34: for(argc--, argv++; *argv; argv++){ ! 35: if(**argv == '-' ){ ! 36: switch(argv[0][1]) { ! 37: case 'v': ! 38: verbose++; ! 39: break; ! 40: } ! 41: }else{ ! 42: if(fd) error("can only read one file"); ! 43: fd = Open(*argv,0); ! 44: } ! 45: } ! 46: ! 47: rd2dh(fd,&nx,&ny); ! 48: if((timewarp>0)&&(verbose)) ! 49: fprintf(stderr,"timewarp=%d ts=%g te=%g\n",timewarp,ts,te); ! 50: if( nx != ny ) error("picture must be square"); ! 51: i = nx*ny*sizeof(short); ! 52: here->p = (short *)Malloc(i); ! 53: ! 54: rd2di(&here->time,here->p); ! 55: wrframe(here->time,here->p); ! 56: ! 57: exit(0); ! 58: } ! 59: ! 60: ! 61: wrframe(t,p) ! 62: double t; ! 63: short *p; ! 64: { ! 65: float *b; ! 66: short r; ! 67: int i,j,s; ! 68: char *malloc(); ! 69: s = nx*ny*sizeof(float); ! 70: b = (float *)malloc(s); ! 71: if(!b){fprintf(stderr,"no memory\n");exit(1);} ! 72: for(j=0; j<ny; j++){ ! 73: for(i=0; i<nx; i++){ ! 74: r = *p++; ! 75: if(r < -BIG) r=rd.pmin-1; ! 76: b[i*ny+j] = r; ! 77: } ! 78: } ! 79: write(1,b,s); ! 80: free((char *)b); ! 81: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.