Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: core/fxcodec/codec/fx_codec_tiff.cpp

Issue 1821043003: Remove FX_WORD in favor of uint16_t. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Use stdint.h directly, bitfield minefield. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fxcodec/codec/fx_codec_flate.cpp ('k') | core/fxcodec/jbig2/JBig2_BitStream.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/fxcodec/codec/codec_int.h" 7 #include "core/fxcodec/codec/codec_int.h"
8 #include "core/include/fxcodec/fx_codec.h" 8 #include "core/include/fxcodec/fx_codec.h"
9 #include "core/include/fxge/fx_dib.h" 9 #include "core/include/fxge/fx_dib.h"
10 10
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 278
279 FX_BOOL CCodec_TiffContext::LoadFrameInfo(int32_t frame, 279 FX_BOOL CCodec_TiffContext::LoadFrameInfo(int32_t frame,
280 FX_DWORD& width, 280 FX_DWORD& width,
281 FX_DWORD& height, 281 FX_DWORD& height,
282 FX_DWORD& comps, 282 FX_DWORD& comps,
283 FX_DWORD& bpc, 283 FX_DWORD& bpc,
284 CFX_DIBAttribute* pAttribute) { 284 CFX_DIBAttribute* pAttribute) {
285 if (!TIFFSetDirectory(tif_ctx, (uint16)frame)) { 285 if (!TIFFSetDirectory(tif_ctx, (uint16)frame)) {
286 return FALSE; 286 return FALSE;
287 } 287 }
288 FX_WORD tif_cs; 288 uint16_t tif_cs;
289 FX_DWORD tif_icc_size = 0; 289 FX_DWORD tif_icc_size = 0;
290 uint8_t* tif_icc_buf = NULL; 290 uint8_t* tif_icc_buf = NULL;
291 FX_WORD tif_bpc = 0; 291 uint16_t tif_bpc = 0;
292 FX_WORD tif_cps; 292 uint16_t tif_cps;
293 FX_DWORD tif_rps; 293 FX_DWORD tif_rps;
294 width = height = comps = 0; 294 width = height = comps = 0;
295 TIFFGetField(tif_ctx, TIFFTAG_IMAGEWIDTH, &width); 295 TIFFGetField(tif_ctx, TIFFTAG_IMAGEWIDTH, &width);
296 TIFFGetField(tif_ctx, TIFFTAG_IMAGELENGTH, &height); 296 TIFFGetField(tif_ctx, TIFFTAG_IMAGELENGTH, &height);
297 TIFFGetField(tif_ctx, TIFFTAG_SAMPLESPERPIXEL, &comps); 297 TIFFGetField(tif_ctx, TIFFTAG_SAMPLESPERPIXEL, &comps);
298 TIFFGetField(tif_ctx, TIFFTAG_BITSPERSAMPLE, &tif_bpc); 298 TIFFGetField(tif_ctx, TIFFTAG_BITSPERSAMPLE, &tif_bpc);
299 TIFFGetField(tif_ctx, TIFFTAG_PHOTOMETRIC, &tif_cs); 299 TIFFGetField(tif_ctx, TIFFTAG_PHOTOMETRIC, &tif_cs);
300 TIFFGetField(tif_ctx, TIFFTAG_COMPRESSION, &tif_cps); 300 TIFFGetField(tif_ctx, TIFFTAG_COMPRESSION, &tif_cps);
301 TIFFGetField(tif_ctx, TIFFTAG_ROWSPERSTRIP, &tif_rps); 301 TIFFGetField(tif_ctx, TIFFTAG_ROWSPERSTRIP, &tif_rps);
302 TIFFGetField(tif_ctx, TIFFTAG_ICCPROFILE, &tif_icc_size, &tif_icc_buf); 302 TIFFGetField(tif_ctx, TIFFTAG_ICCPROFILE, &tif_icc_size, &tif_icc_buf);
303 if (pAttribute) { 303 if (pAttribute) {
304 pAttribute->m_wDPIUnit = FXCODEC_RESUNIT_INCH; 304 pAttribute->m_wDPIUnit = FXCODEC_RESUNIT_INCH;
305 if (TIFFGetField(tif_ctx, TIFFTAG_RESOLUTIONUNIT, 305 if (TIFFGetField(tif_ctx, TIFFTAG_RESOLUTIONUNIT,
306 &pAttribute->m_wDPIUnit)) { 306 &pAttribute->m_wDPIUnit)) {
307 pAttribute->m_wDPIUnit -= 1; 307 pAttribute->m_wDPIUnit -= 1;
308 } 308 }
309 Tiff_Exif_GetInfo<FX_WORD>(tif_ctx, TIFFTAG_ORIENTATION, pAttribute); 309 Tiff_Exif_GetInfo<uint16_t>(tif_ctx, TIFFTAG_ORIENTATION, pAttribute);
310 if (Tiff_Exif_GetInfo<FX_FLOAT>(tif_ctx, TIFFTAG_XRESOLUTION, pAttribute)) { 310 if (Tiff_Exif_GetInfo<FX_FLOAT>(tif_ctx, TIFFTAG_XRESOLUTION, pAttribute)) {
311 void* val = pAttribute->m_Exif[TIFFTAG_XRESOLUTION]; 311 void* val = pAttribute->m_Exif[TIFFTAG_XRESOLUTION];
312 FX_FLOAT fDpi = val ? *reinterpret_cast<FX_FLOAT*>(val) : 0; 312 FX_FLOAT fDpi = val ? *reinterpret_cast<FX_FLOAT*>(val) : 0;
313 pAttribute->m_nXDPI = (int32_t)(fDpi + 0.5f); 313 pAttribute->m_nXDPI = (int32_t)(fDpi + 0.5f);
314 } 314 }
315 if (Tiff_Exif_GetInfo<FX_FLOAT>(tif_ctx, TIFFTAG_YRESOLUTION, pAttribute)) { 315 if (Tiff_Exif_GetInfo<FX_FLOAT>(tif_ctx, TIFFTAG_YRESOLUTION, pAttribute)) {
316 void* val = pAttribute->m_Exif[TIFFTAG_YRESOLUTION]; 316 void* val = pAttribute->m_Exif[TIFFTAG_YRESOLUTION];
317 FX_FLOAT fDpi = val ? *reinterpret_cast<FX_FLOAT*>(val) : 0; 317 FX_FLOAT fDpi = val ? *reinterpret_cast<FX_FLOAT*>(val) : 0;
318 pAttribute->m_nYDPI = (int32_t)(fDpi + 0.5f); 318 pAttribute->m_nYDPI = (int32_t)(fDpi + 0.5f);
319 } 319 }
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 FX_DWORD img_wid = pDIBitmap->GetWidth(); 480 FX_DWORD img_wid = pDIBitmap->GetWidth();
481 FX_DWORD img_hei = pDIBitmap->GetHeight(); 481 FX_DWORD img_hei = pDIBitmap->GetHeight();
482 FX_DWORD width = 0; 482 FX_DWORD width = 0;
483 FX_DWORD height = 0; 483 FX_DWORD height = 0;
484 TIFFGetField(tif_ctx, TIFFTAG_IMAGEWIDTH, &width); 484 TIFFGetField(tif_ctx, TIFFTAG_IMAGEWIDTH, &width);
485 TIFFGetField(tif_ctx, TIFFTAG_IMAGELENGTH, &height); 485 TIFFGetField(tif_ctx, TIFFTAG_IMAGELENGTH, &height);
486 if (img_wid != width || img_hei != height) { 486 if (img_wid != width || img_hei != height) {
487 return FALSE; 487 return FALSE;
488 } 488 }
489 if (pDIBitmap->GetBPP() == 32) { 489 if (pDIBitmap->GetBPP() == 32) {
490 FX_WORD rotation = ORIENTATION_TOPLEFT; 490 uint16_t rotation = ORIENTATION_TOPLEFT;
491 TIFFGetField(tif_ctx, TIFFTAG_ORIENTATION, &rotation); 491 TIFFGetField(tif_ctx, TIFFTAG_ORIENTATION, &rotation);
492 if (TIFFReadRGBAImageOriented(tif_ctx, img_wid, img_hei, 492 if (TIFFReadRGBAImageOriented(tif_ctx, img_wid, img_hei,
493 (uint32*)pDIBitmap->GetBuffer(), rotation, 493 (uint32*)pDIBitmap->GetBuffer(), rotation,
494 1)) { 494 1)) {
495 for (FX_DWORD row = 0; row < img_hei; row++) { 495 for (FX_DWORD row = 0; row < img_hei; row++) {
496 uint8_t* row_buf = (uint8_t*)pDIBitmap->GetScanline(row); 496 uint8_t* row_buf = (uint8_t*)pDIBitmap->GetScanline(row);
497 _TiffBGRA2RGBA(row_buf, img_wid, 4); 497 _TiffBGRA2RGBA(row_buf, img_wid, 4);
498 } 498 }
499 return TRUE; 499 return TRUE;
500 } 500 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 return pDecoder->LoadFrameInfo(frame, width, height, comps, bpc, pAttribute); 535 return pDecoder->LoadFrameInfo(frame, width, height, comps, bpc, pAttribute);
536 } 536 }
537 FX_BOOL CCodec_TiffModule::Decode(void* ctx, class CFX_DIBitmap* pDIBitmap) { 537 FX_BOOL CCodec_TiffModule::Decode(void* ctx, class CFX_DIBitmap* pDIBitmap) {
538 CCodec_TiffContext* pDecoder = (CCodec_TiffContext*)ctx; 538 CCodec_TiffContext* pDecoder = (CCodec_TiffContext*)ctx;
539 return pDecoder->Decode(pDIBitmap); 539 return pDecoder->Decode(pDIBitmap);
540 } 540 }
541 void CCodec_TiffModule::DestroyDecoder(void* ctx) { 541 void CCodec_TiffModule::DestroyDecoder(void* ctx) {
542 CCodec_TiffContext* pDecoder = (CCodec_TiffContext*)ctx; 542 CCodec_TiffContext* pDecoder = (CCodec_TiffContext*)ctx;
543 delete pDecoder; 543 delete pDecoder;
544 } 544 }
OLDNEW
« no previous file with comments | « core/fxcodec/codec/fx_codec_flate.cpp ('k') | core/fxcodec/jbig2/JBig2_BitStream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698