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

Comparing ray/src/common/tonemap.c (file contents):
Revision 3.49 by greg, Mon Apr 12 22:16:02 2021 UTC vs.
Revision 3.51 by greg, Tue May 4 21:50:54 2021 UTC

# Line 160 | Line 160 | TMstruct       *tms
160          if (tms == NULL || tms->histo == NULL)
161                  return;
162          free(tms->histo);
163 +        tms->hbrmin = 10; tms->hbrmax = -10;
164          tms->histo = NULL;
165   }
166  
# Line 343 | Line 344 | int    wt
344   {
345          static const char funcName[] = "tmAddHisto";
346          int     oldorig=0, oldlen, horig, hlen;
347 <        int     i, j;
347 >        int     i;
348  
349          if (tms == NULL)
350                  returnErr(TM_E_TMINVAL);
# Line 364 | Line 365 | int    wt
365                  oldlen = HISTI(tms->hbrmax) + 1 - oldorig;
366          }
367          for (i = len; i--; ) {
368 <                if ((j = ls[i]) < MINBRT)
368 >                if (ls[i] < MINBRT)
369                          continue;
370 <                if (j < tms->hbrmin)
371 <                        tms->hbrmin = j;
372 <                else if (j > tms->hbrmax)
373 <                        tms->hbrmax = j;
370 >                if (ls[i] < tms->hbrmin)
371 >                        tms->hbrmin = ls[i];
372 >                else if (ls[i] > tms->hbrmax)
373 >                        tms->hbrmax = ls[i];
374          }
375          horig = HISTI(tms->hbrmin);
376          hlen = HISTI(tms->hbrmax) + 1 - horig;
# Line 490 | Line 491 | double Ldmax
491          }
492          if (!histot)
493                  returnErr(TM_E_TMFAIL);
494 <        threshold = histot*0.025 + 1.;
494 >        threshold = histot/40 + 1;
495          Lwavg = tmLuminance( (double)sum / histot );
496                                          /* use linear tone mapping? */
497          if (tms->flags & TM_F_LINEAR || threshold < 4 ||
# Line 534 | Line 535 | double Ldmax
535                          free(cumf);
536                          goto linearmap;
537                  }
538 <                threshold = 0.025*histot + 1.;
538 <
539 <        } while ((threshold > 4) & (trimmings > threshold));
538 >        } while (40*trimmings > histot);
539                                          /* allocate space for mapping */
540          if (!tmNewMap(tms))
541                  returnErr(TM_E_NOMEM);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines