/src/libjxl/lib/jxl/transpose-inl.h
Line | Count | Source (jump to first uncovered line) |
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 | | #if defined(LIB_JXL_TRANSPOSE_INL_H_) == defined(HWY_TARGET_TOGGLE) |
9 | | #ifdef LIB_JXL_TRANSPOSE_INL_H_ |
10 | | #undef LIB_JXL_TRANSPOSE_INL_H_ |
11 | | #else |
12 | | #define LIB_JXL_TRANSPOSE_INL_H_ |
13 | | #endif |
14 | | |
15 | | #include <stddef.h> |
16 | | |
17 | | #include <hwy/highway.h> |
18 | | #include <type_traits> |
19 | | |
20 | | #include "lib/jxl/base/status.h" |
21 | | #include "lib/jxl/dct_block-inl.h" |
22 | | |
23 | | HWY_BEFORE_NAMESPACE(); |
24 | | namespace jxl { |
25 | | namespace HWY_NAMESPACE { |
26 | | namespace { |
27 | | |
28 | | #ifndef JXL_INLINE_TRANSPOSE |
29 | | // Workaround for issue #42 - (excessive?) inlining causes invalid codegen. |
30 | | #if defined(__arm__) |
31 | | #define JXL_INLINE_TRANSPOSE HWY_NOINLINE |
32 | | #else |
33 | | #define JXL_INLINE_TRANSPOSE HWY_INLINE |
34 | | #endif |
35 | | #endif // JXL_INLINE_TRANSPOSE |
36 | | |
37 | | // Simple wrapper that ensures that a function will not be inlined. |
38 | | template <typename T, typename... Args> |
39 | 1.26M | JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) { |
40 | 1.26M | return f(args...); |
41 | 1.26M | } 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 | 39 | 1.25M | JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) { | 40 | 1.25M | return f(args...); | 41 | 1.25M | } |
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 | 39 | 4.16k | JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) { | 40 | 4.16k | return f(args...); | 41 | 4.16k | } |
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&) |
42 | | |
43 | | template <bool enabled> |
44 | | struct TransposeSimdTag {}; |
45 | | |
46 | | // TODO(veluca): it's not super useful to have this in the SIMD namespace. |
47 | | template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To> |
48 | | JXL_INLINE_TRANSPOSE void GenericTransposeBlock( |
49 | | TransposeSimdTag<false> /* tag */, const From& from, const To& to, |
50 | 812k | size_t ROWSp, size_t COLSp) { |
51 | 812k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; |
52 | 812k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; |
53 | 6.87M | for (size_t n = 0; n < ROWS; ++n) { |
54 | 61.9M | for (size_t m = 0; m < COLS; ++m) { |
55 | 55.8M | to.Write(from.Read(n, m), m, n); |
56 | 55.8M | } |
57 | 6.06M | } |
58 | 812k | } 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 | 50 | 13.2k | size_t ROWSp, size_t COLSp) { | 51 | 13.2k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 13.2k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 66.4k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 478k | for (size_t m = 0; m < COLS; ++m) { | 55 | 425k | to.Write(from.Read(n, m), m, n); | 56 | 425k | } | 57 | 53.1k | } | 58 | 13.2k | } |
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 | 50 | 13.1k | size_t ROWSp, size_t COLSp) { | 51 | 13.1k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 13.1k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 118k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 524k | for (size_t m = 0; m < COLS; ++m) { | 55 | 419k | to.Write(from.Read(n, m), m, n); | 56 | 419k | } | 57 | 104k | } | 58 | 13.1k | } |
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 | 50 | 34.1k | size_t ROWSp, size_t COLSp) { | 51 | 34.1k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 34.1k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 170k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 683k | for (size_t m = 0; m < COLS; ++m) { | 55 | 546k | to.Write(from.Read(n, m), m, n); | 56 | 546k | } | 57 | 136k | } | 58 | 34.1k | } |
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 | 50 | 17.4k | size_t ROWSp, size_t COLSp) { | 51 | 17.4k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 17.4k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 296k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 4.75M | for (size_t m = 0; m < COLS; ++m) { | 55 | 4.47M | to.Write(from.Read(n, m), m, n); | 56 | 4.47M | } | 57 | 279k | } | 58 | 17.4k | } |
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 | 50 | 71.3k | size_t ROWSp, size_t COLSp) { | 51 | 71.3k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 71.3k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 641k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 9.69M | for (size_t m = 0; m < COLS; ++m) { | 55 | 9.11M | to.Write(from.Read(n, m), m, n); | 56 | 9.11M | } | 57 | 570k | } | 58 | 71.3k | } |
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 | 50 | 66.9k | size_t ROWSp, size_t COLSp) { | 51 | 66.9k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 66.9k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 1.13M | for (size_t n = 0; n < ROWS; ++n) { | 54 | 9.63M | for (size_t m = 0; m < COLS; ++m) { | 55 | 8.56M | to.Write(from.Read(n, m), m, n); | 56 | 8.56M | } | 57 | 1.07M | } | 58 | 66.9k | } |
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) Line | Count | Source | 50 | 120 | size_t ROWSp, size_t COLSp) { | 51 | 120 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 120 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 1.08k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 31.6k | for (size_t m = 0; m < COLS; ++m) { | 55 | 30.7k | to.Write(from.Read(n, m), m, n); | 56 | 30.7k | } | 57 | 960 | } | 58 | 120 | } |
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) Line | Count | Source | 50 | 72 | size_t ROWSp, size_t COLSp) { | 51 | 72 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 72 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 2.37k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 20.7k | for (size_t m = 0; m < COLS; ++m) { | 55 | 18.4k | to.Write(from.Read(n, m), m, n); | 56 | 18.4k | } | 57 | 2.30k | } | 58 | 72 | } |
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 | 50 | 4.16k | size_t ROWSp, size_t COLSp) { | 51 | 4.16k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 4.16k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 136k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 4.33M | for (size_t m = 0; m < COLS; ++m) { | 55 | 4.20M | to.Write(from.Read(n, m), m, n); | 56 | 4.20M | } | 57 | 132k | } | 58 | 4.16k | } |
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 | 50 | 436k | size_t ROWSp, size_t COLSp) { | 51 | 436k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 436k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 3.90M | for (size_t n = 0; n < ROWS; ++n) { | 54 | 31.1M | for (size_t m = 0; m < COLS; ++m) { | 55 | 27.7M | to.Write(from.Read(n, m), m, n); | 56 | 27.7M | } | 57 | 3.46M | } | 58 | 436k | } |
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 | 50 | 71.3k | size_t ROWSp, size_t COLSp) { | 51 | 71.3k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 71.3k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 214k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 285k | for (size_t m = 0; m < COLS; ++m) { | 55 | 142k | to.Write(from.Read(n, m), m, n); | 56 | 142k | } | 57 | 142k | } | 58 | 71.3k | } |
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 | 50 | 66.9k | size_t ROWSp, size_t COLSp) { | 51 | 66.9k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 66.9k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 133k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 200k | for (size_t m = 0; m < COLS; ++m) { | 55 | 133k | to.Write(from.Read(n, m), m, n); | 56 | 133k | } | 57 | 66.9k | } | 58 | 66.9k | } |
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 | 50 | 17.4k | size_t ROWSp, size_t COLSp) { | 51 | 17.4k | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 17.4k | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 52.2k | for (size_t n = 0; n < ROWS; ++n) { | 54 | 104k | for (size_t m = 0; m < COLS; ++m) { | 55 | 69.6k | to.Write(from.Read(n, m), m, n); | 56 | 69.6k | } | 57 | 34.8k | } | 58 | 17.4k | } |
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) Line | Count | Source | 50 | 120 | size_t ROWSp, size_t COLSp) { | 51 | 120 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 120 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 600 | for (size_t n = 0; n < ROWS; ++n) { | 54 | 960 | for (size_t m = 0; m < COLS; ++m) { | 55 | 480 | to.Write(from.Read(n, m), m, n); | 56 | 480 | } | 57 | 480 | } | 58 | 120 | } |
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) Line | Count | Source | 50 | 72 | size_t ROWSp, size_t COLSp) { | 51 | 72 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 72 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 144 | for (size_t n = 0; n < ROWS; ++n) { | 54 | 360 | for (size_t m = 0; m < COLS; ++m) { | 55 | 288 | to.Write(from.Read(n, m), m, n); | 56 | 288 | } | 57 | 72 | } | 58 | 72 | } |
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 | 50 | 12 | size_t ROWSp, size_t COLSp) { | 51 | 12 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 12 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 60 | for (size_t n = 0; n < ROWS; ++n) { | 54 | 144 | for (size_t m = 0; m < COLS; ++m) { | 55 | 96 | to.Write(from.Read(n, m), m, n); | 56 | 96 | } | 57 | 48 | } | 58 | 12 | } |
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 | 50 | 12 | size_t ROWSp, size_t COLSp) { | 51 | 12 | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; | 52 | 12 | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; | 53 | 36 | for (size_t n = 0; n < ROWS; ++n) { | 54 | 120 | for (size_t m = 0; m < COLS; ++m) { | 55 | 96 | to.Write(from.Read(n, m), m, n); | 56 | 96 | } | 57 | 24 | } | 58 | 12 | } |
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) |
59 | | |
60 | | // TODO(veluca): AVX3? |
61 | | #if HWY_CAP_GE256 |
62 | | constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) { |
63 | | return ROWS % 8 == 0 && COLS % 8 == 0; |
64 | | } |
65 | | |
66 | | template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To> |
67 | | JXL_INLINE_TRANSPOSE void GenericTransposeBlock( |
68 | | TransposeSimdTag<true> /* tag */, const From& from, const To& to, |
69 | | size_t ROWSp, size_t COLSp) { |
70 | | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; |
71 | | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; |
72 | | static_assert(MaxLanes(BlockDesc<8>()) == 8, "Invalid descriptor size"); |
73 | | static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows"); |
74 | | static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns"); |
75 | | for (size_t n = 0; n < ROWS; n += 8) { |
76 | | for (size_t m = 0; m < COLS; m += 8) { |
77 | | const BlockDesc<8> d; |
78 | | auto i0 = from.LoadPart(d, n + 0, m + 0); |
79 | | auto i1 = from.LoadPart(d, n + 1, m + 0); |
80 | | auto i2 = from.LoadPart(d, n + 2, m + 0); |
81 | | auto i3 = from.LoadPart(d, n + 3, m + 0); |
82 | | auto i4 = from.LoadPart(d, n + 4, m + 0); |
83 | | auto i5 = from.LoadPart(d, n + 5, m + 0); |
84 | | auto i6 = from.LoadPart(d, n + 6, m + 0); |
85 | | auto i7 = from.LoadPart(d, n + 7, m + 0); |
86 | | // Surprisingly, this straightforward implementation (24 cycles on port5) |
87 | | // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend. |
88 | | const auto q0 = InterleaveLower(d, i0, i2); |
89 | | const auto q1 = InterleaveLower(d, i1, i3); |
90 | | const auto q2 = InterleaveUpper(d, i0, i2); |
91 | | const auto q3 = InterleaveUpper(d, i1, i3); |
92 | | const auto q4 = InterleaveLower(d, i4, i6); |
93 | | const auto q5 = InterleaveLower(d, i5, i7); |
94 | | const auto q6 = InterleaveUpper(d, i4, i6); |
95 | | const auto q7 = InterleaveUpper(d, i5, i7); |
96 | | |
97 | | const auto r0 = InterleaveLower(d, q0, q1); |
98 | | const auto r1 = InterleaveUpper(d, q0, q1); |
99 | | const auto r2 = InterleaveLower(d, q2, q3); |
100 | | const auto r3 = InterleaveUpper(d, q2, q3); |
101 | | const auto r4 = InterleaveLower(d, q4, q5); |
102 | | const auto r5 = InterleaveUpper(d, q4, q5); |
103 | | const auto r6 = InterleaveLower(d, q6, q7); |
104 | | const auto r7 = InterleaveUpper(d, q6, q7); |
105 | | |
106 | | i0 = ConcatLowerLower(d, r4, r0); |
107 | | i1 = ConcatLowerLower(d, r5, r1); |
108 | | i2 = ConcatLowerLower(d, r6, r2); |
109 | | i3 = ConcatLowerLower(d, r7, r3); |
110 | | i4 = ConcatUpperUpper(d, r4, r0); |
111 | | i5 = ConcatUpperUpper(d, r5, r1); |
112 | | i6 = ConcatUpperUpper(d, r6, r2); |
113 | | i7 = ConcatUpperUpper(d, r7, r3); |
114 | | to.StorePart(d, i0, m + 0, n + 0); |
115 | | to.StorePart(d, i1, m + 1, n + 0); |
116 | | to.StorePart(d, i2, m + 2, n + 0); |
117 | | to.StorePart(d, i3, m + 3, n + 0); |
118 | | to.StorePart(d, i4, m + 4, n + 0); |
119 | | to.StorePart(d, i5, m + 5, n + 0); |
120 | | to.StorePart(d, i6, m + 6, n + 0); |
121 | | to.StorePart(d, i7, m + 7, n + 0); |
122 | | } |
123 | | } |
124 | | } |
125 | | #elif HWY_TARGET != HWY_SCALAR |
126 | | constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) { |
127 | | return ROWS % 4 == 0 && COLS % 4 == 0; |
128 | | } |
129 | | |
130 | | template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To> |
131 | | JXL_INLINE_TRANSPOSE void GenericTransposeBlock( |
132 | | TransposeSimdTag<true> /* tag */, const From& from, const To& to, |
133 | | size_t ROWSp, size_t COLSp) { |
134 | | size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0; |
135 | | size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0; |
136 | | static_assert(MaxLanes(BlockDesc<4>()) == 4, "Invalid descriptor size"); |
137 | | static_assert(ROWS_or_0 % 4 == 0, "Invalid number of rows"); |
138 | | static_assert(COLS_or_0 % 4 == 0, "Invalid number of columns"); |
139 | | for (size_t n = 0; n < ROWS; n += 4) { |
140 | | for (size_t m = 0; m < COLS; m += 4) { |
141 | | const BlockDesc<4> d; |
142 | | const auto p0 = from.LoadPart(d, n + 0, m + 0); |
143 | | const auto p1 = from.LoadPart(d, n + 1, m + 0); |
144 | | const auto p2 = from.LoadPart(d, n + 2, m + 0); |
145 | | const auto p3 = from.LoadPart(d, n + 3, m + 0); |
146 | | |
147 | | const auto q0 = InterleaveLower(d, p0, p2); |
148 | | const auto q1 = InterleaveLower(d, p1, p3); |
149 | | const auto q2 = InterleaveUpper(d, p0, p2); |
150 | | const auto q3 = InterleaveUpper(d, p1, p3); |
151 | | |
152 | | const auto r0 = InterleaveLower(d, q0, q1); |
153 | | const auto r1 = InterleaveUpper(d, q0, q1); |
154 | | const auto r2 = InterleaveLower(d, q2, q3); |
155 | | const auto r3 = InterleaveUpper(d, q2, q3); |
156 | | |
157 | | to.StorePart(d, r0, m + 0, n + 0); |
158 | | to.StorePart(d, r1, m + 1, n + 0); |
159 | | to.StorePart(d, r2, m + 2, n + 0); |
160 | | to.StorePart(d, r3, m + 3, n + 0); |
161 | | } |
162 | | } |
163 | | } |
164 | | #else |
165 | 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) |
166 | | #endif |
167 | | |
168 | | template <size_t N, size_t M, typename = void> |
169 | | struct Transpose { |
170 | | template <typename From, typename To> |
171 | 808k | static void Run(const From& from, const To& to) { |
172 | | // This does not guarantee anything, just saves from the most stupid |
173 | | // mistakes. |
174 | 808k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); |
175 | 808k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; |
176 | 808k | GenericTransposeBlock<N, M>(tag, from, to, N, M); |
177 | 808k | } 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 | 171 | 13.2k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 13.2k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 13.2k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 13.2k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 13.2k | } |
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 | 171 | 13.1k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 13.1k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 13.1k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 13.1k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 13.1k | } |
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 | 171 | 34.1k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 34.1k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 34.1k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 34.1k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 34.1k | } |
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 | 171 | 17.4k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 17.4k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 17.4k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 17.4k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 17.4k | } |
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 | 171 | 71.3k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 71.3k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 71.3k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 71.3k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 71.3k | } |
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 | 171 | 66.9k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 66.9k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 66.9k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 66.9k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 66.9k | } |
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&) Line | Count | Source | 171 | 120 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 120 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 120 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 120 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 120 | } |
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&) Line | Count | Source | 171 | 72 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 72 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 72 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 72 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 72 | } |
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 | 171 | 436k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 436k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 436k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 436k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 436k | } |
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 | 171 | 71.3k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 71.3k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 71.3k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 71.3k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 71.3k | } |
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 | 171 | 66.9k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 66.9k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 66.9k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 66.9k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 66.9k | } |
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 | 171 | 17.4k | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 17.4k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 17.4k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 17.4k | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 17.4k | } |
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&) Line | Count | Source | 171 | 120 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 120 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 120 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 120 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 120 | } |
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&) Line | Count | Source | 171 | 72 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 72 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 72 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 72 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 72 | } |
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 | 171 | 12 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 12 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 12 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 12 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 12 | } |
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 | 171 | 12 | static void Run(const From& from, const To& to) { | 172 | | // This does not guarantee anything, just saves from the most stupid | 173 | | // mistakes. | 174 | 12 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 175 | 12 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 176 | 12 | GenericTransposeBlock<N, M>(tag, from, to, N, M); | 177 | 12 | } |
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&) |
178 | | }; |
179 | | |
180 | | // Avoid inlining and unrolling transposes for large blocks. |
181 | | template <size_t N, size_t M> |
182 | | struct Transpose< |
183 | | N, M, typename std::enable_if<(N >= 8 && M >= 8 && N * M >= 512)>::type> { |
184 | | template <typename From, typename To> |
185 | 4.16k | static void Run(const From& from, const To& to) { |
186 | | // This does not guarantee anything, just saves from the most stupid |
187 | | // mistakes. |
188 | 4.16k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); |
189 | 4.16k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; |
190 | 4.16k | constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>, |
191 | 4.16k | const From&, const To&, size_t, size_t) = |
192 | 4.16k | GenericTransposeBlock<0, 0, From, To>; |
193 | 4.16k | NoInlineWrapper(transpose, tag, from, to, N, M); |
194 | 4.16k | } 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 | 185 | 12 | static void Run(const From& from, const To& to) { | 186 | | // This does not guarantee anything, just saves from the most stupid | 187 | | // mistakes. | 188 | 12 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 189 | 12 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 190 | 12 | constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>, | 191 | 12 | const From&, const To&, size_t, size_t) = | 192 | 12 | GenericTransposeBlock<0, 0, From, To>; | 193 | 12 | NoInlineWrapper(transpose, tag, from, to, N, M); | 194 | 12 | } |
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 | 185 | 12 | static void Run(const From& from, const To& to) { | 186 | | // This does not guarantee anything, just saves from the most stupid | 187 | | // mistakes. | 188 | 12 | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 189 | 12 | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 190 | 12 | constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>, | 191 | 12 | const From&, const To&, size_t, size_t) = | 192 | 12 | GenericTransposeBlock<0, 0, From, To>; | 193 | 12 | NoInlineWrapper(transpose, tag, from, to, N, M); | 194 | 12 | } |
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 | 185 | 4.14k | static void Run(const From& from, const To& to) { | 186 | | // This does not guarantee anything, just saves from the most stupid | 187 | | // mistakes. | 188 | 4.14k | JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0)); | 189 | 4.14k | TransposeSimdTag<TransposeUseSimd(N, M)> tag; | 190 | 4.14k | constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>, | 191 | 4.14k | const From&, const To&, size_t, size_t) = | 192 | 4.14k | GenericTransposeBlock<0, 0, From, To>; | 193 | 4.14k | NoInlineWrapper(transpose, tag, from, to, N, M); | 194 | 4.14k | } |
Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) Unexecuted instantiation: 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&) 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&) |
195 | | }; |
196 | | |
197 | | } // namespace |
198 | | // NOLINTNEXTLINE(google-readability-namespace-comments) |
199 | | } // namespace HWY_NAMESPACE |
200 | | } // namespace jxl |
201 | | HWY_AFTER_NAMESPACE(); |
202 | | |
203 | | #endif // LIB_JXL_TRANSPOSE_INL_H_ |