Coverage Report

Created: 2026-05-30 06:10

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/svt-av1/Source/Lib/Codec/bitstream_unit.h
Line
Count
Source
1
/*
2
* Copyright(c) 2019 Intel Corporation
3
*
4
* This source code is subject to the terms of the BSD 2 Clause License and
5
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
* was not distributed with this source code in the LICENSE file, you can
7
* obtain it at https://www.aomedia.org/license/software-license. If the Alliance for Open
8
* Media Patent License 1.0 was not distributed with this source code in the
9
* PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license.
10
*/
11
12
#ifndef EbBitstreamUnit_h
13
#define EbBitstreamUnit_h
14
15
#include "object.h"
16
#include <stdint.h>
17
#ifdef __cplusplus
18
extern "C" {
19
#endif
20
21
/**********************************
22
 * Bitstream Unit Types
23
 **********************************/
24
typedef struct OutputBitstreamUnit {
25
    EbDctor  dctor;
26
    uint32_t size; // allocated buffer size
27
    uint8_t* buffer_begin_av1; // the byte buffer
28
    uint8_t* buffer_av1; // the byte buffer
29
} OutputBitstreamUnit;
30
31
/**********************************
32
     * Extern Function Declarations
33
     **********************************/
34
EbErrorType svt_aom_output_bitstream_unit_ctor(OutputBitstreamUnit* bitstream_ptr, uint32_t buffer_size);
35
36
EbErrorType svt_aom_output_bitstream_reset(OutputBitstreamUnit* bitstream_ptr);
37
38
/********************************************************************************************************************************/
39
/********************************************************************************************************************************/
40
/********************************************************************************************************************************/
41
#include "cabac_context_model.h"
42
43
#define OD_DIVU_DMAX (1024)
44
45
extern uint32_t svt_aom_od_divu_small_consts[OD_DIVU_DMAX][2];
46
47
/*Translate unsigned division by small divisors into multiplications.*/
48
#define OD_DIVU_SMALL(_x, _d)                                                 \
49
0
    ((uint32_t)((svt_aom_od_divu_small_consts[(_d) - 1][0] * (uint64_t)(_x) + \
50
0
                 svt_aom_od_divu_small_consts[(_d) - 1][1]) >>                \
51
0
                32) >>                                                        \
52
0
     (svt_log2f(_d)))
53
54
0
#define OD_DIVU(_x, _d) (((_d) < OD_DIVU_DMAX) ? (OD_DIVU_SMALL((_x), (_d))) : ((_x) / (_d)))
55
#define OD_ILOG_NZ(_x) (svt_log2f(_x) + 1)
56
57
/*Enable special features for gcc and compatible compilers.*/
58
#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
59
#define OD_GNUC_PREREQ(maj, min, pat) \
60
    ((__GNUC__ << 16) + (__GNUC_MINOR__ << 8) + __GNUC_PATCHLEVEL__ >= ((maj) << 16) + ((min) << 8) + pat) // NOLINT
61
#else
62
#define OD_GNUC_PREREQ(maj, min, pat) (0)
63
#endif
64
65
#if OD_GNUC_PREREQ(3, 4, 0)
66
#define OD_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
67
#else
68
#define OD_WARN_UNUSED_RESULT
69
#endif
70
71
#if OD_GNUC_PREREQ(3, 4, 0)
72
#define OD_ARG_NONNULL(x) __attribute__((__nonnull__(x)))
73
#else
74
#define OD_ARG_NONNULL(x)
75
#endif
76
77
/** Copy n elements of memory from src to dst. The 0* term provides
78
compile-time type checking  */
79
#if !defined(OVERRIDE_OD_COPY)
80
#define OD_COPY(dst, src, n) (svt_memcpy((dst), (src), sizeof(*(dst)) * (n) + 0 * ((dst) - (src))))
81
#endif
82
83
/********************************************************************************************************************************/
84
//entcode.h
85
1.85M
#define EC_PROB_SHIFT 6
86
3.94M
#define EC_MIN_PROB 4 // must be <= (1<<EC_PROB_SHIFT)/16
87
88
/*The resolution of fractional-precision bit usage measurements, i.e.,
89
    3 => 1/8th bits.*/
90
0
#define OD_BITRES (3)
91
92
#define OD_ICDF AOM_ICDF
93
94
/********************************************************************************************************************************/
95
//entenc.h
96
typedef uint64_t OdEcWindow;
97
#define OD_EC_WINDOW_SIZE ((int32_t)sizeof(OdEcWindow) * CHAR_BIT)
98
#define OD_MEASURE_EC_OVERHEAD (0)
99
100
/*The entropy encoder context.*/
101
typedef struct OdEcEnc {
102
    /*The low end of the current range.*/
103
    OdEcWindow low;
104
    /*The number of values in the current range.
105
      Widened to uint32_t to eliminate uxth zero-extension instructions on ARM64.
106
      Value is always in [0x8000, 0xFFFF] post-normalize.*/
107
    uint32_t rng;
108
    /*The number of bits of data in the current value.*/
109
    int16_t cnt;
110
    /*Nonzero if an error occurred.*/
111
    int16_t error;
112
    /*Buffered output. Borrowed from OutputBitstreamUnit via aom_start_encode().*/
113
    unsigned char* buf;
114
    /*Write pointer: next byte to write. Invariant: ptr = buf + (bytes written).*/
115
    unsigned char* ptr;
116
#if OD_MEASURE_EC_OVERHEAD
117
    double entropy;
118
    int    nb_symbols;
119
#endif
120
} OdEcEnc;
121
122
/*See entenc.c for further documentation.*/
123
void svt_od_ec_enc_init(OdEcEnc* enc) OD_ARG_NONNULL(1);
124
void svt_od_ec_enc_reset(OdEcEnc* enc) OD_ARG_NONNULL(1);
125
void svt_od_ec_encode_bool_eq_q15(OdEcEnc* enc, int32_t val) OD_ARG_NONNULL(1);
126
void svt_od_ec_encode_bool_q15(OdEcEnc* enc, int32_t val, unsigned f_q15) OD_ARG_NONNULL(1);
127
void svt_od_ec_encode_cdf_q15(OdEcEnc* enc, int32_t s, const uint16_t* cdf, int32_t nsyms) OD_ARG_NONNULL(1)
128
    OD_ARG_NONNULL(3);
129
OD_WARN_UNUSED_RESULT uint8_t* svt_od_ec_enc_done(OdEcEnc* enc, uint32_t* nbytes) OD_ARG_NONNULL(1) OD_ARG_NONNULL(2);
130
OD_WARN_UNUSED_RESULT int32_t  svt_od_ec_enc_tell(const OdEcEnc* enc) OD_ARG_NONNULL(1);
131
OD_WARN_UNUSED_RESULT uint32_t svt_od_ec_enc_tell_frac(const OdEcEnc* enc) OD_ARG_NONNULL(1);
132
133
/************* endian_inl.h ********************************/
134
#if defined(__GNUC__)
135
#define LOCAL_GCC_VERSION ((__GNUC__ << 8) | __GNUC_MINOR__)
136
#define LOCAL_GCC_PREREQ(maj, min) (LOCAL_GCC_VERSION >= (((maj) << 8) | (min)))
137
#else
138
#define LOCAL_GCC_VERSION 0
139
#define LOCAL_GCC_PREREQ(maj, min) 0
140
#endif
141
142
// handle clang compatibility
143
#ifndef __has_builtin
144
#define __has_builtin(x) 0
145
#endif
146
147
// some endian fix (e.g.: mips-gcc doesn't define __BIG_ENDIAN__)
148
#if !defined(WORDS_BIGENDIAN) &&                   \
149
    (defined(__BIG_ENDIAN__) || defined(_M_PPC) || \
150
     (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)))
