/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 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 |