|
@@ -25,6 +25,19 @@
|
|
|
|
|
|
|
|
#include "video_core/textures/astc.h"
|
|
#include "video_core/textures/astc.h"
|
|
|
|
|
|
|
|
|
|
+namespace {
|
|
|
|
|
+
|
|
|
|
|
+/// Count the number of bits set in a number.
|
|
|
|
|
+constexpr u32 Popcnt(u32 n) {
|
|
|
|
|
+ u32 c = 0;
|
|
|
|
|
+ for (; n; c++) {
|
|
|
|
|
+ n &= n - 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ return c;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+} // Anonymous namespace
|
|
|
|
|
+
|
|
|
class InputBitStream {
|
|
class InputBitStream {
|
|
|
public:
|
|
public:
|
|
|
explicit InputBitStream(const unsigned char* ptr, int start_offset = 0)
|
|
explicit InputBitStream(const unsigned char* ptr, int start_offset = 0)
|
|
@@ -212,15 +225,6 @@ public:
|
|
|
return totalBits;
|
|
return totalBits;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // Count the number of bits set in a number.
|
|
|
|
|
- static inline u32 Popcnt(u32 n) {
|
|
|
|
|
- u32 c;
|
|
|
|
|
- for (c = 0; n; c++) {
|
|
|
|
|
- n &= n - 1;
|
|
|
|
|
- }
|
|
|
|
|
- return c;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
// Returns a new instance of this struct that corresponds to the
|
|
// Returns a new instance of this struct that corresponds to the
|
|
|
// can take no more than maxval values
|
|
// can take no more than maxval values
|
|
|
static IntegerEncodedValue CreateEncoding(u32 maxVal) {
|
|
static IntegerEncodedValue CreateEncoding(u32 maxVal) {
|