Coverage Report

Created: 2025-11-16 07:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libvpx/vpx_util/vpx_timestamp.h
Line
Count
Source
1
/*
2
 *  Copyright (c) 2019 The WebM project authors. All Rights Reserved.
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
 *  that can be found in the LICENSE file in the root of the source
6
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
9
 */
10
11
#ifndef VPX_VPX_UTIL_VPX_TIMESTAMP_H_
12
#define VPX_VPX_UTIL_VPX_TIMESTAMP_H_
13
14
#include <assert.h>
15
16
#ifdef __cplusplus
17
extern "C" {
18
#endif  // __cplusplus
19
20
// Rational Number with an int64 numerator
21
typedef struct vpx_rational64 {
22
  int64_t num;       // fraction numerator
23
  int den;           // fraction denominator
24
} vpx_rational64_t;  // alias for struct vpx_rational64_t
25
26
39.2k
static INLINE int gcd(int64_t a, int b) {
27
39.2k
  int r;  // remainder
28
39.2k
  assert(a >= 0);
29
39.2k
  assert(b > 0);
30
417k
  while (b != 0) {
31
378k
    r = (int)(a % b);
32
378k
    a = b;
33
378k
    b = r;
34
378k
  }
35
36
39.2k
  return (int)a;
37
39.2k
}
Unexecuted instantiation: vp9_frame_scale.c:gcd
Unexecuted instantiation: vp9_encoder.c:gcd
Unexecuted instantiation: vp9_picklpf.c:gcd
Unexecuted instantiation: vp9_quantize.c:gcd
Unexecuted instantiation: vp9_ratectrl.c:gcd
Unexecuted instantiation: vp9_rd.c:gcd
Unexecuted instantiation: vp9_segmentation.c:gcd
Unexecuted instantiation: vp9_speed_features.c:gcd
Unexecuted instantiation: vp9_svc_layercontext.c:gcd
Unexecuted instantiation: vp9_tokenize.c:gcd
Unexecuted instantiation: vp9_aq_variance.c:gcd
Unexecuted instantiation: vp9_aq_360.c:gcd
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:gcd
Unexecuted instantiation: vp9_aq_complexity.c:gcd
Unexecuted instantiation: vp9_alt_ref_aq.c:gcd
Unexecuted instantiation: vp9_skin_detection.c:gcd
Unexecuted instantiation: vp9_noise_estimate.c:gcd
Unexecuted instantiation: vp9_ext_ratectrl.c:gcd
Unexecuted instantiation: vp9_temporal_filter.c:gcd
Unexecuted instantiation: vp9_tpl_model.c:gcd
Unexecuted instantiation: vp9_mbgraph.c:gcd
Unexecuted instantiation: temporal_filter_sse4.c:gcd
Unexecuted instantiation: highbd_temporal_filter_sse4.c:gcd
vp9_cx_iface.c:gcd
Line
Count
Source
26
32.3k
static INLINE int gcd(int64_t a, int b) {
27
32.3k
  int r;  // remainder
28
32.3k
  assert(a >= 0);
29
32.3k
  assert(b > 0);
30
339k
  while (b != 0) {
31
307k
    r = (int)(a % b);
32
307k
    a = b;
33
307k
    b = r;
34
307k
  }
35
36
32.3k
  return (int)a;
37
32.3k
}
Unexecuted instantiation: vp9_bitstream.c:gcd
Unexecuted instantiation: vp9_context_tree.c:gcd
Unexecuted instantiation: vp9_encodeframe.c:gcd
Unexecuted instantiation: vp9_encodemb.c:gcd
Unexecuted instantiation: vp9_encodemv.c:gcd
Unexecuted instantiation: vp9_ethread.c:gcd
Unexecuted instantiation: vp9_firstpass.c:gcd
Unexecuted instantiation: vp9_lookahead.c:gcd
Unexecuted instantiation: vp9_multi_thread.c:gcd
Unexecuted instantiation: vp9_mcomp.c:gcd
Unexecuted instantiation: vp9_rdopt.c:gcd
Unexecuted instantiation: vp9_pickmode.c:gcd
vp8_cx_iface.c:gcd
Line
Count
Source
26
6.92k
static INLINE int gcd(int64_t a, int b) {
27
6.92k
  int r;  // remainder
28
6.92k
  assert(a >= 0);
29
6.92k
  assert(b > 0);
30
77.6k
  while (b != 0) {
31
70.7k
    r = (int)(a % b);
32
70.7k
    a = b;
33
70.7k
    b = r;
34
70.7k
  }
35
36
6.92k
  return (int)a;
37
6.92k
}
38
39
39.2k
static INLINE void reduce_ratio(vpx_rational64_t *ratio) {
40
39.2k
  const int denom = gcd(ratio->num, ratio->den);
41
39.2k
  ratio->num /= denom;
42
39.2k
  ratio->den /= denom;
43
39.2k
}
Unexecuted instantiation: vp9_frame_scale.c:reduce_ratio
Unexecuted instantiation: vp9_encoder.c:reduce_ratio
Unexecuted instantiation: vp9_picklpf.c:reduce_ratio
Unexecuted instantiation: vp9_quantize.c:reduce_ratio
Unexecuted instantiation: vp9_ratectrl.c:reduce_ratio
Unexecuted instantiation: vp9_rd.c:reduce_ratio
Unexecuted instantiation: vp9_segmentation.c:reduce_ratio
Unexecuted instantiation: vp9_speed_features.c:reduce_ratio
Unexecuted instantiation: vp9_svc_layercontext.c:reduce_ratio
Unexecuted instantiation: vp9_tokenize.c:reduce_ratio
Unexecuted instantiation: vp9_aq_variance.c:reduce_ratio
Unexecuted instantiation: vp9_aq_360.c:reduce_ratio
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:reduce_ratio
Unexecuted instantiation: vp9_aq_complexity.c:reduce_ratio
Unexecuted instantiation: vp9_alt_ref_aq.c:reduce_ratio
Unexecuted instantiation: vp9_skin_detection.c:reduce_ratio
Unexecuted instantiation: vp9_noise_estimate.c:reduce_ratio
Unexecuted instantiation: vp9_ext_ratectrl.c:reduce_ratio
Unexecuted instantiation: vp9_temporal_filter.c:reduce_ratio
Unexecuted instantiation: vp9_tpl_model.c:reduce_ratio
Unexecuted instantiation: vp9_mbgraph.c:reduce_ratio
Unexecuted instantiation: temporal_filter_sse4.c:reduce_ratio
Unexecuted instantiation: highbd_temporal_filter_sse4.c:reduce_ratio
vp9_cx_iface.c:reduce_ratio
Line
Count
Source
39
32.3k
static INLINE void reduce_ratio(vpx_rational64_t *ratio) {
40
32.3k
  const int denom = gcd(ratio->num, ratio->den);
41
32.3k
  ratio->num /= denom;
42
32.3k
  ratio->den /= denom;
43
32.3k
}
Unexecuted instantiation: vp9_bitstream.c:reduce_ratio
Unexecuted instantiation: vp9_context_tree.c:reduce_ratio
Unexecuted instantiation: vp9_encodeframe.c:reduce_ratio
Unexecuted instantiation: vp9_encodemb.c:reduce_ratio
Unexecuted instantiation: vp9_encodemv.c:reduce_ratio
Unexecuted instantiation: vp9_ethread.c:reduce_ratio
Unexecuted instantiation: vp9_firstpass.c:reduce_ratio
Unexecuted instantiation: vp9_lookahead.c:reduce_ratio
Unexecuted instantiation: vp9_multi_thread.c:reduce_ratio
Unexecuted instantiation: vp9_mcomp.c:reduce_ratio
Unexecuted instantiation: vp9_rdopt.c:reduce_ratio
Unexecuted instantiation: vp9_pickmode.c:reduce_ratio
vp8_cx_iface.c:reduce_ratio
Line
Count
Source
39
6.92k
static INLINE void reduce_ratio(vpx_rational64_t *ratio) {
40
6.92k
  const int denom = gcd(ratio->num, ratio->den);
41
6.92k
  ratio->num /= denom;
42
6.92k
  ratio->den /= denom;
43
6.92k
}
44
45
#ifdef __cplusplus
46
}  // extern "C"
47
#endif  // __cplusplus
48
49
#endif  // VPX_VPX_UTIL_VPX_TIMESTAMP_H_