void TiffDirectory::_getTiffField_jpegTables()

in src/tiffDirectory.cpp [305:319]


void TiffDirectory::_getTiffField_jpegTables(TIFF *tiff,
int64_t* jpegTableDataSize, std::unique_ptr<uint8_t[]> *jpegTableData) const {
  uint16_t size = 0;
  void *tableData;
  *jpegTableDataSize = -1;
  *jpegTableData = nullptr;
  int result = TIFFGetField(tiff, TIFFTAG_JPEGTABLES, &size, &tableData);
  if (result == 1) {
    *jpegTableDataSize = static_cast<int64_t>(size);
    if (*jpegTableDataSize > 0) {
      *jpegTableData = std::make_unique<uint8_t[]>(size);
      memcpy((*jpegTableData).get(), tableData, size);
    }
  }
}