151
#define WORDS_BIGENDIAN
152
#endif
153
154
#if defined(WORDS_BIGENDIAN)
155
#define HToLE32 BSwap32
156
#define HToLE16 BSwap16
157
#define HToBE64(x) (x)
158
#define HToBE32(x) (x)
159
#else
160
#define HToLE32(x) (x)
161
#define HToLE16(x) (x)
162
15.7k
#define HToBE64(X) BSwap64(X)
163
#define HToBE32(X) BSwap32(X)
164
#endif
165
166
#if LOCAL_GCC_PREREQ(4, 8) || __has_builtin(__builtin_bswap16)
167
#define HAVE_BUILTIN_BSWAP16
168
#endif
169
170
#if LOCAL_GCC_PREREQ(4, 3) || __has_builtin(__builtin_bswap32)
171
#define HAVE_BUILTIN_BSWAP32
172
#endif
173
174
#if LOCAL_GCC_PREREQ(4, 3) || __has_builtin(__builtin_bswap64)
175
#define HAVE_BUILTIN_BSWAP64
176
#endif
177
178
0
static inline uint16_t BSwap16(uint16_t x) {
179
0
#if defined(HAVE_BUILTIN_BSWAP16)
180
0
    return __builtin_bswap16(x);
181
0
#elif defined(_MSC_VER)
182
0
    return _byteswap_ushort(x);
183
0
#else
184
0
    // gcc will recognize a 'rorw $8, ...' here:
185
0
    return (x >> 8) | ((x & 0xff) << 8);
186
0
#endif // HAVE_BUILTIN_BSWAP16
187
0
}
Unexecuted instantiation: enc_handle.c:BSwap16
Unexecuted instantiation: enc_settings.c:BSwap16
Unexecuted instantiation: aom_dsp_rtcd.c:BSwap16
Unexecuted instantiation: av1me.c:BSwap16
Unexecuted instantiation: bitstream_unit.c:BSwap16
Unexecuted instantiation: cdef_process.c:BSwap16
Unexecuted instantiation: corner_match.c:BSwap16
Unexecuted instantiation: dlf_process.c:BSwap16
Unexecuted instantiation: enc_cdef.c:BSwap16
Unexecuted instantiation: enc_dec_process.c:BSwap16
Unexecuted instantiation: enc_inter_prediction.c:BSwap16
Unexecuted instantiation: enc_intra_prediction.c:BSwap16
Unexecuted instantiation: enc_mode_config.c:BSwap16
Unexecuted instantiation: entropy_coding.c:BSwap16
Unexecuted instantiation: ec_process.c:BSwap16
Unexecuted instantiation: full_loop.c:BSwap16
Unexecuted instantiation: hash_motion.c:BSwap16
Unexecuted instantiation: initial_rc_process.c:BSwap16
Unexecuted instantiation: intra_prediction.c:BSwap16
Unexecuted instantiation: md_rate_estimation.c:BSwap16
Unexecuted instantiation: mode_decision.c:BSwap16
Unexecuted instantiation: md_config_process.c:BSwap16
Unexecuted instantiation: md_process.c:BSwap16
Unexecuted instantiation: motion_estimation.c:BSwap16
Unexecuted instantiation: me_process.c:BSwap16
Unexecuted instantiation: noise_model.c:BSwap16
Unexecuted instantiation: packetization_process.c:BSwap16
Unexecuted instantiation: packetization_reorder_queue.c:BSwap16
Unexecuted instantiation: palette.c:BSwap16
Unexecuted instantiation: pic_analysis_process.c:BSwap16
Unexecuted instantiation: pcs.c:BSwap16
Unexecuted instantiation: pd_process.c:BSwap16
Unexecuted instantiation: pd_results.c:BSwap16
Unexecuted instantiation: pic_manager_process.c:BSwap16
Unexecuted instantiation: pred_structure.c:BSwap16
Unexecuted instantiation: product_coding_loop.c:BSwap16
Unexecuted instantiation: rc_aq.c:BSwap16
Unexecuted instantiation: rc_process.c:BSwap16
Unexecuted instantiation: rc_rtc_cbr.c:BSwap16
Unexecuted instantiation: rc_vbr_cbr.c:BSwap16
Unexecuted instantiation: rd_cost.c:BSwap16
Unexecuted instantiation: reference_object.c:BSwap16
Unexecuted instantiation: resize.c:BSwap16
Unexecuted instantiation: resource_coordination_process.c:BSwap16
Unexecuted instantiation: rest_process.c:BSwap16
Unexecuted instantiation: restoration.c:BSwap16
Unexecuted instantiation: restoration_pick.c:BSwap16
Unexecuted instantiation: segmentation.c:BSwap16
Unexecuted instantiation: sequence_control_set.c:BSwap16
Unexecuted instantiation: src_ops_process.c:BSwap16
Unexecuted instantiation: super_res.c:BSwap16
Unexecuted instantiation: kernel_dispatch.c:BSwap16
Unexecuted instantiation: temporal_filtering.c:BSwap16
Unexecuted instantiation: transforms.c:BSwap16
Unexecuted instantiation: warped_motion.c:BSwap16
Unexecuted instantiation: encode_txb_ref_c.c:BSwap16
Unexecuted instantiation: variance.c:BSwap16
Unexecuted instantiation: adaptive_mv_pred.c:BSwap16
Unexecuted instantiation: cdef.c:BSwap16
Unexecuted instantiation: coding_loop.c:BSwap16
Unexecuted instantiation: coding_unit.c:BSwap16
Unexecuted instantiation: deblocking_filter.c:BSwap16
Unexecuted instantiation: encode_context.c:BSwap16
Unexecuted instantiation: firstpass.c:BSwap16
Unexecuted instantiation: global_me.c:BSwap16
Unexecuted instantiation: global_me_cost.c:BSwap16
Unexecuted instantiation: mcomp.c:BSwap16
Unexecuted instantiation: me_context.c:BSwap16
Unexecuted instantiation: pass2_strategy.c:BSwap16
Unexecuted instantiation: rc_crf_cqp.c:BSwap16
Unexecuted instantiation: global_motion.c:BSwap16
Unexecuted instantiation: ransac.c:BSwap16
Unexecuted instantiation: enc_warped_motion.c:BSwap16
188
189
0
static inline uint32_t BSwap32(uint32_t x) {
190
0
#if defined(HAVE_BUILTIN_BSWAP32)
191
0
    return __builtin_bswap32(x);
192
0
#elif defined(__i386__) || defined(__x86_64__)
193
0
    uint32_t swapped_bytes;
194
0
    __asm__ volatile("bswap %0" : "=r"(swapped_bytes) : "0"(x));
195
0
    return swapped_bytes;
196
0
#elif defined(_MSC_VER)
197
0
    return (uint32_t)_byteswap_ulong(x);
198
0
#else
199
0
    return (x >> 24) | ((x >> 8) & 0xff00) | ((x << 8) & 0xff0000) | (x << 24);
200
0
#endif // HAVE_BUILTIN_BSWAP32
201
0
}
Unexecuted instantiation: enc_handle.c:BSwap32
Unexecuted instantiation: enc_settings.c:BSwap32
Unexecuted instantiation: aom_dsp_rtcd.c:BSwap32
Unexecuted instantiation: av1me.c:BSwap32
Unexecuted instantiation: bitstream_unit.c:BSwap32
Unexecuted instantiation: cdef_process.c:BSwap32
Unexecuted instantiation: corner_match.c:BSwap32
Unexecuted instantiation: dlf_process.c:BSwap32
Unexecuted instantiation: enc_cdef.c:BSwap32
Unexecuted instantiation: enc_dec_process.c:BSwap32
Unexecuted instantiation: enc_inter_prediction.c:BSwap32
Unexecuted instantiation: enc_intra_prediction.c:BSwap32
Unexecuted instantiation: enc_mode_config.c:BSwap32
Unexecuted instantiation: entropy_coding.c:BSwap32
Unexecuted instantiation: ec_process.c:BSwap32
Unexecuted instantiation: full_loop.c:BSwap32
Unexecuted instantiation: hash_motion.c:BSwap32
Unexecuted instantiation: initial_rc_process.c:BSwap32
Unexecuted instantiation: intra_prediction.c:BSwap32
Unexecuted instantiation: md_rate_estimation.c:BSwap32
Unexecuted instantiation: mode_decision.c:BSwap32
Unexecuted instantiation: md_config_process.c:BSwap32
Unexecuted instantiation: md_process.c:BSwap32
Unexecuted instantiation: motion_estimation.c:BSwap32
Unexecuted instantiation: me_process.c:BSwap32
Unexecuted instantiation: noise_model.c:BSwap32
Unexecuted instantiation: packetization_process.c:BSwap32
Unexecuted instantiation: packetization_reorder_queue.c:BSwap32
Unexecuted instantiation: palette.c:BSwap32
Unexecuted instantiation: pic_analysis_process.c:BSwap32
Unexecuted instantiation: pcs.c:BSwap32
Unexecuted instantiation: pd_process.c:BSwap32
Unexecuted instantiation: pd_results.c:BSwap32
Unexecuted instantiation: pic_manager_process.c:BSwap32
Unexecuted instantiation: pred_structure.c:BSwap32
Unexecuted instantiation: product_coding_loop.c:BSwap32
Unexecuted instantiation: rc_aq.c:BSwap32
Unexecuted instantiation: rc_process.c:BSwap32
Unexecuted instantiation: rc_rtc_cbr.c:BSwap32
Unexecuted instantiation: rc_vbr_cbr.c:BSwap32
Unexecuted instantiation: rd_cost.c:BSwap32
Unexecuted instantiation: reference_object.c:BSwap32
Unexecuted instantiation: resize.c:BSwap32
Unexecuted instantiation: resource_coordination_process.c:BSwap32
Unexecuted instantiation: rest_process.c:BSwap32
Unexecuted instantiation: restoration.c:BSwap32
Unexecuted instantiation: restoration_pick.c:BSwap32
Unexecuted instantiation: segmentation.c:BSwap32
Unexecuted instantiation: sequence_control_set.c:BSwap32
Unexecuted instantiation: src_ops_process.c:BSwap32
Unexecuted instantiation: super_res.c:BSwap32
Unexecuted instantiation: kernel_dispatch.c:BSwap32
Unexecuted instantiation: temporal_filtering.c:BSwap32
Unexecuted instantiation: transforms.c:BSwap32
Unexecuted instantiation: warped_motion.c:BSwap32
Unexecuted instantiation: encode_txb_ref_c.c:BSwap32
Unexecuted instantiation: variance.c:BSwap32
Unexecuted instantiation: adaptive_mv_pred.c:BSwap32
Unexecuted instantiation: cdef.c:BSwap32
Unexecuted instantiation: coding_loop.c:BSwap32
Unexecuted instantiation: coding_unit.c:BSwap32
Unexecuted instantiation: deblocking_filter.c:BSwap32
Unexecuted instantiation: encode_context.c:BSwap32
Unexecuted instantiation: firstpass.c:BSwap32
Unexecuted instantiation: global_me.c:BSwap32
Unexecuted instantiation: global_me_cost.c:BSwap32
Unexecuted instantiation: mcomp.c:BSwap32
Unexecuted instantiation: me_context.c:BSwap32
Unexecuted instantiation: pass2_strategy.c:BSwap32
Unexecuted instantiation: rc_crf_cqp.c:BSwap32
Unexecuted instantiation: global_motion.c:BSwap32
Unexecuted instantiation: ransac.c:BSwap32
Unexecuted instantiation: enc_warped_motion.c:BSwap32
202
203
15.7k
static inline uint64_t BSwap64(uint64_t x) {
204
15.7k
#if defined(HAVE_BUILTIN_BSWAP64)
205
15.7k
    return __builtin_bswap64(x);
206
#elif defined(__x86_64__)
207
    uint64_t swapped_bytes;
208
    __asm__ volatile("bswapq %0" : "=r"(swapped_bytes) : "0"(x));
209
    return swapped_bytes;
210
#elif defined(_MSC_VER)
211
    return (uint64_t)_byteswap_uint64(x);
212
#else // generic code for swapping 64-bit values (suggested by bdb@)
213
    x = ((x & 0xffffffff00000000ull) >> 32) | ((x & 0x00000000ffffffffull) << 32);
214
    x = ((x & 0xffff0000ffff0000ull) >> 16) | ((x & 0x0000ffff0000ffffull) << 16);
215
    x = ((x & 0xff00ff00ff00ff00ull) >> 8) | ((x & 0x00ff00ff00ff00ffull) << 8);
216
    return x;
217
#endif // HAVE_BUILTIN_BSWAP64
218
15.7k
}
Unexecuted instantiation: enc_handle.c:BSwap64
Unexecuted instantiation: enc_settings.c:BSwap64
Unexecuted instantiation: aom_dsp_rtcd.c:BSwap64
Unexecuted instantiation: av1me.c:BSwap64
bitstream_unit.c:BSwap64
Line
Count
Source
203
15.7k
static inline uint64_t BSwap64(uint64_t x) {
204
15.7k
#if defined(HAVE_BUILTIN_BSWAP64)
205
15.7k
    return __builtin_bswap64(x);
206
#elif defined(__x86_64__)
207
    uint64_t swapped_bytes;
208
    __asm__ volatile("bswapq %0" : "=r"(swapped_bytes) : "0"(x));
209
    return swapped_bytes;
210
#elif defined(_MSC_VER)
211
    return (uint64_t)_byteswap_uint64(x);
212
#else // generic code for swapping 64-bit values (suggested by bdb@)
213
    x = ((x & 0xffffffff00000000ull) >> 32) | ((x & 0x00000000ffffffffull) << 32);
214
    x = ((x & 0xffff0000ffff0000ull) >> 16) | ((x & 0x0000ffff0000ffffull) << 16);
215
    x = ((x & 0xff00ff00ff00ff00ull) >> 8) | ((x & 0x00ff00ff00ff00ffull) << 8);
216
    return x;
217
#endif // HAVE_BUILTIN_BSWAP64
218
15.7k
}
Unexecuted instantiation: cdef_process.c:BSwap64
Unexecuted instantiation: corner_match.c:BSwap64
Unexecuted instantiation: dlf_process.c:BSwap64
Unexecuted instantiation: enc_cdef.c:BSwap64
Unexecuted instantiation: enc_dec_process.c:BSwap64
Unexecuted instantiation: enc_inter_prediction.c:BSwap64
Unexecuted instantiation: enc_intra_prediction.c:BSwap64
Unexecuted instantiation: enc_mode_config.c:BSwap64
Unexecuted instantiation: entropy_coding.c:BSwap64
Unexecuted instantiation: ec_process.c:BSwap64
Unexecuted instantiation: full_loop.c:BSwap64
Unexecuted instantiation: hash_motion.c:BSwap64
Unexecuted instantiation: initial_rc_process.c:BSwap64
Unexecuted instantiation: intra_prediction.c:BSwap64
Unexecuted instantiation: md_rate_estimation.c:BSwap64
Unexecuted instantiation: mode_decision.c:BSwap64
Unexecuted instantiation: md_config_process.c:BSwap64
Unexecuted instantiation: md_process.c:BSwap64
Unexecuted instantiation: motion_estimation.c:BSwap64
Unexecuted instantiation: me_process.c:BSwap64
Unexecuted instantiation: noise_model.c:BSwap64
Unexecuted instantiation: packetization_process.c:BSwap64
Unexecuted instantiation: packetization_reorder_queue.c:BSwap64
Unexecuted instantiation: palette.c:BSwap64
Unexecuted instantiation: pic_analysis_process.c:BSwap64
Unexecuted instantiation: pcs.c:BSwap64
Unexecuted instantiation: pd_process.c:BSwap64
Unexecuted instantiation: pd_results.c:BSwap64
Unexecuted instantiation: pic_manager_process.c:BSwap64
Unexecuted instantiation: pred_structure.c:BSwap64
Unexecuted instantiation: product_coding_loop.c:BSwap64
Unexecuted instantiation: rc_aq.c:BSwap64
Unexecuted instantiation: rc_process.c:BSwap64
Unexecuted instantiation: rc_rtc_cbr.c:BSwap64
Unexecuted instantiation: rc_vbr_cbr.c:BSwap64
Unexecuted instantiation: rd_cost.c:BSwap64
Unexecuted instantiation: reference_object.c:BSwap64
Unexecuted instantiation: resize.c:BSwap64
Unexecuted instantiation: resource_coordination_process.c:BSwap64
Unexecuted instantiation: rest_process.c:BSwap64
Unexecuted instantiation: restoration.c:BSwap64
Unexecuted instantiation: restoration_pick.c:BSwap64
Unexecuted instantiation: segmentation.c:BSwap64
Unexecuted instantiation: sequence_control_set.c:BSwap64
Unexecuted instantiation: src_ops_process.c:BSwap64
Unexecuted instantiation: super_res.c:BSwap64
Unexecuted instantiation: kernel_dispatch.c:BSwap64
Unexecuted instantiation: temporal_filtering.c:BSwap64
Unexecuted instantiation: transforms.c:BSwap64
Unexecuted instantiation: warped_motion.c:BSwap64
Unexecuted instantiation: encode_txb_ref_c.c:BSwap64
Unexecuted instantiation: variance.c:BSwap64
Unexecuted instantiation: adaptive_mv_pred.c:BSwap64
Unexecuted instantiation: cdef.c:BSwap64
Unexecuted instantiation: coding_loop.c:BSwap64
Unexecuted instantiation: coding_unit.c:BSwap64
Unexecuted instantiation: deblocking_filter.c:BSwap64
Unexecuted instantiation: encode_context.c:BSwap64
Unexecuted instantiation: firstpass.c:BSwap64
Unexecuted instantiation: global_me.c:BSwap64
Unexecuted instantiation: global_me_cost.c:BSwap64
Unexecuted instantiation: mcomp.c:BSwap64
Unexecuted instantiation: me_context.c:BSwap64
Unexecuted instantiation: pass2_strategy.c:BSwap64
Unexecuted instantiation: rc_crf_cqp.c:BSwap64
Unexecuted instantiation: global_motion.c:BSwap64
Unexecuted instantiation: ransac.c:BSwap64
Unexecuted instantiation: enc_warped_motion.c:BSwap64
219
220
/********************************************************************************************************************************/
221
//bitwriter.h
222
typedef struct AomWriter {
223
    OdEcEnc  ec;
224
    uint32_t allow_update_cdf;
225
    uint32_t pos;
226
    // save a pointer to the container holding the buffer, in case the buffer must be resized
227
    OutputBitstreamUnit* buffer_parent;
228
} AomWriter;
229
230
5.67k
static INLINE void aom_start_encode(AomWriter* br, OutputBitstreamUnit* source) {
231
5.67k
    br->buffer_parent = source;
232
5.67k
    br->pos           = 0;
233
    // Borrow tile buffer: EC writes directly to OutputBitstreamUnit's buffer
234
5.67k
    br->ec.buf = source->buffer_begin_av1;
235
5.67k
    svt_od_ec_enc_reset(&br->ec);
236
5.67k
}
Unexecuted instantiation: enc_handle.c:aom_start_encode
Unexecuted instantiation: enc_settings.c:aom_start_encode
Unexecuted instantiation: aom_dsp_rtcd.c:aom_start_encode
Unexecuted instantiation: av1me.c:aom_start_encode
Unexecuted instantiation: bitstream_unit.c:aom_start_encode
Unexecuted instantiation: cdef_process.c:aom_start_encode
Unexecuted instantiation: corner_match.c:aom_start_encode
Unexecuted instantiation: dlf_process.c:aom_start_encode
Unexecuted instantiation: enc_cdef.c:aom_start_encode
Unexecuted instantiation: enc_dec_process.c:aom_start_encode
Unexecuted instantiation: enc_inter_prediction.c:aom_start_encode
Unexecuted instantiation: enc_intra_prediction.c:aom_start_encode
Unexecuted instantiation: enc_mode_config.c:aom_start_encode
Unexecuted instantiation: entropy_coding.c:aom_start_encode
ec_process.c:aom_start_encode
Line
Count
Source
230
5.67k
static INLINE void aom_start_encode(AomWriter* br, OutputBitstreamUnit* source) {
231
5.67k
    br->buffer_parent = source;
232
5.67k
    br->pos           = 0;
233
    // Borrow tile buffer: EC writes directly to OutputBitstreamUnit's buffer
234
5.67k
    br->ec.buf = source->buffer_begin_av1;
235
5.67k
    svt_od_ec_enc_reset(&br->ec);
236
5.67k
}
Unexecuted instantiation: full_loop.c:aom_start_encode
Unexecuted instantiation: hash_motion.c:aom_start_encode
Unexecuted instantiation: initial_rc_process.c:aom_start_encode
Unexecuted instantiation: intra_prediction.c:aom_start_encode
Unexecuted instantiation: md_rate_estimation.c:aom_start_encode
Unexecuted instantiation: mode_decision.c:aom_start_encode
Unexecuted instantiation: md_config_process.c:aom_start_encode
Unexecuted instantiation: md_process.c:aom_start_encode
Unexecuted instantiation: motion_estimation.c:aom_start_encode
Unexecuted instantiation: me_process.c:aom_start_encode
Unexecuted instantiation: noise_model.c:aom_start_encode
Unexecuted instantiation: packetization_process.c:aom_start_encode
Unexecuted instantiation: packetization_reorder_queue.c:aom_start_encode
Unexecuted instantiation: palette.c:aom_start_encode
Unexecuted instantiation: pic_analysis_process.c:aom_start_encode
Unexecuted instantiation: pcs.c:aom_start_encode
Unexecuted instantiation: pd_process.c:aom_start_encode
Unexecuted instantiation: pd_results.c:aom_start_encode
Unexecuted instantiation: pic_manager_process.c:aom_start_encode
Unexecuted instantiation: pred_structure.c:aom_start_encode
Unexecuted instantiation: product_coding_loop.c:aom_start_encode
Unexecuted instantiation: rc_aq.c:aom_start_encode
Unexecuted instantiation: rc_process.c:aom_start_encode
Unexecuted instantiation: rc_rtc_cbr.c:aom_start_encode
Unexecuted instantiation: rc_vbr_cbr.c:aom_start_encode
Unexecuted instantiation: rd_cost.c:aom_start_encode
Unexecuted instantiation: reference_object.c:aom_start_encode
Unexecuted instantiation: resize.c:aom_start_encode
Unexecuted instantiation: resource_coordination_process.c:aom_start_encode
Unexecuted instantiation: rest_process.c:aom_start_encode
Unexecuted instantiation: restoration.c:aom_start_encode
Unexecuted instantiation: restoration_pick.c:aom_start_encode
Unexecuted instantiation: segmentation.c:aom_start_encode
Unexecuted instantiation: sequence_control_set.c:aom_start_encode
Unexecuted instantiation: src_ops_process.c:aom_start_encode
Unexecuted instantiation: super_res.c:aom_start_encode
Unexecuted instantiation: kernel_dispatch.c:aom_start_encode
Unexecuted instantiation: temporal_filtering.c:aom_start_encode
Unexecuted instantiation: transforms.c:aom_start_encode
Unexecuted instantiation: warped_motion.c:aom_start_encode
Unexecuted instantiation: encode_txb_ref_c.c:aom_start_encode
Unexecuted instantiation: variance.c:aom_start_encode
Unexecuted instantiation: adaptive_mv_pred.c:aom_start_encode
Unexecuted instantiation: cdef.c:aom_start_encode
Unexecuted instantiation: coding_loop.c:aom_start_encode
Unexecuted instantiation: coding_unit.c:aom_start_encode
Unexecuted instantiation: deblocking_filter.c:aom_start_encode
Unexecuted instantiation: encode_context.c:aom_start_encode
Unexecuted instantiation: firstpass.c:aom_start_encode
Unexecuted instantiation: global_me.c:aom_start_encode
Unexecuted instantiation: global_me_cost.c:aom_start_encode
Unexecuted instantiation: mcomp.c:aom_start_encode
Unexecuted instantiation: me_context.c:aom_start_encode
Unexecuted instantiation: pass2_strategy.c:aom_start_encode
Unexecuted instantiation: rc_crf_cqp.c:aom_start_encode
Unexecuted instantiation: global_motion.c:aom_start_encode
Unexecuted instantiation: ransac.c:aom_start_encode
Unexecuted instantiation: enc_warped_motion.c:aom_start_encode
237
238
EbErrorType svt_realloc_output_bitstream_unit(OutputBitstreamUnit* output_bitstream_ptr, uint32_t sz);
239
240
/*Ensures the EC buffer has at least min_free bytes of free space.
241
  Reallocs through the AomWriter's buffer_parent (OutputBitstreamUnit).
242
  Should be called before encoding each SB.*/
