Coverage Report

Created: 2026-09-14 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libjxl/lib/jxl/transpose-inl.h
Line
Count
Source
1
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file.
5
6
// Block transpose for DCT/IDCT
7
8
#include "lib/jxl/base/compiler_specific.h"
9
10
#if defined(LIB_JXL_TRANSPOSE_INL_H_) == defined(HWY_TARGET_TOGGLE)
11
#ifdef LIB_JXL_TRANSPOSE_INL_H_
12
#undef LIB_JXL_TRANSPOSE_INL_H_
13
#else
14
#define LIB_JXL_TRANSPOSE_INL_H_
15
#endif
16
17
#include <stddef.h>
18
19
#include <hwy/highway.h>
20
#include <type_traits>
21
22
#include "lib/jxl/base/status.h"
23
#include "lib/jxl/dct_block-inl.h"
24
25
HWY_BEFORE_NAMESPACE();
26
namespace jxl {
27
namespace HWY_NAMESPACE {
28
namespace {
29
30
#ifndef JXL_INLINE_TRANSPOSE
31
// Workaround for issue #42 - (excessive?) inlining causes invalid codegen.
32
#if defined(__arm__)
33
#define JXL_INLINE_TRANSPOSE HWY_NOINLINE
34
#else
35
#define JXL_INLINE_TRANSPOSE HWY_INLINE
36
#endif
37
#endif  // JXL_INLINE_TRANSPOSE
38
39
// Simple wrapper that ensures that a function will not be inlined.
40
template <typename T, typename... Args>
41
6.11M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
6.11M
  return f(args...);
43
6.11M
}
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false> const&, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
6.11M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
6.11M
  return f(args...);
43
6.11M
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false> const&, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
3.49k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
3.49k
  return f(args...);
43
3.49k
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false> const&, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false> const&, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false> const&, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
44
45
template <bool enabled>
46
struct TransposeSimdTag {};
47
48
// TODO(veluca): it's not super useful to have this in the SIMD namespace.
49
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
50
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
51
    TransposeSimdTag<false> /* tag */, const From& from, const To& to,
52
7.70M
    size_t ROWSp, size_t COLSp) {
53
7.70M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
7.70M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
59.8M
  for (size_t n = 0; n < ROWS; ++n) {
56
569M
    for (size_t m = 0; m < COLS; ++m) {
57
517M
      to.Write(from.Read(n, m), m, n);
58
517M
    }
59
52.1M
  }
60
7.70M
}
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
17.9k
    size_t ROWSp, size_t COLSp) {
53
17.9k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
17.9k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
89.5k
  for (size_t n = 0; n < ROWS; ++n) {
56
641k
    for (size_t m = 0; m < COLS; ++m) {
57
570k
      to.Write(from.Read(n, m), m, n);
58
570k
    }
59
71.6k
  }
60
17.9k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
11.5k
    size_t ROWSp, size_t COLSp) {
53
11.5k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
11.5k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
104k
  for (size_t n = 0; n < ROWS; ++n) {
56
462k
    for (size_t m = 0; m < COLS; ++m) {
57
370k
      to.Write(from.Read(n, m), m, n);
58
370k
    }
59
92.6k
  }
60
11.5k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
8.15k
    size_t ROWSp, size_t COLSp) {
53
8.15k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
8.15k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
40.7k
  for (size_t n = 0; n < ROWS; ++n) {
56
163k
    for (size_t m = 0; m < COLS; ++m) {
57
130k
      to.Write(from.Read(n, m), m, n);
58
130k
    }
59
32.6k
  }
60
8.15k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
3.72k
    size_t ROWSp, size_t COLSp) {
53
3.72k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
3.72k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
63.2k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.01M
    for (size_t m = 0; m < COLS; ++m) {
57
953k
      to.Write(from.Read(n, m), m, n);
58
953k
    }
59
59.5k
  }
