Grok 20.3.2
ojph_arch.h File Reference
#include <cstdio>
#include <cstdint>
#include <cmath>
#include "ojph_defs.h"

Go to the source code of this file.

Namespaces

namespace  grk
 ResWindow.
namespace  grk::t1
namespace  grk::t1::ojph

Macros

#define OJPH_ARCH_UNKNOWN
#define OJPH_DISABLE_SIMD
#define OJPH_EXPORT

Enumerations

enum  : int {
  grk::t1::ojph::X86_CPU_EXT_LEVEL_GENERIC = 0 , grk::t1::ojph::X86_CPU_EXT_LEVEL_MMX = 1 , grk::t1::ojph::X86_CPU_EXT_LEVEL_SSE = 2 , grk::t1::ojph::X86_CPU_EXT_LEVEL_SSE2 = 3 ,
  grk::t1::ojph::X86_CPU_EXT_LEVEL_SSE3 = 4 , grk::t1::ojph::X86_CPU_EXT_LEVEL_SSSE3 = 5 , grk::t1::ojph::X86_CPU_EXT_LEVEL_SSE41 = 6 , grk::t1::ojph::X86_CPU_EXT_LEVEL_SSE42 = 7 ,
  grk::t1::ojph::X86_CPU_EXT_LEVEL_AVX = 8 , grk::t1::ojph::X86_CPU_EXT_LEVEL_AVX2 = 9 , grk::t1::ojph::X86_CPU_EXT_LEVEL_AVX2FMA = 10 , grk::t1::ojph::X86_CPU_EXT_LEVEL_AVX512 = 11
}
enum  : int {
  grk::t1::ojph::ARM_CPU_EXT_LEVEL_GENERIC = 0 , grk::t1::ojph::ARM_CPU_EXT_LEVEL_NEON = 1 , grk::t1::ojph::ARM_CPU_EXT_LEVEL_ASIMD = 1 , grk::t1::ojph::ARM_CPU_EXT_LEVEL_SVE = 2 ,
  grk::t1::ojph::ARM_CPU_EXT_LEVEL_SVE2 = 3
}

Functions

OJPH_EXPORT int grk::t1::ojph::get_cpu_ext_level ()
static ui32 grk::t1::ojph::population_count (ui32 val)
static ui32 grk::t1::ojph::count_leading_zeros (ui32 val)
static ui32 grk::t1::ojph::count_leading_zeros (ui64 val)
static ui32 grk::t1::ojph::count_trailing_zeros (ui32 val)
static si32 grk::t1::ojph::ojph_round (float val)
static si32 grk::t1::ojph::ojph_trunc (float val)
template<typename T, ui32 N>
size_t grk::t1::ojph::calc_aligned_size (size_t size)
template<typename T, ui32 N>
T * grk::t1::ojph::align_ptr (T *ptr)

Variables

const ui32 grk::t1::ojph::byte_alignment = 64
const ui32 grk::t1::ojph::log_byte_alignment = 31 - count_leading_zeros(byte_alignment)
const ui32 grk::t1::ojph::object_alignment = 8

Macro Definition Documentation

◆ OJPH_ARCH_UNKNOWN

#define OJPH_ARCH_UNKNOWN

◆ OJPH_DISABLE_SIMD

#define OJPH_DISABLE_SIMD

◆ OJPH_EXPORT

#define OJPH_EXPORT