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

Side by Side Diff: Source/platform/image-decoders/jpeg/JPEGImageDecoder.h

Issue 418653002: Allowing YUV data to be retrieved from the JPEG Decoder. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed comments Created 6 years, 5 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 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2008-2009 Torch Mobile, Inc. 3 * Copyright (C) 2008-2009 Torch Mobile, Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 30 matching lines...) Expand all
41 WTF_MAKE_NONCOPYABLE(JPEGImageDecoder); 41 WTF_MAKE_NONCOPYABLE(JPEGImageDecoder);
42 public: 42 public:
43 JPEGImageDecoder(ImageSource::AlphaOption, ImageSource::GammaAndColorProfile Option, size_t maxDecodedBytes); 43 JPEGImageDecoder(ImageSource::AlphaOption, ImageSource::GammaAndColorProfile Option, size_t maxDecodedBytes);
44 virtual ~JPEGImageDecoder(); 44 virtual ~JPEGImageDecoder();
45 45
46 // ImageDecoder 46 // ImageDecoder
47 virtual String filenameExtension() const OVERRIDE { return "jpg"; } 47 virtual String filenameExtension() const OVERRIDE { return "jpg"; }
48 virtual bool isSizeAvailable() OVERRIDE; 48 virtual bool isSizeAvailable() OVERRIDE;
49 virtual bool hasColorProfile() const OVERRIDE { return m_hasColorProfile; } 49 virtual bool hasColorProfile() const OVERRIDE { return m_hasColorProfile; }
50 virtual IntSize decodedSize() const OVERRIDE { return m_decodedSize; } 50 virtual IntSize decodedSize() const OVERRIDE { return m_decodedSize; }
51 virtual IntSize decodedYUVSize(int component = 0) const OVERRIDE;
Stephen White 2014/07/25 17:03:43 Nit: seems strange to have a default argument here
sugoi1 2014/07/25 17:08:38 You're right, I had originally put this here becau
51 virtual bool setSize(unsigned width, unsigned height) OVERRIDE; 52 virtual bool setSize(unsigned width, unsigned height) OVERRIDE;
52 virtual ImageFrame* frameBufferAtIndex(size_t) OVERRIDE; 53 virtual ImageFrame* frameBufferAtIndex(size_t) OVERRIDE;
53 // CAUTION: setFailed() deletes |m_reader|. Be careful to avoid 54 // CAUTION: setFailed() deletes |m_reader|. Be careful to avoid
54 // accessing deleted memory, especially when calling this from inside 55 // accessing deleted memory, especially when calling this from inside
55 // JPEGImageReader! 56 // JPEGImageReader!
56 virtual bool setFailed() OVERRIDE; 57 virtual bool setFailed() OVERRIDE;
58 virtual bool YUVDecoding() const OVERRIDE { return m_imagePlanes.get(); }
59 virtual bool decodeToYUV() OVERRIDE;
60 virtual void setImagePlanes(OwnPtr<ImagePlanes>&) OVERRIDE;
57 61
58 bool outputScanlines(); 62 bool outputScanlines();
59 unsigned desiredScaleNumerator() const; 63 unsigned desiredScaleNumerator() const;
60 void jpegComplete(); 64 void jpegComplete();
61 65
62 void setOrientation(ImageOrientation orientation) { m_orientation = orientat ion; } 66 void setOrientation(ImageOrientation orientation) { m_orientation = orientat ion; }
63 void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor Profile; } 67 void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor Profile; }
64 void setDecodedSize(unsigned width, unsigned height); 68 void setDecodedSize(unsigned width, unsigned height);
65 69
66 private: 70 private:
67 // Decodes the image. If |onlySize| is true, stops decoding after 71 // Decodes the image. If |onlySize| is true, stops decoding after
68 // calculating the image size. If decoding fails but there is no more 72 // calculating the image size. If decoding fails but there is no more
69 // data coming, sets the "decode failure" flag. 73 // data coming, sets the "decode failure" flag.
70 void decode(bool onlySize); 74 void decode(bool onlySize);
71 75
72 OwnPtr<JPEGImageReader> m_reader; 76 OwnPtr<JPEGImageReader> m_reader;
77 OwnPtr<ImagePlanes> m_imagePlanes;
73 IntSize m_decodedSize; 78 IntSize m_decodedSize;
74 bool m_hasColorProfile; 79 bool m_hasColorProfile;
75 }; 80 };
76 81
77 } // namespace blink 82 } // namespace blink
78 83
79 #endif 84 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698