ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rcode_depth.c
(Generate patch)

Comparing ray/src/util/rcode_depth.c (file contents):
Revision 2.5 by greg, Tue Aug 13 16:31:35 2019 UTC vs.
Revision 2.9 by greg, Tue Feb 11 18:15:23 2020 UTC

# Line 27 | Line 27 | usage_exit(int code)
27          fputs("Usage: ", stderr);
28          fputs(progname, stderr);
29          fputs(
30 <        " [-d ref_depth/unit][-h[io]][-H[io]][-f[afd]] [input [output.dpt]]\n",
30 >        " [-d ref_depth/unit][-h[io]][-H[io]][-f[afd]][-x xr -y yr] [input [output.dpt]]\n",
31                          stderr);
32          fputs("   Or: ", stderr);
33          fputs(progname, stderr);
# Line 71 | Line 71 | encode_depths(DEPTHCODEC *dcp)
71                          break;
72                  case 'f':
73                          ok = (getbinary(&f, sizeof(f), 1, dcp->finp) == 1);
74 +                        if (dcp->swapped)
75 +                                swap32((char *)&f, 1);
76                          d = f;
77                          break;
78                  case 'd':
79                          ok = (getbinary(&d, sizeof(d), 1, dcp->finp) == 1);
80 +                        if (dcp->swapped)
81 +                                swap64((char *)&d, 1);
82                          break;
83                  }
84                  if (!ok)
# Line 277 | Line 281 | pixel_points(DEPTHCODEC *dcp, int unbuf)
281   int
282   main(int argc, char *argv[])
283   {
284 +        int             xres=0, yres=0;
285          int             conversion = CV_FWD;
286          int             bypixel = 0;
287          int             unbuffered = 0;
# Line 350 | Line 355 | main(int argc, char *argv[])
355                                  usage_exit(1);
356                          }
357                          break;
358 +                case 'x':
359 +                        xres = atoi(argv[++a]);
360 +                        break;
361 +                case 'y':
362 +                        yres = atoi(argv[++a]);
363 +                        break;
364                  case 'i':
365                          bypixel++;
366                          break;
# Line 361 | Line 372 | main(int argc, char *argv[])
372                  }
373          dc.hdrflags |= (conversion == CV_FWD) * HF_ENCODE;
374  
375 <        if ((dc.hdrflags & (HF_RESIN|HF_RESOUT)) == HF_RESOUT) {
375 >        if ((xres > 0) & (yres > 0)) {
376 >                dc.hdrflags &= ~HF_RESIN;
377 >                dc.res.rt = PIXSTANDARD;
378 >                dc.res.xr = xres;
379 >                dc.res.yr = yres;
380 >        } else if ((dc.hdrflags & (HF_RESIN|HF_RESOUT)) == HF_RESOUT) {
381                  fputs(progname, stderr);
382                  fputs(": unknown resolution for output\n", stderr);
383                  return 1;
# Line 413 | Line 429 | main(int argc, char *argv[])
429                                          /* process data */
430          switch (conversion) {
431          case CV_FWD:                    /* distance -> depth code */
432 +                if (!strcmp(dc.depth_unit, "1")) {
433 +                        fputs(progname, stderr);
434 +                        fputs(": warning - using reference depth of 1.0\n",
435 +                                        stderr);
436 +                }
437                  if (!encode_depths(&dc))
438                          return 1;
439                  break;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines