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

Unified Diff: src/core/SkBitmapProcState.h

Issue 17381008: More general version of image filtering; reworked to be robust and easier to SSE (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Separate implementation of downsampling for high quality results Created 7 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 side-by-side diff with in-line comments
Download patch
Index: src/core/SkBitmapProcState.h
diff --git a/src/core/SkBitmapProcState.h b/src/core/SkBitmapProcState.h
index 7d754fe5092b45936097f3e7f0dd42ec45bfe257..c10b3a9716d31eea7784218e64e6c2beb22bb376 100644
--- a/src/core/SkBitmapProcState.h
+++ b/src/core/SkBitmapProcState.h
@@ -11,6 +11,7 @@
#define SkBitmapProcState_DEFINED
#include "SkBitmap.h"
+#include "SkBitmapFilter.h"
#include "SkMatrix.h"
#define FractionalInt_IS_64BIT
@@ -122,6 +123,9 @@ struct SkBitmapProcState {
SampleProc32 getSampleProc32() const { return fSampleProc32; }
SampleProc16 getSampleProc16() const { return fSampleProc16; }
+ void buildFilterCoefficients(SkFixed dst[4], float t) const;
+ SkBitmapFilter *fBitmapFilter;
reed1 2013/07/09 14:25:47 who needs direct access to this object (other than
humper 2013/07/09 14:47:26 Nobody. Will restrict. On 2013/07/09 14:25:47,
+
private:
friend class SkBitmapProcShader;
@@ -140,11 +144,7 @@ private:
bool chooseProcs(const SkMatrix& inv, const SkPaint&);
ShaderProc32 chooseShaderProc32();
-
- /** test method for choosing a bicubic shading filter
- */
-
- ShaderProc32 chooseBicubicFilterProc(const SkPaint &paint);
+ ShaderProc32 chooseBitmapFilterProc(const SkPaint &paint);
// Return false if we failed to setup for fast translate (e.g. overflow)
bool setupForTranslate();
@@ -200,4 +200,10 @@ void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s,
void S32_D16_filter_DX(const SkBitmapProcState& s,
const uint32_t* xy, int count, uint16_t* colors);
+void highQualityFilter_ScaleOnly(const SkBitmapProcState &s, int x, int y,
+ SkPMColor *SK_RESTRICT colors, int count);
+void highQualityFilter(const SkBitmapProcState &s, int x, int y,
+ SkPMColor *SK_RESTRICT colors, int count);
+
+
#endif

Powered by Google App Engine
This is Rietveld 408576698