243
EbErrorType svt_aom_ec_ensure_capacity(AomWriter* w, uint32_t min_free);
244
245
5.67k
static INLINE void aom_stop_encode(AomWriter* w) {
246
5.67k
    uint32_t bytes = 0;
247
5.67k
    uint8_t* data  = svt_od_ec_enc_done(&w->ec, &bytes);
248
5.67k
    if (!data) {
249
0
        return;
250
0
    }
251
    // EC wrote directly to buffer_parent's buffer — no memcpy needed.
252
5.67k
    w->pos = bytes;
253
5.67k
}
Unexecuted instantiation: enc_handle.c:aom_stop_encode
Unexecuted instantiation: enc_settings.c:aom_stop_encode
Unexecuted instantiation: aom_dsp_rtcd.c:aom_stop_encode
Unexecuted instantiation: av1me.c:aom_stop_encode
Unexecuted instantiation: bitstream_unit.c:aom_stop_encode
Unexecuted instantiation: cdef_process.c:aom_stop_encode
Unexecuted instantiation: corner_match.c:aom_stop_encode
Unexecuted instantiation: dlf_process.c:aom_stop_encode
Unexecuted instantiation: enc_cdef.c:aom_stop_encode
Unexecuted instantiation: enc_dec_process.c:aom_stop_encode
Unexecuted instantiation: enc_inter_prediction.c:aom_stop_encode
Unexecuted instantiation: enc_intra_prediction.c:aom_stop_encode
Unexecuted instantiation: enc_mode_config.c:aom_stop_encode
entropy_coding.c:aom_stop_encode
Line
Count
Source
245
5.67k
static INLINE void aom_stop_encode(AomWriter* w) {
246
5.67k
    uint32_t bytes = 0;
247
5.67k
    uint8_t* data  = svt_od_ec_enc_done(&w->ec, &bytes);
248
5.67k
    if (!data) {
249
0
        return;
250
0
    }
251
    // EC wrote directly to buffer_parent's buffer — no memcpy needed.
252
5.67k
    w->pos = bytes;
253
5.67k
}
Unexecuted instantiation: ec_process.c:aom_stop_encode
Unexecuted instantiation: full_loop.c:aom_stop_encode
Unexecuted instantiation: hash_motion.c:aom_stop_encode
Unexecuted instantiation: initial_rc_process.c:aom_stop_encode
Unexecuted instantiation: intra_prediction.c:aom_stop_encode
Unexecuted instantiation: md_rate_estimation.c:aom_stop_encode
Unexecuted instantiation: mode_decision.c:aom_stop_encode
Unexecuted instantiation: md_config_process.c:aom_stop_encode
Unexecuted instantiation: md_process.c:aom_stop_encode
Unexecuted instantiation: motion_estimation.c:aom_stop_encode
Unexecuted instantiation: me_process.c:aom_stop_encode
Unexecuted instantiation: noise_model.c:aom_stop_encode
Unexecuted instantiation: packetization_process.c:aom_stop_encode
Unexecuted instantiation: packetization_reorder_queue.c:aom_stop_encode
Unexecuted instantiation: palette.c:aom_stop_encode
Unexecuted instantiation: pic_analysis_process.c:aom_stop_encode
Unexecuted instantiation: pcs.c:aom_stop_encode
Unexecuted instantiation: pd_process.c:aom_stop_encode
Unexecuted instantiation: pd_results.c:aom_stop_encode
Unexecuted instantiation: pic_manager_process.c:aom_stop_encode
Unexecuted instantiation: pred_structure.c:aom_stop_encode
Unexecuted instantiation: product_coding_loop.c:aom_stop_encode
Unexecuted instantiation: rc_aq.c:aom_stop_encode
Unexecuted instantiation: rc_process.c:aom_stop_encode
Unexecuted instantiation: rc_rtc_cbr.c:aom_stop_encode
Unexecuted instantiation: rc_vbr_cbr.c:aom_stop_encode
Unexecuted instantiation: rd_cost.c:aom_stop_encode
Unexecuted instantiation: reference_object.c:aom_stop_encode
Unexecuted instantiation: resize.c:aom_stop_encode
Unexecuted instantiation: resource_coordination_process.c:aom_stop_encode
Unexecuted instantiation: rest_process.c:aom_stop_encode
Unexecuted instantiation: restoration.c:aom_stop_encode
Unexecuted instantiation: restoration_pick.c:aom_stop_encode
Unexecuted instantiation: segmentation.c:aom_stop_encode
Unexecuted instantiation: sequence_control_set.c:aom_stop_encode
Unexecuted instantiation: src_ops_process.c:aom_stop_encode
Unexecuted instantiation: super_res.c:aom_stop_encode
Unexecuted instantiation: kernel_dispatch.c:aom_stop_encode
Unexecuted instantiation: temporal_filtering.c:aom_stop_encode
Unexecuted instantiation: transforms.c:aom_stop_encode
Unexecuted instantiation: warped_motion.c:aom_stop_encode
Unexecuted instantiation: encode_txb_ref_c.c:aom_stop_encode
Unexecuted instantiation: variance.c:aom_stop_encode
Unexecuted instantiation: adaptive_mv_pred.c:aom_stop_encode
Unexecuted instantiation: cdef.c:aom_stop_encode
Unexecuted instantiation: coding_loop.c:aom_stop_encode
Unexecuted instantiation: coding_unit.c:aom_stop_encode
Unexecuted instantiation: deblocking_filter.c:aom_stop_encode
Unexecuted instantiation: encode_context.c:aom_stop_encode
Unexecuted instantiation: firstpass.c:aom_stop_encode
Unexecuted instantiation: global_me.c:aom_stop_encode
Unexecuted instantiation: global_me_cost.c:aom_stop_encode
Unexecuted instantiation: mcomp.c:aom_stop_encode
Unexecuted instantiation: me_context.c:aom_stop_encode
Unexecuted instantiation: pass2_strategy.c:aom_stop_encode
Unexecuted instantiation: rc_crf_cqp.c:aom_stop_encode
Unexecuted instantiation: global_motion.c:aom_stop_encode
Unexecuted instantiation: ransac.c:aom_stop_encode
Unexecuted instantiation: enc_warped_motion.c:aom_stop_encode
254
255
241k
static INLINE void aom_write_bit(AomWriter* w, int bit) {
256
241k
    svt_od_ec_encode_bool_eq_q15(&w->ec, bit);
257
241k
}
Unexecuted instantiation: enc_handle.c:aom_write_bit
Unexecuted instantiation: enc_settings.c:aom_write_bit
Unexecuted instantiation: aom_dsp_rtcd.c:aom_write_bit
Unexecuted instantiation: av1me.c:aom_write_bit
Unexecuted instantiation: bitstream_unit.c:aom_write_bit
Unexecuted instantiation: cdef_process.c:aom_write_bit
Unexecuted instantiation: corner_match.c:aom_write_bit
Unexecuted instantiation: dlf_process.c:aom_write_bit
Unexecuted instantiation: enc_cdef.c:aom_write_bit
Unexecuted instantiation: enc_dec_process.c:aom_write_bit
Unexecuted instantiation: enc_inter_prediction.c:aom_write_bit
Unexecuted instantiation: enc_intra_prediction.c:aom_write_bit
Unexecuted instantiation: enc_mode_config.c:aom_write_bit
entropy_coding.c:aom_write_bit
Line
Count
Source
255
241k
static INLINE void aom_write_bit(AomWriter* w, int bit) {
256
241k
    svt_od_ec_encode_bool_eq_q15(&w->ec, bit);
257
241k
}
Unexecuted instantiation: ec_process.c:aom_write_bit
Unexecuted instantiation: full_loop.c:aom_write_bit
Unexecuted instantiation: hash_motion.c:aom_write_bit
Unexecuted instantiation: initial_rc_process.c:aom_write_bit
Unexecuted instantiation: intra_prediction.c:aom_write_bit
Unexecuted instantiation: md_rate_estimation.c:aom_write_bit
Unexecuted instantiation: mode_decision.c:aom_write_bit
Unexecuted instantiation: md_config_process.c:aom_write_bit
Unexecuted instantiation: md_process.c:aom_write_bit
Unexecuted instantiation: motion_estimation.c:aom_write_bit
Unexecuted instantiation: me_process.c:aom_write_bit
Unexecuted instantiation: noise_model.c:aom_write_bit
Unexecuted instantiation: packetization_process.c:aom_write_bit
Unexecuted instantiation: packetization_reorder_queue.c:aom_write_bit
Unexecuted instantiation: pic_analysis_process.c:aom_write_bit
Unexecuted instantiation: pcs.c:aom_write_bit
Unexecuted instantiation: pd_process.c:aom_write_bit
Unexecuted instantiation: pd_results.c:aom_write_bit
Unexecuted instantiation: pic_manager_process.c:aom_write_bit
Unexecuted instantiation: pred_structure.c:aom_write_bit
Unexecuted instantiation: product_coding_loop.c:aom_write_bit
Unexecuted instantiation: rc_aq.c:aom_write_bit
Unexecuted instantiation: rc_process.c:aom_write_bit
Unexecuted instantiation: rc_rtc_cbr.c:aom_write_bit
Unexecuted instantiation: rc_vbr_cbr.c:aom_write_bit
Unexecuted instantiation: rd_cost.c:aom_write_bit
Unexecuted instantiation: reference_object.c:aom_write_bit
Unexecuted instantiation: resize.c:aom_write_bit
Unexecuted instantiation: resource_coordination_process.c:aom_write_bit
Unexecuted instantiation: rest_process.c:aom_write_bit
Unexecuted instantiation: restoration.c:aom_write_bit
Unexecuted instantiation: restoration_pick.c:aom_write_bit
Unexecuted instantiation: sequence_control_set.c:aom_write_bit
Unexecuted instantiation: src_ops_process.c:aom_write_bit
Unexecuted instantiation: super_res.c:aom_write_bit
Unexecuted instantiation: kernel_dispatch.c:aom_write_bit
Unexecuted instantiation: temporal_filtering.c:aom_write_bit
Unexecuted instantiation: transforms.c:aom_write_bit
Unexecuted instantiation: warped_motion.c:aom_write_bit
Unexecuted instantiation: encode_txb_ref_c.c:aom_write_bit
Unexecuted instantiation: variance.c:aom_write_bit
Unexecuted instantiation: adaptive_mv_pred.c:aom_write_bit
Unexecuted instantiation: cdef.c:aom_write_bit
Unexecuted instantiation: coding_loop.c:aom_write_bit
Unexecuted instantiation: coding_unit.c:aom_write_bit
Unexecuted instantiation: deblocking_filter.c:aom_write_bit
Unexecuted instantiation: encode_context.c:aom_write_bit
Unexecuted instantiation: global_me.c:aom_write_bit
Unexecuted instantiation: global_me_cost.c:aom_write_bit
Unexecuted instantiation: me_context.c:aom_write_bit
Unexecuted instantiation: rc_crf_cqp.c:aom_write_bit
Unexecuted instantiation: ransac.c:aom_write_bit
Unexecuted instantiation: enc_warped_motion.c:aom_write_bit
258
259
35.9k
static INLINE void aom_write_literal(AomWriter* w, unsigned data, int bits) {
260
277k
    for (int bit = bits - 1; bit >= 0; bit--) {
261
241k
        aom_write_bit(w, 1 & (data >> bit));
262
241k
    }
263
35.9k
}
Unexecuted instantiation: enc_handle.c:aom_write_literal
Unexecuted instantiation: enc_settings.c:aom_write_literal
Unexecuted instantiation: aom_dsp_rtcd.c:aom_write_literal
Unexecuted instantiation: av1me.c:aom_write_literal
Unexecuted instantiation: bitstream_unit.c:aom_write_literal
Unexecuted instantiation: cdef_process.c:aom_write_literal
Unexecuted instantiation: corner_match.c:aom_write_literal
Unexecuted instantiation: dlf_process.c:aom_write_literal
Unexecuted instantiation: enc_cdef.c:aom_write_literal
Unexecuted instantiation: enc_dec_process.c:aom_write_literal
Unexecuted instantiation: enc_inter_prediction.c:aom_write_literal
Unexecuted instantiation: enc_intra_prediction.c:aom_write_literal
Unexecuted instantiation: enc_mode_config.c:aom_write_literal
entropy_coding.c:aom_write_literal
Line
Count
Source
259
35.9k
static INLINE void aom_write_literal(AomWriter* w, unsigned data, int bits) {
260
277k
    for (int bit = bits - 1; bit >= 0; bit--) {
261
241k
        aom_write_bit(w, 1 & (data >> bit));
262
241k
    }
263
35.9k
}
Unexecuted instantiation: ec_process.c:aom_write_literal
Unexecuted instantiation: full_loop.c:aom_write_literal
Unexecuted instantiation: hash_motion.c:aom_write_literal
Unexecuted instantiation: initial_rc_process.c:aom_write_literal
Unexecuted instantiation: intra_prediction.c:aom_write_literal
Unexecuted instantiation: md_rate_estimation.c:aom_write_literal
Unexecuted instantiation: mode_decision.c:aom_write_literal
Unexecuted instantiation: md_config_process.c:aom_write_literal
Unexecuted instantiation: md_process.c:aom_write_literal
Unexecuted instantiation: motion_estimation.c:aom_write_literal
Unexecuted instantiation: me_process.c:aom_write_literal
Unexecuted instantiation: noise_model.c:aom_write_literal
Unexecuted instantiation: packetization_process.c:aom_write_literal
Unexecuted instantiation: packetization_reorder_queue.c:aom_write_literal
Unexecuted instantiation: pic_analysis_process.c:aom_write_literal
Unexecuted instantiation: pcs.c:aom_write_literal
Unexecuted instantiation: pd_process.c:aom_write_literal
Unexecuted instantiation: pd_results.c:aom_write_literal
Unexecuted instantiation: pic_manager_process.c:aom_write_literal
Unexecuted instantiation: pred_structure.c:aom_write_literal
Unexecuted instantiation: product_coding_loop.c:aom_write_literal
Unexecuted instantiation: rc_aq.c:aom_write_literal
Unexecuted instantiation: rc_process.c:aom_write_literal
Unexecuted instantiation: rc_rtc_cbr.c:aom_write_literal
Unexecuted instantiation: rc_vbr_cbr.c:aom_write_literal
Unexecuted instantiation: rd_cost.c:aom_write_literal
Unexecuted instantiation: reference_object.c:aom_write_literal
Unexecuted instantiation: resize.c:aom_write_literal
Unexecuted instantiation: resource_coordination_process.c:aom_write_literal
Unexecuted instantiation: rest_process.c:aom_write_literal
Unexecuted instantiation: restoration.c:aom_write_literal
Unexecuted instantiation: restoration_pick.c:aom_write_literal
Unexecuted instantiation: sequence_control_set.c:aom_write_literal
Unexecuted instantiation: src_ops_process.c:aom_write_literal
Unexecuted instantiation: super_res.c:aom_write_literal
Unexecuted instantiation: kernel_dispatch.c:aom_write_literal
Unexecuted instantiation: temporal_filtering.c:aom_write_literal
Unexecuted instantiation: transforms.c:aom_write_literal
Unexecuted instantiation: warped_motion.c:aom_write_literal
Unexecuted instantiation: encode_txb_ref_c.c:aom_write_literal
Unexecuted instantiation: variance.c:aom_write_literal
Unexecuted instantiation: adaptive_mv_pred.c:aom_write_literal
Unexecuted instantiation: cdef.c:aom_write_literal
Unexecuted instantiation: coding_loop.c:aom_write_literal
Unexecuted instantiation: coding_unit.c:aom_write_literal
Unexecuted instantiation: deblocking_filter.c:aom_write_literal
Unexecuted instantiation: encode_context.c:aom_write_literal
Unexecuted instantiation: global_me.c:aom_write_literal
Unexecuted instantiation: global_me_cost.c:aom_write_literal
Unexecuted instantiation: me_context.c:aom_write_literal
Unexecuted instantiation: rc_crf_cqp.c:aom_write_literal
Unexecuted instantiation: ransac.c:aom_write_literal
Unexecuted instantiation: enc_warped_motion.c:aom_write_literal
264
265
799k
static INLINE void aom_write_symbol(AomWriter* w, int symb, AomCdfProb* cdf, int nsymbs) {
266
799k
    if (nsymbs == 2) {
267
        // Binary CDF specialization: route directly to the optimal bool encoder.
268
        // For nsyms==2, the CDF encode path is provably equivalent to
269
        // svt_od_ec_encode_bool_q15(enc, symb, cdf[0]).
270
        // When nsymbs is a compile-time constant 2, this branch folds away.
271
205k
        svt_od_ec_encode_bool_q15(&w->ec, symb, cdf[0]);
272
593k
    } else {
273
593k
        svt_od_ec_encode_cdf_q15(&w->ec, symb, cdf, nsymbs);
274
593k
    }
275
276
799k
    if (w->allow_update_cdf) {
277
799k
        update_cdf(cdf, symb, nsymbs);
278
799k
    }
279
799k
}
Unexecuted instantiation: enc_handle.c:aom_write_symbol
Unexecuted instantiation: enc_settings.c:aom_write_symbol
Unexecuted instantiation: aom_dsp_rtcd.c:aom_write_symbol
Unexecuted instantiation: av1me.c:aom_write_symbol
Unexecuted instantiation: bitstream_unit.c:aom_write_symbol
Unexecuted instantiation: cdef_process.c:aom_write_symbol
Unexecuted instantiation: corner_match.c:aom_write_symbol
Unexecuted instantiation: dlf_process.c:aom_write_symbol
Unexecuted instantiation: enc_cdef.c:aom_write_symbol
Unexecuted instantiation: enc_dec_process.c:aom_write_symbol
Unexecuted instantiation: enc_inter_prediction.c:aom_write_symbol
Unexecuted instantiation: enc_intra_prediction.c:aom_write_symbol
Unexecuted instantiation: enc_mode_config.c:aom_write_symbol
entropy_coding.c:aom_write_symbol
Line
Count
Source
265
799k
static INLINE void aom_write_symbol(AomWriter* w, int symb, AomCdfProb* cdf, int nsymbs) {
266
799k
    if (nsymbs == 2) {
267
        // Binary CDF specialization: route directly to the optimal bool encoder.
268
        // For nsyms==2, the CDF encode path is provably equivalent to
269
        // svt_od_ec_encode_bool_q15(enc, symb, cdf[0]).
270
        // When nsymbs is a compile-time constant 2, this branch folds away.
271
205k
        svt_od_ec_encode_bool_q15(&w->ec, symb, cdf[0]);
272
593k
    } else {
273
593k
        svt_od_ec_encode_cdf_q15(&w->ec, symb, cdf, nsymbs);
274
593k
    }
275
276
799k
    if (w->allow_update_cdf) {
277
799k
        update_cdf(cdf, symb, nsymbs);
278
799k
    }
279
799k
}
Unexecuted instantiation: ec_process.c:aom_write_symbol
Unexecuted instantiation: full_loop.c:aom_write_symbol
Unexecuted instantiation: hash_motion.c:aom_write_symbol
Unexecuted instantiation: initial_rc_process.c:aom_write_symbol
Unexecuted instantiation: intra_prediction.c:aom_write_symbol
Unexecuted instantiation: md_rate_estimation.c:aom_write_symbol
Unexecuted instantiation: mode_decision.c:aom_write_symbol
Unexecuted instantiation: md_config_process.c:aom_write_symbol
Unexecuted instantiation: md_process.c:aom_write_symbol
Unexecuted instantiation: motion_estimation.c:aom_write_symbol
Unexecuted instantiation: me_process.c:aom_write_symbol
Unexecuted instantiation: noise_model.c:aom_write_symbol
Unexecuted instantiation: packetization_process.c:aom_write_symbol
Unexecuted instantiation: packetization_reorder_queue.c:aom_write_symbol
Unexecuted instantiation: pic_analysis_process.c:aom_write_symbol
Unexecuted instantiation: pcs.c:aom_write_symbol
Unexecuted instantiation: pd_process.c:aom_write_symbol
Unexecuted instantiation: pd_results.c:aom_write_symbol
Unexecuted instantiation: pic_manager_process.c:aom_write_symbol
Unexecuted instantiation: pred_structure.c:aom_write_symbol
Unexecuted instantiation: product_coding_loop.c:aom_write_symbol
Unexecuted instantiation: rc_aq.c:aom_write_symbol
Unexecuted instantiation: rc_process.c:aom_write_symbol
Unexecuted instantiation: rc_rtc_cbr.c:aom_write_symbol
Unexecuted instantiation: rc_vbr_cbr.c:aom_write_symbol
Unexecuted instantiation: rd_cost.c:aom_write_symbol
Unexecuted instantiation: reference_object.c:aom_write_symbol
Unexecuted instantiation: resize.c:aom_write_symbol
Unexecuted instantiation: resource_coordination_process.c:aom_write_symbol
Unexecuted instantiation: rest_process.c:aom_write_symbol
Unexecuted instantiation: restoration.c:aom_write_symbol
Unexecuted instantiation: restoration_pick.c:aom_write_symbol
Unexecuted instantiation: sequence_control_set.c:aom_write_symbol
Unexecuted instantiation: src_ops_process.c:aom_write_symbol
Unexecuted instantiation: super_res.c:aom_write_symbol
Unexecuted instantiation: kernel_dispatch.c:aom_write_symbol
Unexecuted instantiation: temporal_filtering.c:aom_write_symbol
Unexecuted instantiation: transforms.c:aom_write_symbol
Unexecuted instantiation: warped_motion.c:aom_write_symbol
Unexecuted instantiation: encode_txb_ref_c.c:aom_write_symbol
Unexecuted instantiation: variance.c:aom_write_symbol
Unexecuted instantiation: adaptive_mv_pred.c:aom_write_symbol
Unexecuted instantiation: cdef.c:aom_write_symbol
Unexecuted instantiation: coding_loop.c:aom_write_symbol
Unexecuted instantiation: coding_unit.c:aom_write_symbol
Unexecuted instantiation: deblocking_filter.c:aom_write_symbol
Unexecuted instantiation: encode_context.c:aom_write_symbol
Unexecuted instantiation: global_me.c:aom_write_symbol
Unexecuted instantiation: global_me_cost.c:aom_write_symbol
Unexecuted instantiation: me_context.c:aom_write_symbol
Unexecuted instantiation: rc_crf_cqp.c:aom_write_symbol
Unexecuted instantiation: ransac.c:aom_write_symbol
Unexecuted instantiation: enc_warped_motion.c:aom_write_symbol
280
281
/********************************************************************************************************************************/
282
/********************************************************************************************************************************/
283
#ifdef __cplusplus
284
}
285
#endif
286
287
#endif // EbBitstreamUnit_h