60
3.72k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.88M
    size_t ROWSp, size_t COLSp) {
53
1.88M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.88M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
16.8M
  for (size_t n = 0; n < ROWS; ++n) {
56
249M
    for (size_t m = 0; m < COLS; ++m) {
57
234M
      to.Write(from.Read(n, m), m, n);
58
234M
    }
59
14.9M
  }
60
1.88M
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.84M
    size_t ROWSp, size_t COLSp) {
53
1.84M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.84M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
31.2M
  for (size_t n = 0; n < ROWS; ++n) {
56
260M
    for (size_t m = 0; m < COLS; ++m) {
57
231M
      to.Write(from.Read(n, m), m, n);
58
231M
    }
59
29.4M
  }
60
1.84M
}
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
3.49k
    size_t ROWSp, size_t COLSp) {
53
3.49k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
3.49k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
289k
  for (size_t n = 0; n < ROWS; ++n) {
56
30.7M
    for (size_t m = 0; m < COLS; ++m) {
57
30.4M
      to.Write(from.Read(n, m), m, n);
58
30.4M
    }
59
286k
  }
60
3.49k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
195k
    size_t ROWSp, size_t COLSp) {
53
195k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
195k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.75M
  for (size_t n = 0; n < ROWS; ++n) {
56
13.9M
    for (size_t m = 0; m < COLS; ++m) {
57
12.3M
      to.Write(from.Read(n, m), m, n);
58
12.3M
    }
59
1.56M
  }
60
195k
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.88M
    size_t ROWSp, size_t COLSp) {
53
1.88M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.88M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
5.64M
  for (size_t n = 0; n < ROWS; ++n) {
56
7.53M
    for (size_t m = 0; m < COLS; ++m) {
57
3.76M
      to.Write(from.Read(n, m), m, n);
58
3.76M
    }
59
3.76M
  }
60
1.88M
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.85M
    size_t ROWSp, size_t COLSp) {
53
1.85M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.85M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
3.70M
  for (size_t n = 0; n < ROWS; ++n) {
56
5.55M
    for (size_t m = 0; m < COLS; ++m) {
57
3.70M
      to.Write(from.Read(n, m), m, n);
58
3.70M
    }
59
1.85M
  }
60
1.85M
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
2.36k
    size_t ROWSp, size_t COLSp) {
53
2.36k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
2.36k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
7.09k
  for (size_t n = 0; n < ROWS; ++n) {
56
14.1k
    for (size_t m = 0; m < COLS; ++m) {
57
9.45k
      to.Write(from.Read(n, m), m, n);
58
9.45k
    }
59
4.73k
  }
60
2.36k
}
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
303
    size_t ROWSp, size_t COLSp) {
53
303
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
303
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.51k
  for (size_t n = 0; n < ROWS; ++n) {
56
3.63k
    for (size_t m = 0; m < COLS; ++m) {
57
2.42k
      to.Write(from.Read(n, m), m, n);
58
2.42k
    }
59
1.21k
  }
60
303
}
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
63
    size_t ROWSp, size_t COLSp) {
53
63
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
63
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
189
  for (size_t n = 0; n < ROWS; ++n) {
56
630
    for (size_t m = 0; m < COLS; ++m) {
57
504
      to.Write(from.Read(n, m), m, n);
58
504
    }
59
126
  }
60
63
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
61
62
// TODO(veluca): AVX3?
63
#if HWY_CAP_GE256
64
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) {
65
  return ROWS % 8 == 0 && COLS % 8 == 0;
66
}
67
68
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
69
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
70
    TransposeSimdTag<true> /* tag */, const From& from, const To& to,
