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

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

Issue 1292613003: Use override in more classes in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: nit 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
« no previous file with comments | « core/src/fxcodec/codec/fx_codec_flate.cpp ('k') | core/src/fxcrt/extension.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 <setjmp.h> 7 #include <setjmp.h>
8 8
9 #include "../../../include/fxcodec/fx_codec.h" 9 #include "../../../include/fxcodec/fx_codec.h"
10 #include "../../../include/fxcrt/fx_safe_types.h" 10 #include "../../../include/fxcrt/fx_safe_types.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 bits_per_components = cinfo.data_precision; 280 bits_per_components = cinfo.data_precision;
281 if (icc_buf_ptr != NULL) { 281 if (icc_buf_ptr != NULL) {
282 *icc_buf_ptr = NULL; 282 *icc_buf_ptr = NULL;
283 } 283 }
284 if (icc_length != NULL) { 284 if (icc_length != NULL) {
285 *icc_length = 0; 285 *icc_length = 0;
286 } 286 }
287 jpeg_destroy_decompress(&cinfo); 287 jpeg_destroy_decompress(&cinfo);
288 return TRUE; 288 return TRUE;
289 } 289 }
290
290 class CCodec_JpegDecoder : public CCodec_ScanlineDecoder { 291 class CCodec_JpegDecoder : public CCodec_ScanlineDecoder {
291 public: 292 public:
292 CCodec_JpegDecoder(); 293 CCodec_JpegDecoder();
293 ~CCodec_JpegDecoder(); 294 ~CCodec_JpegDecoder() override;
295
294 FX_BOOL Create(const uint8_t* src_buf, 296 FX_BOOL Create(const uint8_t* src_buf,
295 FX_DWORD src_size, 297 FX_DWORD src_size,
296 int width, 298 int width,
297 int height, 299 int height,
298 int nComps, 300 int nComps,
299 FX_BOOL ColorTransform, 301 FX_BOOL ColorTransform,
300 IFX_JpegProvider* pJP); 302 IFX_JpegProvider* pJP);
301 virtual void Destroy() { delete this; } 303 void Destroy() { delete this; }
302 virtual void v_DownScale(int dest_width, int dest_height); 304
303 virtual FX_BOOL v_Rewind(); 305 // CCodec_ScanlineDecoder
304 virtual uint8_t* v_GetNextLine(); 306 void v_DownScale(int dest_width, int dest_height) override;
305 virtual FX_DWORD GetSrcOffset(); 307 FX_BOOL v_Rewind() override;
308 uint8_t* v_GetNextLine() override;
309 FX_DWORD GetSrcOffset() override;
310
311 FX_BOOL InitDecode();
312
306 jmp_buf m_JmpBuf; 313 jmp_buf m_JmpBuf;
307 struct jpeg_decompress_struct cinfo; 314 struct jpeg_decompress_struct cinfo;
308 struct jpeg_error_mgr jerr; 315 struct jpeg_error_mgr jerr;
309 struct jpeg_source_mgr src; 316 struct jpeg_source_mgr src;
310 const uint8_t* m_SrcBuf; 317 const uint8_t* m_SrcBuf;
311 FX_DWORD m_SrcSize; 318 FX_DWORD m_SrcSize;
312 uint8_t* m_pScanlineBuf; 319 uint8_t* m_pScanlineBuf;
313 FX_BOOL InitDecode(); 320
314 FX_BOOL m_bInited, m_bStarted, m_bJpegTransform; 321 FX_BOOL m_bInited;
322 FX_BOOL m_bStarted;
323 FX_BOOL m_bJpegTransform;
315 324
316 protected: 325 protected:
317 IFX_JpegProvider* m_pExtProvider; 326 IFX_JpegProvider* m_pExtProvider;
318 void* m_pExtContext; 327 void* m_pExtContext;
319 FX_DWORD m_nDefaultScaleDenom; 328 FX_DWORD m_nDefaultScaleDenom;
320 }; 329 };
330
321 CCodec_JpegDecoder::CCodec_JpegDecoder() { 331 CCodec_JpegDecoder::CCodec_JpegDecoder() {
322 m_pScanlineBuf = NULL; 332 m_pScanlineBuf = NULL;
323 m_DownScale = 1; 333 m_DownScale = 1;
324 m_bStarted = FALSE; 334 m_bStarted = FALSE;
325 m_bInited = FALSE; 335 m_bInited = FALSE;
326 m_pExtProvider = NULL; 336 m_pExtProvider = NULL;
327 m_pExtContext = NULL; 337 m_pExtContext = NULL;
328 FXSYS_memset(&cinfo, 0, sizeof(cinfo)); 338 FXSYS_memset(&cinfo, 0, sizeof(cinfo));
329 FXSYS_memset(&jerr, 0, sizeof(jerr)); 339 FXSYS_memset(&jerr, 0, sizeof(jerr));
330 FXSYS_memset(&src, 0, sizeof(src)); 340 FXSYS_memset(&src, 0, sizeof(src));
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 } 712 }
703 if (avail_buf_ptr != NULL) { 713 if (avail_buf_ptr != NULL) {
704 *avail_buf_ptr = NULL; 714 *avail_buf_ptr = NULL;
705 if (((FXJPEG_Context*)pContext)->m_SrcMgr.bytes_in_buffer > 0) { 715 if (((FXJPEG_Context*)pContext)->m_SrcMgr.bytes_in_buffer > 0) {
706 *avail_buf_ptr = 716 *avail_buf_ptr =
707 (uint8_t*)((FXJPEG_Context*)pContext)->m_SrcMgr.next_input_byte; 717 (uint8_t*)((FXJPEG_Context*)pContext)->m_SrcMgr.next_input_byte;
708 } 718 }
709 } 719 }
710 return (FX_DWORD)((FXJPEG_Context*)pContext)->m_SrcMgr.bytes_in_buffer; 720 return (FX_DWORD)((FXJPEG_Context*)pContext)->m_SrcMgr.bytes_in_buffer;
711 } 721 }
OLDNEW
« no previous file with comments | « core/src/fxcodec/codec/fx_codec_flate.cpp ('k') | core/src/fxcrt/extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698