Changeset 43024
- Timestamp:
- May 19, 2026, 5:03:35 PM (2 months ago)
- Location:
- branches/eam_branches/ipp-pstamp-20260421/psModules/src/camera
- Files:
-
- 2 edited
-
pmFPA.c (modified) (2 diffs)
-
pmFPARead.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-pstamp-20260421/psModules/src/camera/pmFPA.c
r42784 r43024 166 166 psFree(readout->variance); 167 167 psFree(readout->covariance); 168 psFree(readout->analysis); 168 // psFree(readout->analysis); 169 // EAM XXX : if we free this here, ppSub fails to find the subtraction kernel. 170 // surprisingly, this does not cause leaks in ppSub, ppStack or ppImage 169 171 psFree(readout->bias); 170 172 … … 174 176 readout->variance = NULL; 175 177 readout->covariance = NULL; 176 readout->analysis = NULL; 178 // readout->analysis = NULL; EAM see above 177 179 readout->mask = NULL; 178 180 readout->bias = NULL; 181 // readout->bias = psListAlloc(NULL); -- works with this in place 182 // if we allocate the bias list here, we introduce a leak 179 183 180 184 readout->col0 = 0; -
branches/eam_branches/ipp-pstamp-20260421/psModules/src/camera/pmFPARead.c
r42980 r43024 456 456 // Get the list of overscans: only for IMAGE types (no overscan for MASK and VARIANCE) 457 457 if (type == FPA_READ_TYPE_IMAGE) { 458 // prevent the segfault by testing for readout->bias to exist 459 if (!readout->bias) { 460 readout->bias = psListAlloc(NULL); 461 } 462 // why would we have a left-over entry on the bias array? 458 463 if (readout->bias->n != 0) { 459 464 // Make way! … … 846 851 } 847 852 853 // XXX EAM: sometimes we arrive here with the array of readouts full 854 // but missing critical pieces?? 848 855 pmReadout *readout; // Readout into which to read 849 856 if (cell->readouts->n > i && cell->readouts->data[i]) { 850 857 readout = psMemIncrRefCounter(cell->readouts->data[i]); 858 // if we get to this point with a reused readout, 859 // the analysis and bias entries will be NULL 860 if (!readout->analysis) { 861 readout->analysis = psMetadataAlloc(); 862 } 863 if (!readout->bias) { 864 readout->bias = psListAlloc(NULL); 865 } 851 866 } else { 852 867 readout = pmReadoutAlloc(cell);
Note:
See TracChangeset
for help on using the changeset viewer.