71
    size_t ROWSp, size_t COLSp) {
72
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
  for (size_t n = 0; n < ROWS; n += 8) {
78
    for (size_t m = 0; m < COLS; m += 8) {
79
      const BlockDesc<8> d;
80
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
      const auto q0 = InterleaveLower(d, i0, i2);
91
      const auto q1 = InterleaveLower(d, i1, i3);
92
      const auto q2 = InterleaveUpper(d, i0, i2);
93
      const auto q3 = InterleaveUpper(d, i1, i3);
94
      const auto q4 = InterleaveLower(d, i4, i6);
95
      const auto q5 = InterleaveLower(d, i5, i7);
96
      const auto q6 = InterleaveUpper(d, i4, i6);
97
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
      const auto r0 = InterleaveLower(d, q0, q1);
100
      const auto r1 = InterleaveUpper(d, q0, q1);
101
      const auto r2 = InterleaveLower(d, q2, q3);
102
      const auto r3 = InterleaveUpper(d, q2, q3);
103
      const auto r4 = InterleaveLower(d, q4, q5);
104
      const auto r5 = InterleaveUpper(d, q4, q5);
105
      const auto r6 = InterleaveLower(d, q6, q7);
106
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
      i0 = ConcatLowerLower(d, r4, r0);
109
      i1 = ConcatLowerLower(d, r5, r1);
110
      i2 = ConcatLowerLower(d, r6, r2);
111
      i3 = ConcatLowerLower(d, r7, r3);
112
      i4 = ConcatUpperUpper(d, r4, r0);
113
      i5 = ConcatUpperUpper(d, r5, r1);
114
      i6 = ConcatUpperUpper(d, r6, r2);
115
      i7 = ConcatUpperUpper(d, r7, r3);
116
      to.StorePart(d, i0, m + 0, n + 0);
117
      to.StorePart(d, i1, m + 1, n + 0);
118
      to.StorePart(d, i2, m + 2, n + 0);
119
      to.StorePart(d, i3, m + 3, n + 0);
120
      to.StorePart(d, i4, m + 4, n + 0);
121
      to.StorePart(d, i5, m + 5, n + 0);
122
      to.StorePart(d, i6, m + 6, n + 0);
123
      to.StorePart(d, i7, m + 7, n + 0);
124
    }
125
  }
126
}
127
#elif HWY_TARGET != HWY_SCALAR
128
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) {
129
  return ROWS % 4 == 0 && COLS % 4 == 0;
130
}
131
132
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
133
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
134
    TransposeSimdTag<true> /* tag */, const From& from, const To& to,
135
    size_t ROWSp, size_t COLSp) {
136
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
137
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
138
  JXL_DASSERT(Lanes(BlockDesc<4>()) == 4);
139
  static_assert(ROWS_or_0 % 4 == 0, "Invalid number of rows");
140
  static_assert(COLS_or_0 % 4 == 0, "Invalid number of columns");
141
  for (size_t n = 0; n < ROWS; n += 4) {
142
    for (size_t m = 0; m < COLS; m += 4) {
143
      const BlockDesc<4> d;
144
      const auto p0 = from.LoadPart(d, n + 0, m + 0);
145
      const auto p1 = from.LoadPart(d, n + 1, m + 0);
146
      const auto p2 = from.LoadPart(d, n + 2, m + 0);
147
      const auto p3 = from.LoadPart(d, n + 3, m + 0);
148
149
      const auto q0 = InterleaveLower(d, p0, p2);
150
      const auto q1 = InterleaveLower(d, p1, p3);
151
      const auto q2 = InterleaveUpper(d, p0, p2);
152
      const auto q3 = InterleaveUpper(d, p1, p3);
153
154
      const auto r0 = InterleaveLower(d, q0, q1);
155
      const auto r1 = InterleaveUpper(d, q0, q1);
156
      const auto r2 = InterleaveLower(d, q2, q3);
157
      const auto r3 = InterleaveUpper(d, q2, q3);
158
159
      to.StorePart(d, r0, m + 0, n + 0);
160
      to.StorePart(d, r1, m + 1, n + 0);
161
      to.StorePart(d, r2, m + 2, n + 0);
162
      to.StorePart(d, r3, m + 3, n + 0);
163
    }
164
  }
165
}
166
#else
167
0
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) { return false; }
Unexecuted instantiation: enc_group.cc:jxl::N_SCALAR::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:jxl::N_SCALAR::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::N_SCALAR::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::N_SCALAR::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::N_SCALAR::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
168
#endif
169
170
template <size_t N, size_t M, typename = void>
171
struct Transpose {
172
  template <typename From, typename To>
173
7.70M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
7.70M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
7.70M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
7.70M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
7.70M
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
17.9k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
17.9k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
17.9k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
17.9k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
17.9k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
11.5k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
11.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
11.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
11.5k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
11.5k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
8.15k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
8.15k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
8.15k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
8.15k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
8.15k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
3.72k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
3.72k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
3.72k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
3.72k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
3.72k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.88M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.88M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.88M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.88M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.88M
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.84M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.84M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.84M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.84M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.84M
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
195k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
195k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
195k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
195k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
195k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.88M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.88M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.88M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.88M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.88M
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.84M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.84M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.84M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.84M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.84M
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
2.36k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
2.36k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
2.36k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
2.36k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
2.36k
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
303
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
303
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
303
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
303
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
303
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
63
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
63
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
63
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
63
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
63
  }
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
180
};
181
182
// Avoid inlining and unrolling transposes for large blocks.
183
template <size_t N, size_t M>
184
struct Transpose<
185
    N, M, typename std::enable_if<(N >= 8 && M >= 8 && N * M >= 512)>::type> {
186
  template <typename From, typename To>
187
3.49k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
3.49k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
3.49k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
3.49k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
3.49k
                                const From&, const To&, size_t, size_t) =
