Coverage Report

Created: 2026-05-16 07:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libjxl/lib/jxl/entropy_coder.h
Line
Count
Source
1
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file.
5
6
#ifndef LIB_JXL_ENTROPY_CODER_H_
7
#define LIB_JXL_ENTROPY_CODER_H_
8
9
#include <jxl/memory_manager.h>
10
11
#include <cstddef>
12
#include <cstdint>
13
14
#include "lib/jxl/ac_context.h"
15
#include "lib/jxl/base/compiler_specific.h"
16
#include "lib/jxl/base/status.h"
17
#include "lib/jxl/dec_bit_reader.h"
18
#include "lib/jxl/field_encodings.h"
19
20
// Entropy coding and context modeling of DC and AC coefficients, as well as AC
21
// strategy and quantization field.
22
23
namespace jxl {
24
25
static JXL_INLINE int32_t PredictFromTopAndLeft(
26
    const int32_t* const JXL_RESTRICT row_top,
27
7.48M
    const int32_t* const JXL_RESTRICT row, size_t x, int32_t default_val) {
28
7.48M
  if (x == 0) {
29
371k
    return row_top == nullptr ? default_val : row_top[x];
30
371k
  }
31
7.11M
  if (row_top == nullptr) {
32
339k
    return row[x - 1];
33
339k
  }
34
6.77M
  return (row_top[x] + row[x - 1] + 1) / 2;
35
7.11M
}
Unexecuted instantiation: enc_context_map.cc:jxl::PredictFromTopAndLeft(int const*, int const*, unsigned long, int)
enc_entropy_coder.cc:jxl::PredictFromTopAndLeft(int const*, int const*, unsigned long, int)
Line
Count
Source
27
5.81M
    const int32_t* const JXL_RESTRICT row, size_t x, int32_t default_val) {
28
5.81M
  if (x == 0) {
29
285k
    return row_top == nullptr ? default_val : row_top[x];
30
285k
  }
31
5.52M
  if (row_top == nullptr) {
32
254k
    return row[x - 1];
33
254k
  }
34
5.27M
  return (row_top[x] + row[x - 1] + 1) / 2;
35
5.52M
}
Unexecuted instantiation: dec_frame.cc:jxl::PredictFromTopAndLeft(int const*, int const*, unsigned long, int)
dec_group.cc:jxl::PredictFromTopAndLeft(int const*, int const*, unsigned long, int)
Line
Count
Source
27
1.67M
    const int32_t* const JXL_RESTRICT row, size_t x, int32_t default_val) {
28
1.67M
  if (x == 0) {
29
86.4k
    return row_top == nullptr ? default_val : row_top[x];
30
86.4k
  }
31
1.59M
  if (row_top == nullptr) {
32
85.1k
    return row[x - 1];
33
85.1k
  }
34
1.50M
  return (row_top[x] + row[x - 1] + 1) / 2;
35
1.59M
}
Unexecuted instantiation: entropy_coder.cc:jxl::PredictFromTopAndLeft(int const*, int const*, unsigned long, int)
36
37
static constexpr U32Enc kDCThresholdDist(Bits(4), BitsOffset(8, 16),
38
                                         BitsOffset(16, 272),
39
                                         BitsOffset(32, 65808));
40
41
static constexpr U32Enc kQFThresholdDist(Bits(2), BitsOffset(3, 4),
42
                                         BitsOffset(5, 12), BitsOffset(8, 44));
43
44
Status DecodeBlockCtxMap(JxlMemoryManager* memory_manager, BitReader* br,
45
                         BlockCtxMap* block_ctx_map);
46
47
}  // namespace jxl
48
49
#endif  // LIB_JXL_ENTROPY_CODER_H_