summaryrefslogtreecommitdiff
path: root/thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h
diff options
context:
space:
mode:
authorK. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>2021-04-06 22:05:56 -0700
committerRémi Verschelde <rverschelde@gmail.com>2021-04-13 00:12:12 +0200
commitd840165a324b5c218ca3a4882f030986855c8383 (patch)
tree7c5f4b091ecc647f2b6ed48135945f84c6dc2de9 /thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h
parentb895071895cffcbcda7f4156d7175ba5b8068852 (diff)
Add `etcpak` library for faster ETC/ETC2/S3TC imports.
- `etc` module was renamed to `etcpak` and modified to use the new library. - PKM importer is removed in the process, it's obsolete. - Old library `etc2comp` is removed. - S3TC compression no longer done via `squish` (but decompression still is). - Slight modifications to etcpak sources for MinGW compatibility, to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or system libpng. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
Diffstat (limited to 'thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h')
-rw-r--r--thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h b/thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h
deleted file mode 100644
index ff26e462f8..0000000000
--- a/thirdparty/etc2comp/EtcBlock4x4Encoding_RGB8A1.h
+++ /dev/null
@@ -1,129 +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 "EtcBlock4x4Encoding_RGB8.h"
-#include "EtcErrorMetric.h"
-#include "EtcBlock4x4EncodingBits.h"
-
-namespace Etc
-{
-
- // ################################################################################
- // Block4x4Encoding_RGB8A1
- // RGB8A1 if not completely opaque or transparent
- // ################################################################################
-
- class Block4x4Encoding_RGB8A1 : public Block4x4Encoding_RGB8
- {
- public:
-
- static const unsigned int TRANSPARENT_SELECTOR = 2;
-
- Block4x4Encoding_RGB8A1(void);
- virtual ~Block4x4Encoding_RGB8A1(void);
-
- virtual void InitFromSource(Block4x4 *a_pblockParent,
- ColorFloatRGBA *a_pafrgbaSource,
- unsigned char *a_paucEncodingBits,
- ErrorMetric a_errormetric);
-
- virtual void InitFromEncodingBits(Block4x4 *a_pblockParent,
- unsigned char *a_paucEncodingBits,
- ColorFloatRGBA *a_pafrgbaSource,
- ErrorMetric a_errormetric);
-
- virtual void PerformIteration(float a_fEffort);
-
- virtual void SetEncodingBits(void);
-
- void InitFromEncodingBits_ETC1(Block4x4 *a_pblockParent,
- unsigned char *a_paucEncodingBits,
- ColorFloatRGBA *a_pafrgbaSource,
- ErrorMetric a_errormetric);
-
- void InitFromEncodingBits_T(void);
- void InitFromEncodingBits_H(void);
-
- void PerformFirstIteration(void);
-
- void Decode_ETC1(void);
- void DecodePixels_T(void);
- void DecodePixels_H(void);
- void SetEncodingBits_ETC1(void);
- void SetEncodingBits_T(void);
- void SetEncodingBits_H(void);
-
- protected:
-
- bool m_boolOpaque; // all source pixels have alpha >= 0.5
- bool m_boolTransparent; // all source pixels have alpha < 0.5
- bool m_boolPunchThroughPixels; // some source pixels have alpha < 0.5
-
- static float s_aafCwOpaqueUnsetTable[CW_RANGES][SELECTORS];
-
- private:
-
- void TryDifferential(bool a_boolFlip, unsigned int a_uiRadius,
- int a_iGrayOffset1, int a_iGrayOffset2);
- void TryDifferentialHalf(DifferentialTrys::Half *a_phalf);
-
- void TryT(unsigned int a_uiRadius);
- void TryT_BestSelectorCombination(void);
- void TryH(unsigned int a_uiRadius);
- void TryH_BestSelectorCombination(void);
-
- void TryDegenerates1(void);
- void TryDegenerates2(void);
- void TryDegenerates3(void);
- void TryDegenerates4(void);
-
- };
-
- // ################################################################################
- // Block4x4Encoding_RGB8A1_Opaque
- // RGB8A1 if all pixels have alpha==1
- // ################################################################################
-
- class Block4x4Encoding_RGB8A1_Opaque : public Block4x4Encoding_RGB8A1
- {
- public:
-
- virtual void PerformIteration(float a_fEffort);
-
- void PerformFirstIteration(void);
-
- private:
-
- };
-
- // ################################################################################
- // Block4x4Encoding_RGB8A1_Transparent
- // RGB8A1 if all pixels have alpha==0
- // ################################################################################
-
- class Block4x4Encoding_RGB8A1_Transparent : public Block4x4Encoding_RGB8A1
- {
- public:
-
- virtual void PerformIteration(float a_fEffort);
-
- private:
-
- };
-
-} // namespace Etc