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

Side by Side Diff: core/src/fxcodec/codec/fx_codec_flate.cpp

Issue 1296043002: Merge to XFA: Use override in more classes in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 4 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
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 "../../../../third_party/base/nonstd_unique_ptr.h" 7 #include "../../../../third_party/base/nonstd_unique_ptr.h"
8 #include "../../../../third_party/zlib_v128/zlib.h" 8 #include "../../../../third_party/zlib_v128/zlib.h"
9 #include "../../../include/fxcodec/fx_codec.h" 9 #include "../../../include/fxcodec/fx_codec.h"
10 #include "../../../include/fxcodec/fx_codec_flate.h" 10 #include "../../../include/fxcodec/fx_codec_flate.h"
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 const int last_row_size = data_size % row_size; 596 const int last_row_size = data_size % row_size;
597 for (int row = 0; row < row_count; row++) { 597 for (int row = 0; row < row_count; row++) {
598 uint8_t* scan_line = data_buf + row * row_size; 598 uint8_t* scan_line = data_buf + row * row_size;
599 if ((row + 1) * row_size > (int)data_size) { 599 if ((row + 1) * row_size > (int)data_size) {
600 row_size = last_row_size; 600 row_size = last_row_size;
601 } 601 }
602 TIFF_PredictLine(scan_line, row_size, BitsPerComponent, Colors, Columns); 602 TIFF_PredictLine(scan_line, row_size, BitsPerComponent, Colors, Columns);
603 } 603 }
604 return TRUE; 604 return TRUE;
605 } 605 }
606
606 class CCodec_FlateScanlineDecoder : public CCodec_ScanlineDecoder { 607 class CCodec_FlateScanlineDecoder : public CCodec_ScanlineDecoder {
607 public: 608 public:
608 CCodec_FlateScanlineDecoder(); 609 CCodec_FlateScanlineDecoder();
609 ~CCodec_FlateScanlineDecoder(); 610 ~CCodec_FlateScanlineDecoder() override;
611
610 void Create(const uint8_t* src_buf, 612 void Create(const uint8_t* src_buf,
611 FX_DWORD src_size, 613 FX_DWORD src_size,
612 int width, 614 int width,
613 int height, 615 int height,
614 int nComps, 616 int nComps,
615 int bpc, 617 int bpc,
616 int predictor, 618 int predictor,
617 int Colors, 619 int Colors,
618 int BitsPerComponent, 620 int BitsPerComponent,
619 int Columns); 621 int Columns);
620 virtual void Destroy() { delete this; } 622 void Destroy() { delete this; }
621 virtual void v_DownScale(int dest_width, int dest_height) {} 623
622 virtual FX_BOOL v_Rewind(); 624 // CCodec_ScanlineDecoder
623 virtual uint8_t* v_GetNextLine(); 625 void v_DownScale(int dest_width, int dest_height) override {}
624 virtual FX_DWORD GetSrcOffset(); 626 FX_BOOL v_Rewind() override;
627 uint8_t* v_GetNextLine() override;
628 FX_DWORD GetSrcOffset() override;
629
625 void* m_pFlate; 630 void* m_pFlate;
626 const uint8_t* m_SrcBuf; 631 const uint8_t* m_SrcBuf;
627 FX_DWORD m_SrcSize; 632 FX_DWORD m_SrcSize;
628 uint8_t* m_pScanline; 633 uint8_t* m_pScanline;
629 uint8_t* m_pLastLine; 634 uint8_t* m_pLastLine;
630 uint8_t* m_pPredictBuffer; 635 uint8_t* m_pPredictBuffer;
631 uint8_t* m_pPredictRaw; 636 uint8_t* m_pPredictRaw;
632 int m_Predictor; 637 int m_Predictor;
633 int m_Colors, m_BitsPerComponent, m_Columns, m_PredictPitch, m_LeftOver; 638 int m_Colors, m_BitsPerComponent, m_Columns, m_PredictPitch, m_LeftOver;
634 }; 639 };
640
635 CCodec_FlateScanlineDecoder::CCodec_FlateScanlineDecoder() { 641 CCodec_FlateScanlineDecoder::CCodec_FlateScanlineDecoder() {
636 m_pFlate = NULL; 642 m_pFlate = NULL;
637 m_pScanline = NULL; 643 m_pScanline = NULL;
638 m_pLastLine = NULL; 644 m_pLastLine = NULL;
639 m_pPredictBuffer = NULL; 645 m_pPredictBuffer = NULL;
640 m_pPredictRaw = NULL; 646 m_pPredictRaw = NULL;
641 m_LeftOver = 0; 647 m_LeftOver = 0;
642 } 648 }
643 CCodec_FlateScanlineDecoder::~CCodec_FlateScanlineDecoder() { 649 CCodec_FlateScanlineDecoder::~CCodec_FlateScanlineDecoder() {
644 if (m_pScanline) { 650 if (m_pScanline) {
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 FX_DWORD src_size, 974 FX_DWORD src_size,
969 uint8_t*& dest_buf, 975 uint8_t*& dest_buf,
970 FX_DWORD& dest_size) { 976 FX_DWORD& dest_size) {
971 dest_size = src_size + src_size / 1000 + 12; 977 dest_size = src_size + src_size / 1000 + 12;
972 dest_buf = FX_Alloc(uint8_t, dest_size); 978 dest_buf = FX_Alloc(uint8_t, dest_size);
973 unsigned long temp_size = dest_size; 979 unsigned long temp_size = dest_size;
974 FPDFAPI_FlateCompress(dest_buf, &temp_size, src_buf, src_size); 980 FPDFAPI_FlateCompress(dest_buf, &temp_size, src_buf, src_size);
975 dest_size = (FX_DWORD)temp_size; 981 dest_size = (FX_DWORD)temp_size;
976 return TRUE; 982 return TRUE;
977 } 983 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698