194
3.49k
        GenericTransposeBlock<0, 0, From, To>;
195
3.49k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
3.49k
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
309
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
309
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
309
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
309
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
309
                                const From&, const To&, size_t, size_t) =
194
309
        GenericTransposeBlock<0, 0, From, To>;
195
309
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
309
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
78
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
78
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
78
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
78
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
78
                                const From&, const To&, size_t, size_t) =
194
78
        GenericTransposeBlock<0, 0, From, To>;
195
78
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
78
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
255
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
255
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
255
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
255
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
255
                                const From&, const To&, size_t, size_t) =
194
255
        GenericTransposeBlock<0, 0, From, To>;
195
255
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
255
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
105
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
105
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
105
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
105
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
105
                                const From&, const To&, size_t, size_t) =
194
105
        GenericTransposeBlock<0, 0, From, To>;
195
105
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
105
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
45
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
45
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
45
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
45
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
45
                                const From&, const To&, size_t, size_t) =
194
45
        GenericTransposeBlock<0, 0, From, To>;
195
45
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
45
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
1.02k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
1.02k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.02k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.02k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.02k
                                const From&, const To&, size_t, size_t) =
194
1.02k
        GenericTransposeBlock<0, 0, From, To>;
195
1.02k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.02k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
267
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
267
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
267
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
267
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
267
                                const From&, const To&, size_t, size_t) =
194
267
        GenericTransposeBlock<0, 0, From, To>;
195
267
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
267
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
24
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
24
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
24
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
24
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
24
                                const From&, const To&, size_t, size_t) =
194
24
        GenericTransposeBlock<0, 0, From, To>;
195
24
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
24
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
1.36k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
1.36k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.36k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.36k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.36k
                                const From&, const To&, size_t, size_t) =
194
1.36k
        GenericTransposeBlock<0, 0, From, To>;
195
1.36k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.36k
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
15
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
15
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
15
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
15
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
15
                                const From&, const To&, size_t, size_t) =
194
15
        GenericTransposeBlock<0, 0, From, To>;
195
15
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
15
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
6
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
6
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6
                                const From&, const To&, size_t, size_t) =
194
6
        GenericTransposeBlock<0, 0, From, To>;
195
6
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6
  }
dec_group.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
3
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
3
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
3
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
3
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
3
                                const From&, const To&, size_t, size_t) =
194
3
        GenericTransposeBlock<0, 0, From, To>;
195
3
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
3
  }
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SCALAR::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SCALAR::(anonymous namespace)::DCTFrom, jxl::N_SCALAR::(anonymous namespace)::DCTTo>(jxl::N_SCALAR::(anonymous namespace)::DCTFrom const&, jxl::N_SCALAR::(anonymous namespace)::DCTTo const&)
197
};
198
199
}  // namespace
200
// NOLINTNEXTLINE(google-readability-namespace-comments)
201
}  // namespace HWY_NAMESPACE
202
}  // namespace jxl
203
HWY_AFTER_NAMESPACE();
204
205
#endif  // LIB_JXL_TRANSPOSE_INL_H_