diff options
Diffstat (limited to 'thirdparty/etc2comp/EtcBlock4x4Encoding.h')
| -rw-r--r-- | thirdparty/etc2comp/EtcBlock4x4Encoding.h | 148 | 
1 files changed, 0 insertions, 148 deletions
diff --git a/thirdparty/etc2comp/EtcBlock4x4Encoding.h b/thirdparty/etc2comp/EtcBlock4x4Encoding.h deleted file mode 100644 index c14c3b8616..0000000000 --- a/thirdparty/etc2comp/EtcBlock4x4Encoding.h +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2015 The Etc2Comp Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *  http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include "EtcColorFloatRGBA.h" - -#include "EtcErrorMetric.h" - -#include <assert.h> -#include <float.h> - -namespace Etc -{ -	class Block4x4; - -	// abstract base class for specific encodings -	class Block4x4Encoding -	{ -	public: - -		static const unsigned int ROWS = 4; -		static const unsigned int COLUMNS = 4; -		static const unsigned int PIXELS = ROWS * COLUMNS; -		static const float LUMA_WEIGHT; -		static const float CHROMA_BLUE_WEIGHT; - -		typedef enum -		{ -			MODE_UNKNOWN, -			// -			MODE_ETC1, -			MODE_T, -			MODE_H, -			MODE_PLANAR, -			MODE_R11, -			MODE_RG11, -			// -			MODES -		} Mode; - -		Block4x4Encoding(void); -		//virtual ~Block4x4Encoding(void) =0; -		virtual ~Block4x4Encoding(void) {} -		virtual void InitFromSource(Block4x4 *a_pblockParent, -									ColorFloatRGBA *a_pafrgbaSource, - -									unsigned char *a_paucEncodingBits, ErrorMetric a_errormetric) = 0; - -		virtual void InitFromEncodingBits(Block4x4 *a_pblockParent, -											unsigned char *a_paucEncodingBits, -											ColorFloatRGBA *a_pafrgbaSource, - -											ErrorMetric a_errormetric) = 0; - -		// perform an iteration of the encoding -		// the first iteration must generate a complete, valid (if poor) encoding -		virtual void PerformIteration(float a_fEffort) = 0; - -		void CalcBlockError(void); - -		inline float GetError(void) -		{ -			assert(m_fError >= 0.0f); - -			return m_fError; -		} - -		inline ColorFloatRGBA * GetDecodedColors(void) -		{ -			return m_afrgbaDecodedColors; -		} - -		inline float * GetDecodedAlphas(void) -		{ -			return m_afDecodedAlphas; -		} - -		virtual void SetEncodingBits(void) = 0; - -		virtual bool GetFlip(void) = 0; - -		virtual bool IsDifferential(void) = 0; - -		virtual bool HasSeverelyBentDifferentialColors(void) const = 0; - -		inline Mode GetMode(void) -		{ -			return m_mode; -		} - -		inline bool IsDone(void) -		{ -			return m_boolDone; -		} - -		inline void SetDoneIfPerfect() -		{ -			if (GetError() == 0.0f) -			{ -				m_boolDone = true; -			} -		} - -		float CalcPixelError(ColorFloatRGBA a_frgbaDecodedColor, float a_fDecodedAlpha, -								ColorFloatRGBA a_frgbaSourcePixel); - -	protected: - -		void Init(Block4x4 *a_pblockParent, -					ColorFloatRGBA *a_pafrgbaSource, - -					ErrorMetric a_errormetric); - -		Block4x4		*m_pblockParent; -		ColorFloatRGBA	*m_pafrgbaSource; - -		bool			m_boolBorderPixels;				// if block has any border pixels - -		ColorFloatRGBA	m_afrgbaDecodedColors[PIXELS];	// decoded RGB components, ignore Alpha -		float			m_afDecodedAlphas[PIXELS];		// decoded alpha component -		float			m_fError;						// error for RGBA relative to m_pafrgbaSource - -		// intermediate encoding -		Mode			m_mode; - -		unsigned int	m_uiEncodingIterations; -		bool			m_boolDone;						// all iterations have been done -		ErrorMetric		m_errormetric; - -	private: - -	}; - -} // namespace Etc  |