/work/svt-av1/Source/Lib/Codec/svt_malloc.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 | | #ifndef EbMalloc_h |
12 | | #define EbMalloc_h |
13 | | #include <stdlib.h> |
14 | | #include <stdio.h> |
15 | | #include <stdint.h> |
16 | | |
17 | | #include "definitions.h" |
18 | | |
19 | | #ifdef __cplusplus |
20 | | extern "C" { |
21 | | #endif |
22 | | |
23 | | #ifndef NDEBUG |
24 | | #define DEBUG_MEMORY_USAGE |
25 | | #endif |
26 | | |
27 | | //-------aom memory stuff |
28 | | |
29 | 0 | #define ADDRESS_STORAGE_SIZE sizeof(size_t) |
30 | 0 | #define DEFAULT_ALIGNMENT (2 * sizeof(void*)) |
31 | 0 | #define AOM_MAX_ALLOCABLE_MEMORY 8589934592 // 8 GB |
32 | | /*returns an addr aligned to the byte boundary specified by align*/ |
33 | 0 | #define align_addr(addr, align) (void*)(((size_t)(addr) + ((align) - 1)) & ~(size_t)((align) - 1)) |
34 | | |
35 | | // Returns 0 in case of overflow of nmemb * size. |
36 | 0 | static inline int32_t check_size_argument_overflow(uint64_t nmemb, uint64_t size) { |
37 | 0 | const uint64_t total_size = nmemb * size; |
38 | 0 | if (nmemb == 0) { |
39 | 0 | return 1; |
40 | 0 | } |
41 | 0 | if (size > AOM_MAX_ALLOCABLE_MEMORY / nmemb) { |
42 | 0 | return 0; |
43 | 0 | } |
44 | 0 | if (total_size != (size_t)total_size) { |
45 | 0 | return 0; |
46 | 0 | } |
47 | 0 | return 1; |
48 | 0 | } Unexecuted instantiation: enc_handle.c:check_size_argument_overflow Unexecuted instantiation: enc_settings.c:check_size_argument_overflow Unexecuted instantiation: metadata_handle.c:check_size_argument_overflow Unexecuted instantiation: aom_dsp_rtcd.c:check_size_argument_overflow Unexecuted instantiation: av1me.c:check_size_argument_overflow Unexecuted instantiation: bitstream_unit.c:check_size_argument_overflow Unexecuted instantiation: cdef_process.c:check_size_argument_overflow Unexecuted instantiation: common_dsp_rtcd.c:check_size_argument_overflow Unexecuted instantiation: common_utils.c:check_size_argument_overflow Unexecuted instantiation: corner_match.c:check_size_argument_overflow Unexecuted instantiation: deblocking_common.c:check_size_argument_overflow Unexecuted instantiation: dlf_process.c:check_size_argument_overflow Unexecuted instantiation: enc_cdef.c:check_size_argument_overflow Unexecuted instantiation: enc_dec_process.c:check_size_argument_overflow Unexecuted instantiation: enc_dec_results.c:check_size_argument_overflow Unexecuted instantiation: enc_dec_tasks.c:check_size_argument_overflow Unexecuted instantiation: enc_inter_prediction.c:check_size_argument_overflow Unexecuted instantiation: enc_intra_prediction.c:check_size_argument_overflow Unexecuted instantiation: enc_mode_config.c:check_size_argument_overflow Unexecuted instantiation: entropy_coding.c:check_size_argument_overflow Unexecuted instantiation: ec_process.c:check_size_argument_overflow Unexecuted instantiation: ec_results.c:check_size_argument_overflow Unexecuted instantiation: full_loop.c:check_size_argument_overflow Unexecuted instantiation: hash_motion.c:check_size_argument_overflow Unexecuted instantiation: initial_rc_process.c:check_size_argument_overflow Unexecuted instantiation: initial_rc_results.c:check_size_argument_overflow Unexecuted instantiation: inter_prediction.c:check_size_argument_overflow Unexecuted instantiation: intra_prediction.c:check_size_argument_overflow Unexecuted instantiation: inv_transforms.c:check_size_argument_overflow Unexecuted instantiation: md_rate_estimation.c:check_size_argument_overflow Unexecuted instantiation: mode_decision.c:check_size_argument_overflow Unexecuted instantiation: md_config_process.c:check_size_argument_overflow Unexecuted instantiation: md_process.c:check_size_argument_overflow Unexecuted instantiation: motion_estimation.c:check_size_argument_overflow Unexecuted instantiation: me_process.c:check_size_argument_overflow Unexecuted instantiation: me_results.c:check_size_argument_overflow Unexecuted instantiation: neighbor_arrays.c:check_size_argument_overflow Unexecuted instantiation: noise_model.c:check_size_argument_overflow Unexecuted instantiation: noise_util.c:check_size_argument_overflow Unexecuted instantiation: packetization_process.c:check_size_argument_overflow Unexecuted instantiation: packetization_reorder_queue.c:check_size_argument_overflow Unexecuted instantiation: palette.c:check_size_argument_overflow Unexecuted instantiation: pic_analysis_process.c:check_size_argument_overflow Unexecuted instantiation: pic_analysis_results.c:check_size_argument_overflow Unexecuted instantiation: pic_buffer_desc.c:check_size_argument_overflow Unexecuted instantiation: pcs.c:check_size_argument_overflow Unexecuted instantiation: pd_process.c:check_size_argument_overflow Unexecuted instantiation: pd_reorder_queue.c:check_size_argument_overflow Unexecuted instantiation: pd_results.c:check_size_argument_overflow Unexecuted instantiation: pic_demux_results.c:check_size_argument_overflow Unexecuted instantiation: pic_manager_process.c:check_size_argument_overflow Unexecuted instantiation: pic_manager_queue.c:check_size_argument_overflow Unexecuted instantiation: pic_operators.c:check_size_argument_overflow Unexecuted instantiation: pred_structure.c:check_size_argument_overflow Unexecuted instantiation: product_coding_loop.c:check_size_argument_overflow Unexecuted instantiation: ac_bias.c:check_size_argument_overflow Unexecuted instantiation: rc_aq.c:check_size_argument_overflow Unexecuted instantiation: rc_process.c:check_size_argument_overflow Unexecuted instantiation: rc_results.c:check_size_argument_overflow Unexecuted instantiation: rc_rtc_cbr.c:check_size_argument_overflow Unexecuted instantiation: rc_tasks.c:check_size_argument_overflow Unexecuted instantiation: rc_vbr_cbr.c:check_size_argument_overflow Unexecuted instantiation: rd_cost.c:check_size_argument_overflow Unexecuted instantiation: reference_object.c:check_size_argument_overflow Unexecuted instantiation: resize.c:check_size_argument_overflow Unexecuted instantiation: resource_coordination_process.c:check_size_argument_overflow Unexecuted instantiation: resource_coordination_results.c:check_size_argument_overflow Unexecuted instantiation: rest_process.c:check_size_argument_overflow Unexecuted instantiation: restoration.c:check_size_argument_overflow Unexecuted instantiation: restoration_pick.c:check_size_argument_overflow Unexecuted instantiation: segmentation.c:check_size_argument_overflow Unexecuted instantiation: segmentation_params.c:check_size_argument_overflow Unexecuted instantiation: sequence_control_set.c:check_size_argument_overflow Unexecuted instantiation: src_ops_process.c:check_size_argument_overflow Unexecuted instantiation: super_res.c:check_size_argument_overflow Unexecuted instantiation: svt_malloc.c:check_size_argument_overflow Unexecuted instantiation: svt_psnr.c:check_size_argument_overflow Unexecuted instantiation: sys_resource_manager.c:check_size_argument_overflow Unexecuted instantiation: kernel_dispatch.c:check_size_argument_overflow Unexecuted instantiation: temporal_filtering.c:check_size_argument_overflow Unexecuted instantiation: transforms.c:check_size_argument_overflow Unexecuted instantiation: utility.c:check_size_argument_overflow Unexecuted instantiation: vector.c:check_size_argument_overflow Unexecuted instantiation: warped_motion.c:check_size_argument_overflow Unexecuted instantiation: encode_txb_ref_c.c:check_size_argument_overflow Unexecuted instantiation: filterintra_c.c:check_size_argument_overflow Unexecuted instantiation: sad_av1.c:check_size_argument_overflow Unexecuted instantiation: variance.c:check_size_argument_overflow Unexecuted instantiation: adaptive_mv_pred.c:check_size_argument_overflow Unexecuted instantiation: block_structures.c:check_size_argument_overflow Unexecuted instantiation: cdef.c:check_size_argument_overflow Unexecuted instantiation: coding_loop.c:check_size_argument_overflow Unexecuted instantiation: coding_unit.c:check_size_argument_overflow Unexecuted instantiation: deblocking_filter.c:check_size_argument_overflow Unexecuted instantiation: enc_dec_segments.c:check_size_argument_overflow Unexecuted instantiation: encode_context.c:check_size_argument_overflow Unexecuted instantiation: firstpass.c:check_size_argument_overflow Unexecuted instantiation: global_me.c:check_size_argument_overflow Unexecuted instantiation: global_me_cost.c:check_size_argument_overflow Unexecuted instantiation: mcomp.c:check_size_argument_overflow Unexecuted instantiation: me_context.c:check_size_argument_overflow Unexecuted instantiation: pass2_strategy.c:check_size_argument_overflow Unexecuted instantiation: pd_queue.c:check_size_argument_overflow Unexecuted instantiation: rc_crf_cqp.c:check_size_argument_overflow Unexecuted instantiation: global_motion.c:check_size_argument_overflow Unexecuted instantiation: ransac.c:check_size_argument_overflow Unexecuted instantiation: enc_warped_motion.c:check_size_argument_overflow |
49 | | |
50 | 0 | static inline size_t get_aligned_malloc_size(size_t size, size_t align) { |
51 | 0 | return size + align - 1 + ADDRESS_STORAGE_SIZE; |
52 | 0 | } Unexecuted instantiation: enc_handle.c:get_aligned_malloc_size Unexecuted instantiation: enc_settings.c:get_aligned_malloc_size Unexecuted instantiation: metadata_handle.c:get_aligned_malloc_size Unexecuted instantiation: aom_dsp_rtcd.c:get_aligned_malloc_size Unexecuted instantiation: av1me.c:get_aligned_malloc_size Unexecuted instantiation: bitstream_unit.c:get_aligned_malloc_size Unexecuted instantiation: cdef_process.c:get_aligned_malloc_size Unexecuted instantiation: common_dsp_rtcd.c:get_aligned_malloc_size Unexecuted instantiation: common_utils.c:get_aligned_malloc_size Unexecuted instantiation: corner_match.c:get_aligned_malloc_size Unexecuted instantiation: deblocking_common.c:get_aligned_malloc_size Unexecuted instantiation: dlf_process.c:get_aligned_malloc_size Unexecuted instantiation: enc_cdef.c:get_aligned_malloc_size Unexecuted instantiation: enc_dec_process.c:get_aligned_malloc_size Unexecuted instantiation: enc_dec_results.c:get_aligned_malloc_size Unexecuted instantiation: enc_dec_tasks.c:get_aligned_malloc_size Unexecuted instantiation: enc_inter_prediction.c:get_aligned_malloc_size Unexecuted instantiation: enc_intra_prediction.c:get_aligned_malloc_size Unexecuted instantiation: enc_mode_config.c:get_aligned_malloc_size Unexecuted instantiation: entropy_coding.c:get_aligned_malloc_size Unexecuted instantiation: ec_process.c:get_aligned_malloc_size Unexecuted instantiation: ec_results.c:get_aligned_malloc_size Unexecuted instantiation: full_loop.c:get_aligned_malloc_size Unexecuted instantiation: hash_motion.c:get_aligned_malloc_size Unexecuted instantiation: initial_rc_process.c:get_aligned_malloc_size Unexecuted instantiation: initial_rc_results.c:get_aligned_malloc_size Unexecuted instantiation: inter_prediction.c:get_aligned_malloc_size Unexecuted instantiation: intra_prediction.c:get_aligned_malloc_size Unexecuted instantiation: inv_transforms.c:get_aligned_malloc_size Unexecuted instantiation: md_rate_estimation.c:get_aligned_malloc_size Unexecuted instantiation: mode_decision.c:get_aligned_malloc_size Unexecuted instantiation: md_config_process.c:get_aligned_malloc_size Unexecuted instantiation: md_process.c:get_aligned_malloc_size Unexecuted instantiation: motion_estimation.c:get_aligned_malloc_size Unexecuted instantiation: me_process.c:get_aligned_malloc_size Unexecuted instantiation: me_results.c:get_aligned_malloc_size Unexecuted instantiation: neighbor_arrays.c:get_aligned_malloc_size Unexecuted instantiation: noise_model.c:get_aligned_malloc_size Unexecuted instantiation: noise_util.c:get_aligned_malloc_size Unexecuted instantiation: packetization_process.c:get_aligned_malloc_size Unexecuted instantiation: packetization_reorder_queue.c:get_aligned_malloc_size Unexecuted instantiation: palette.c:get_aligned_malloc_size Unexecuted instantiation: pic_analysis_process.c:get_aligned_malloc_size Unexecuted instantiation: pic_analysis_results.c:get_aligned_malloc_size Unexecuted instantiation: pic_buffer_desc.c:get_aligned_malloc_size Unexecuted instantiation: pcs.c:get_aligned_malloc_size Unexecuted instantiation: pd_process.c:get_aligned_malloc_size Unexecuted instantiation: pd_reorder_queue.c:get_aligned_malloc_size Unexecuted instantiation: pd_results.c:get_aligned_malloc_size Unexecuted instantiation: pic_demux_results.c:get_aligned_malloc_size Unexecuted instantiation: pic_manager_process.c:get_aligned_malloc_size Unexecuted instantiation: pic_manager_queue.c:get_aligned_malloc_size Unexecuted instantiation: pic_operators.c:get_aligned_malloc_size Unexecuted instantiation: pred_structure.c:get_aligned_malloc_size Unexecuted instantiation: product_coding_loop.c:get_aligned_malloc_size Unexecuted instantiation: ac_bias.c:get_aligned_malloc_size Unexecuted instantiation: rc_aq.c:get_aligned_malloc_size Unexecuted instantiation: rc_process.c:get_aligned_malloc_size Unexecuted instantiation: rc_results.c:get_aligned_malloc_size Unexecuted instantiation: rc_rtc_cbr.c:get_aligned_malloc_size Unexecuted instantiation: rc_tasks.c:get_aligned_malloc_size Unexecuted instantiation: rc_vbr_cbr.c:get_aligned_malloc_size Unexecuted instantiation: rd_cost.c:get_aligned_malloc_size Unexecuted instantiation: reference_object.c:get_aligned_malloc_size Unexecuted instantiation: resize.c:get_aligned_malloc_size Unexecuted instantiation: resource_coordination_process.c:get_aligned_malloc_size Unexecuted instantiation: resource_coordination_results.c:get_aligned_malloc_size Unexecuted instantiation: rest_process.c:get_aligned_malloc_size Unexecuted instantiation: restoration.c:get_aligned_malloc_size Unexecuted instantiation: restoration_pick.c:get_aligned_malloc_size Unexecuted instantiation: segmentation.c:get_aligned_malloc_size Unexecuted instantiation: segmentation_params.c:get_aligned_malloc_size Unexecuted instantiation: sequence_control_set.c:get_aligned_malloc_size Unexecuted instantiation: src_ops_process.c:get_aligned_malloc_size Unexecuted instantiation: super_res.c:get_aligned_malloc_size Unexecuted instantiation: svt_malloc.c:get_aligned_malloc_size Unexecuted instantiation: svt_psnr.c:get_aligned_malloc_size Unexecuted instantiation: sys_resource_manager.c:get_aligned_malloc_size Unexecuted instantiation: kernel_dispatch.c:get_aligned_malloc_size Unexecuted instantiation: temporal_filtering.c:get_aligned_malloc_size Unexecuted instantiation: transforms.c:get_aligned_malloc_size Unexecuted instantiation: utility.c:get_aligned_malloc_size Unexecuted instantiation: vector.c:get_aligned_malloc_size Unexecuted instantiation: warped_motion.c:get_aligned_malloc_size Unexecuted instantiation: encode_txb_ref_c.c:get_aligned_malloc_size Unexecuted instantiation: filterintra_c.c:get_aligned_malloc_size Unexecuted instantiation: sad_av1.c:get_aligned_malloc_size Unexecuted instantiation: variance.c:get_aligned_malloc_size Unexecuted instantiation: adaptive_mv_pred.c:get_aligned_malloc_size Unexecuted instantiation: block_structures.c:get_aligned_malloc_size Unexecuted instantiation: cdef.c:get_aligned_malloc_size Unexecuted instantiation: coding_loop.c:get_aligned_malloc_size Unexecuted instantiation: coding_unit.c:get_aligned_malloc_size Unexecuted instantiation: deblocking_filter.c:get_aligned_malloc_size Unexecuted instantiation: enc_dec_segments.c:get_aligned_malloc_size Unexecuted instantiation: encode_context.c:get_aligned_malloc_size Unexecuted instantiation: firstpass.c:get_aligned_malloc_size Unexecuted instantiation: global_me.c:get_aligned_malloc_size Unexecuted instantiation: global_me_cost.c:get_aligned_malloc_size Unexecuted instantiation: mcomp.c:get_aligned_malloc_size Unexecuted instantiation: me_context.c:get_aligned_malloc_size Unexecuted instantiation: pass2_strategy.c:get_aligned_malloc_size Unexecuted instantiation: pd_queue.c:get_aligned_malloc_size Unexecuted instantiation: rc_crf_cqp.c:get_aligned_malloc_size Unexecuted instantiation: global_motion.c:get_aligned_malloc_size Unexecuted instantiation: ransac.c:get_aligned_malloc_size Unexecuted instantiation: enc_warped_motion.c:get_aligned_malloc_size |
53 | | |
54 | 0 | static inline size_t* get_malloc_address_location(void* const mem) { |
55 | 0 | return ((size_t*)mem) - 1; |
56 | 0 | } Unexecuted instantiation: enc_handle.c:get_malloc_address_location Unexecuted instantiation: enc_settings.c:get_malloc_address_location Unexecuted instantiation: metadata_handle.c:get_malloc_address_location Unexecuted instantiation: aom_dsp_rtcd.c:get_malloc_address_location Unexecuted instantiation: av1me.c:get_malloc_address_location Unexecuted instantiation: bitstream_unit.c:get_malloc_address_location Unexecuted instantiation: cdef_process.c:get_malloc_address_location Unexecuted instantiation: common_dsp_rtcd.c:get_malloc_address_location Unexecuted instantiation: common_utils.c:get_malloc_address_location Unexecuted instantiation: corner_match.c:get_malloc_address_location Unexecuted instantiation: deblocking_common.c:get_malloc_address_location Unexecuted instantiation: dlf_process.c:get_malloc_address_location Unexecuted instantiation: enc_cdef.c:get_malloc_address_location Unexecuted instantiation: enc_dec_process.c:get_malloc_address_location Unexecuted instantiation: enc_dec_results.c:get_malloc_address_location Unexecuted instantiation: enc_dec_tasks.c:get_malloc_address_location Unexecuted instantiation: enc_inter_prediction.c:get_malloc_address_location Unexecuted instantiation: enc_intra_prediction.c:get_malloc_address_location Unexecuted instantiation: enc_mode_config.c:get_malloc_address_location Unexecuted instantiation: entropy_coding.c:get_malloc_address_location Unexecuted instantiation: ec_process.c:get_malloc_address_location Unexecuted instantiation: ec_results.c:get_malloc_address_location Unexecuted instantiation: full_loop.c:get_malloc_address_location Unexecuted instantiation: hash_motion.c:get_malloc_address_location Unexecuted instantiation: initial_rc_process.c:get_malloc_address_location Unexecuted instantiation: initial_rc_results.c:get_malloc_address_location Unexecuted instantiation: inter_prediction.c:get_malloc_address_location Unexecuted instantiation: intra_prediction.c:get_malloc_address_location Unexecuted instantiation: inv_transforms.c:get_malloc_address_location Unexecuted instantiation: md_rate_estimation.c:get_malloc_address_location Unexecuted instantiation: mode_decision.c:get_malloc_address_location Unexecuted instantiation: md_config_process.c:get_malloc_address_location Unexecuted instantiation: md_process.c:get_malloc_address_location Unexecuted instantiation: motion_estimation.c:get_malloc_address_location Unexecuted instantiation: me_process.c:get_malloc_address_location Unexecuted instantiation: me_results.c:get_malloc_address_location Unexecuted instantiation: neighbor_arrays.c:get_malloc_address_location Unexecuted instantiation: noise_model.c:get_malloc_address_location Unexecuted instantiation: noise_util.c:get_malloc_address_location Unexecuted instantiation: packetization_process.c:get_malloc_address_location Unexecuted instantiation: packetization_reorder_queue.c:get_malloc_address_location Unexecuted instantiation: palette.c:get_malloc_address_location Unexecuted instantiation: pic_analysis_process.c:get_malloc_address_location Unexecuted instantiation: pic_analysis_results.c:get_malloc_address_location Unexecuted instantiation: pic_buffer_desc.c:get_malloc_address_location Unexecuted instantiation: pcs.c:get_malloc_address_location Unexecuted instantiation: pd_process.c:get_malloc_address_location Unexecuted instantiation: pd_reorder_queue.c:get_malloc_address_location Unexecuted instantiation: pd_results.c:get_malloc_address_location Unexecuted instantiation: pic_demux_results.c:get_malloc_address_location Unexecuted instantiation: pic_manager_process.c:get_malloc_address_location Unexecuted instantiation: pic_manager_queue.c:get_malloc_address_location Unexecuted instantiation: pic_operators.c:get_malloc_address_location Unexecuted instantiation: pred_structure.c:get_malloc_address_location Unexecuted instantiation: product_coding_loop.c:get_malloc_address_location Unexecuted instantiation: ac_bias.c:get_malloc_address_location Unexecuted instantiation: rc_aq.c:get_malloc_address_location Unexecuted instantiation: rc_process.c:get_malloc_address_location Unexecuted instantiation: rc_results.c:get_malloc_address_location Unexecuted instantiation: rc_rtc_cbr.c:get_malloc_address_location Unexecuted instantiation: rc_tasks.c:get_malloc_address_location Unexecuted instantiation: rc_vbr_cbr.c:get_malloc_address_location Unexecuted instantiation: rd_cost.c:get_malloc_address_location Unexecuted instantiation: reference_object.c:get_malloc_address_location Unexecuted instantiation: resize.c:get_malloc_address_location Unexecuted instantiation: resource_coordination_process.c:get_malloc_address_location Unexecuted instantiation: resource_coordination_results.c:get_malloc_address_location Unexecuted instantiation: rest_process.c:get_malloc_address_location Unexecuted instantiation: restoration.c:get_malloc_address_location Unexecuted instantiation: restoration_pick.c:get_malloc_address_location Unexecuted instantiation: segmentation.c:get_malloc_address_location Unexecuted instantiation: segmentation_params.c:get_malloc_address_location Unexecuted instantiation: sequence_control_set.c:get_malloc_address_location Unexecuted instantiation: src_ops_process.c:get_malloc_address_location Unexecuted instantiation: super_res.c:get_malloc_address_location Unexecuted instantiation: svt_malloc.c:get_malloc_address_location Unexecuted instantiation: svt_psnr.c:get_malloc_address_location Unexecuted instantiation: sys_resource_manager.c:get_malloc_address_location Unexecuted instantiation: kernel_dispatch.c:get_malloc_address_location Unexecuted instantiation: temporal_filtering.c:get_malloc_address_location Unexecuted instantiation: transforms.c:get_malloc_address_location Unexecuted instantiation: utility.c:get_malloc_address_location Unexecuted instantiation: vector.c:get_malloc_address_location Unexecuted instantiation: warped_motion.c:get_malloc_address_location Unexecuted instantiation: encode_txb_ref_c.c:get_malloc_address_location Unexecuted instantiation: filterintra_c.c:get_malloc_address_location Unexecuted instantiation: sad_av1.c:get_malloc_address_location Unexecuted instantiation: variance.c:get_malloc_address_location Unexecuted instantiation: adaptive_mv_pred.c:get_malloc_address_location Unexecuted instantiation: block_structures.c:get_malloc_address_location Unexecuted instantiation: cdef.c:get_malloc_address_location Unexecuted instantiation: coding_loop.c:get_malloc_address_location Unexecuted instantiation: coding_unit.c:get_malloc_address_location Unexecuted instantiation: deblocking_filter.c:get_malloc_address_location Unexecuted instantiation: enc_dec_segments.c:get_malloc_address_location Unexecuted instantiation: encode_context.c:get_malloc_address_location Unexecuted instantiation: firstpass.c:get_malloc_address_location Unexecuted instantiation: global_me.c:get_malloc_address_location Unexecuted instantiation: global_me_cost.c:get_malloc_address_location Unexecuted instantiation: mcomp.c:get_malloc_address_location Unexecuted instantiation: me_context.c:get_malloc_address_location Unexecuted instantiation: pass2_strategy.c:get_malloc_address_location Unexecuted instantiation: pd_queue.c:get_malloc_address_location Unexecuted instantiation: rc_crf_cqp.c:get_malloc_address_location Unexecuted instantiation: global_motion.c:get_malloc_address_location Unexecuted instantiation: ransac.c:get_malloc_address_location Unexecuted instantiation: enc_warped_motion.c:get_malloc_address_location |
57 | | |
58 | 0 | static inline void set_actual_malloc_address(void* const mem, const void* const malloc_addr) { |
59 | 0 | size_t* const malloc_addr_location = get_malloc_address_location(mem); |
60 | 0 | *malloc_addr_location = (size_t)malloc_addr; |
61 | 0 | } Unexecuted instantiation: enc_handle.c:set_actual_malloc_address Unexecuted instantiation: enc_settings.c:set_actual_malloc_address Unexecuted instantiation: metadata_handle.c:set_actual_malloc_address Unexecuted instantiation: aom_dsp_rtcd.c:set_actual_malloc_address Unexecuted instantiation: av1me.c:set_actual_malloc_address Unexecuted instantiation: bitstream_unit.c:set_actual_malloc_address Unexecuted instantiation: cdef_process.c:set_actual_malloc_address Unexecuted instantiation: common_dsp_rtcd.c:set_actual_malloc_address Unexecuted instantiation: common_utils.c:set_actual_malloc_address Unexecuted instantiation: corner_match.c:set_actual_malloc_address Unexecuted instantiation: deblocking_common.c:set_actual_malloc_address Unexecuted instantiation: dlf_process.c:set_actual_malloc_address Unexecuted instantiation: enc_cdef.c:set_actual_malloc_address Unexecuted instantiation: enc_dec_process.c:set_actual_malloc_address Unexecuted instantiation: enc_dec_results.c:set_actual_malloc_address Unexecuted instantiation: enc_dec_tasks.c:set_actual_malloc_address Unexecuted instantiation: enc_inter_prediction.c:set_actual_malloc_address Unexecuted instantiation: enc_intra_prediction.c:set_actual_malloc_address Unexecuted instantiation: enc_mode_config.c:set_actual_malloc_address Unexecuted instantiation: entropy_coding.c:set_actual_malloc_address Unexecuted instantiation: ec_process.c:set_actual_malloc_address Unexecuted instantiation: ec_results.c:set_actual_malloc_address Unexecuted instantiation: full_loop.c:set_actual_malloc_address Unexecuted instantiation: hash_motion.c:set_actual_malloc_address Unexecuted instantiation: initial_rc_process.c:set_actual_malloc_address Unexecuted instantiation: initial_rc_results.c:set_actual_malloc_address Unexecuted instantiation: inter_prediction.c:set_actual_malloc_address Unexecuted instantiation: intra_prediction.c:set_actual_malloc_address Unexecuted instantiation: inv_transforms.c:set_actual_malloc_address Unexecuted instantiation: md_rate_estimation.c:set_actual_malloc_address Unexecuted instantiation: mode_decision.c:set_actual_malloc_address Unexecuted instantiation: md_config_process.c:set_actual_malloc_address Unexecuted instantiation: md_process.c:set_actual_malloc_address Unexecuted instantiation: motion_estimation.c:set_actual_malloc_address Unexecuted instantiation: me_process.c:set_actual_malloc_address Unexecuted instantiation: me_results.c:set_actual_malloc_address Unexecuted instantiation: neighbor_arrays.c:set_actual_malloc_address Unexecuted instantiation: noise_model.c:set_actual_malloc_address Unexecuted instantiation: noise_util.c:set_actual_malloc_address Unexecuted instantiation: packetization_process.c:set_actual_malloc_address Unexecuted instantiation: packetization_reorder_queue.c:set_actual_malloc_address Unexecuted instantiation: palette.c:set_actual_malloc_address Unexecuted instantiation: pic_analysis_process.c:set_actual_malloc_address Unexecuted instantiation: pic_analysis_results.c:set_actual_malloc_address Unexecuted instantiation: pic_buffer_desc.c:set_actual_malloc_address Unexecuted instantiation: pcs.c:set_actual_malloc_address Unexecuted instantiation: pd_process.c:set_actual_malloc_address Unexecuted instantiation: pd_reorder_queue.c:set_actual_malloc_address Unexecuted instantiation: pd_results.c:set_actual_malloc_address Unexecuted instantiation: pic_demux_results.c:set_actual_malloc_address Unexecuted instantiation: pic_manager_process.c:set_actual_malloc_address Unexecuted instantiation: pic_manager_queue.c:set_actual_malloc_address Unexecuted instantiation: pic_operators.c:set_actual_malloc_address Unexecuted instantiation: pred_structure.c:set_actual_malloc_address Unexecuted instantiation: product_coding_loop.c:set_actual_malloc_address Unexecuted instantiation: ac_bias.c:set_actual_malloc_address Unexecuted instantiation: rc_aq.c:set_actual_malloc_address Unexecuted instantiation: rc_process.c:set_actual_malloc_address Unexecuted instantiation: rc_results.c:set_actual_malloc_address Unexecuted instantiation: rc_rtc_cbr.c:set_actual_malloc_address Unexecuted instantiation: rc_tasks.c:set_actual_malloc_address Unexecuted instantiation: rc_vbr_cbr.c:set_actual_malloc_address Unexecuted instantiation: rd_cost.c:set_actual_malloc_address Unexecuted instantiation: reference_object.c:set_actual_malloc_address Unexecuted instantiation: resize.c:set_actual_malloc_address Unexecuted instantiation: resource_coordination_process.c:set_actual_malloc_address Unexecuted instantiation: resource_coordination_results.c:set_actual_malloc_address Unexecuted instantiation: rest_process.c:set_actual_malloc_address Unexecuted instantiation: restoration.c:set_actual_malloc_address Unexecuted instantiation: restoration_pick.c:set_actual_malloc_address Unexecuted instantiation: segmentation.c:set_actual_malloc_address Unexecuted instantiation: segmentation_params.c:set_actual_malloc_address Unexecuted instantiation: sequence_control_set.c:set_actual_malloc_address Unexecuted instantiation: src_ops_process.c:set_actual_malloc_address Unexecuted instantiation: super_res.c:set_actual_malloc_address Unexecuted instantiation: svt_malloc.c:set_actual_malloc_address Unexecuted instantiation: svt_psnr.c:set_actual_malloc_address Unexecuted instantiation: sys_resource_manager.c:set_actual_malloc_address Unexecuted instantiation: kernel_dispatch.c:set_actual_malloc_address Unexecuted instantiation: temporal_filtering.c:set_actual_malloc_address Unexecuted instantiation: transforms.c:set_actual_malloc_address Unexecuted instantiation: utility.c:set_actual_malloc_address Unexecuted instantiation: vector.c:set_actual_malloc_address Unexecuted instantiation: warped_motion.c:set_actual_malloc_address Unexecuted instantiation: encode_txb_ref_c.c:set_actual_malloc_address Unexecuted instantiation: filterintra_c.c:set_actual_malloc_address Unexecuted instantiation: sad_av1.c:set_actual_malloc_address Unexecuted instantiation: variance.c:set_actual_malloc_address Unexecuted instantiation: adaptive_mv_pred.c:set_actual_malloc_address Unexecuted instantiation: block_structures.c:set_actual_malloc_address Unexecuted instantiation: cdef.c:set_actual_malloc_address Unexecuted instantiation: coding_loop.c:set_actual_malloc_address Unexecuted instantiation: coding_unit.c:set_actual_malloc_address Unexecuted instantiation: deblocking_filter.c:set_actual_malloc_address Unexecuted instantiation: enc_dec_segments.c:set_actual_malloc_address Unexecuted instantiation: encode_context.c:set_actual_malloc_address Unexecuted instantiation: firstpass.c:set_actual_malloc_address Unexecuted instantiation: global_me.c:set_actual_malloc_address Unexecuted instantiation: global_me_cost.c:set_actual_malloc_address Unexecuted instantiation: mcomp.c:set_actual_malloc_address Unexecuted instantiation: me_context.c:set_actual_malloc_address Unexecuted instantiation: pass2_strategy.c:set_actual_malloc_address Unexecuted instantiation: pd_queue.c:set_actual_malloc_address Unexecuted instantiation: rc_crf_cqp.c:set_actual_malloc_address Unexecuted instantiation: global_motion.c:set_actual_malloc_address Unexecuted instantiation: ransac.c:set_actual_malloc_address Unexecuted instantiation: enc_warped_motion.c:set_actual_malloc_address |
62 | | |
63 | 0 | static inline void* get_actual_malloc_address(void* const mem) { |
64 | 0 | const size_t* const malloc_addr_location = get_malloc_address_location(mem); |
65 | 0 | return (void*)(*malloc_addr_location); |
66 | 0 | } Unexecuted instantiation: enc_handle.c:get_actual_malloc_address Unexecuted instantiation: enc_settings.c:get_actual_malloc_address Unexecuted instantiation: metadata_handle.c:get_actual_malloc_address Unexecuted instantiation: aom_dsp_rtcd.c:get_actual_malloc_address Unexecuted instantiation: av1me.c:get_actual_malloc_address Unexecuted instantiation: bitstream_unit.c:get_actual_malloc_address Unexecuted instantiation: cdef_process.c:get_actual_malloc_address Unexecuted instantiation: common_dsp_rtcd.c:get_actual_malloc_address Unexecuted instantiation: common_utils.c:get_actual_malloc_address Unexecuted instantiation: corner_match.c:get_actual_malloc_address Unexecuted instantiation: deblocking_common.c:get_actual_malloc_address Unexecuted instantiation: dlf_process.c:get_actual_malloc_address Unexecuted instantiation: enc_cdef.c:get_actual_malloc_address Unexecuted instantiation: enc_dec_process.c:get_actual_malloc_address Unexecuted instantiation: enc_dec_results.c:get_actual_malloc_address Unexecuted instantiation: enc_dec_tasks.c:get_actual_malloc_address Unexecuted instantiation: enc_inter_prediction.c:get_actual_malloc_address Unexecuted instantiation: enc_intra_prediction.c:get_actual_malloc_address Unexecuted instantiation: enc_mode_config.c:get_actual_malloc_address Unexecuted instantiation: entropy_coding.c:get_actual_malloc_address Unexecuted instantiation: ec_process.c:get_actual_malloc_address Unexecuted instantiation: ec_results.c:get_actual_malloc_address Unexecuted instantiation: full_loop.c:get_actual_malloc_address Unexecuted instantiation: hash_motion.c:get_actual_malloc_address Unexecuted instantiation: initial_rc_process.c:get_actual_malloc_address Unexecuted instantiation: initial_rc_results.c:get_actual_malloc_address Unexecuted instantiation: inter_prediction.c:get_actual_malloc_address Unexecuted instantiation: intra_prediction.c:get_actual_malloc_address Unexecuted instantiation: inv_transforms.c:get_actual_malloc_address Unexecuted instantiation: md_rate_estimation.c:get_actual_malloc_address Unexecuted instantiation: mode_decision.c:get_actual_malloc_address Unexecuted instantiation: md_config_process.c:get_actual_malloc_address Unexecuted instantiation: md_process.c:get_actual_malloc_address Unexecuted instantiation: motion_estimation.c:get_actual_malloc_address Unexecuted instantiation: me_process.c:get_actual_malloc_address Unexecuted instantiation: me_results.c:get_actual_malloc_address Unexecuted instantiation: neighbor_arrays.c:get_actual_malloc_address Unexecuted instantiation: noise_model.c:get_actual_malloc_address Unexecuted instantiation: noise_util.c:get_actual_malloc_address Unexecuted instantiation: packetization_process.c:get_actual_malloc_address Unexecuted instantiation: packetization_reorder_queue.c:get_actual_malloc_address Unexecuted instantiation: palette.c:get_actual_malloc_address Unexecuted instantiation: pic_analysis_process.c:get_actual_malloc_address Unexecuted instantiation: pic_analysis_results.c:get_actual_malloc_address Unexecuted instantiation: pic_buffer_desc.c:get_actual_malloc_address Unexecuted instantiation: pcs.c:get_actual_malloc_address Unexecuted instantiation: pd_process.c:get_actual_malloc_address Unexecuted instantiation: pd_reorder_queue.c:get_actual_malloc_address Unexecuted instantiation: pd_results.c:get_actual_malloc_address Unexecuted instantiation: pic_demux_results.c:get_actual_malloc_address Unexecuted instantiation: pic_manager_process.c:get_actual_malloc_address Unexecuted instantiation: pic_manager_queue.c:get_actual_malloc_address Unexecuted instantiation: pic_operators.c:get_actual_malloc_address Unexecuted instantiation: pred_structure.c:get_actual_malloc_address Unexecuted instantiation: product_coding_loop.c:get_actual_malloc_address Unexecuted instantiation: ac_bias.c:get_actual_malloc_address Unexecuted instantiation: rc_aq.c:get_actual_malloc_address Unexecuted instantiation: rc_process.c:get_actual_malloc_address Unexecuted instantiation: rc_results.c:get_actual_malloc_address Unexecuted instantiation: rc_rtc_cbr.c:get_actual_malloc_address Unexecuted instantiation: rc_tasks.c:get_actual_malloc_address Unexecuted instantiation: rc_vbr_cbr.c:get_actual_malloc_address Unexecuted instantiation: rd_cost.c:get_actual_malloc_address Unexecuted instantiation: reference_object.c:get_actual_malloc_address Unexecuted instantiation: resize.c:get_actual_malloc_address Unexecuted instantiation: resource_coordination_process.c:get_actual_malloc_address Unexecuted instantiation: resource_coordination_results.c:get_actual_malloc_address Unexecuted instantiation: rest_process.c:get_actual_malloc_address Unexecuted instantiation: restoration.c:get_actual_malloc_address Unexecuted instantiation: restoration_pick.c:get_actual_malloc_address Unexecuted instantiation: segmentation.c:get_actual_malloc_address Unexecuted instantiation: segmentation_params.c:get_actual_malloc_address Unexecuted instantiation: sequence_control_set.c:get_actual_malloc_address Unexecuted instantiation: src_ops_process.c:get_actual_malloc_address Unexecuted instantiation: super_res.c:get_actual_malloc_address Unexecuted instantiation: svt_malloc.c:get_actual_malloc_address Unexecuted instantiation: svt_psnr.c:get_actual_malloc_address Unexecuted instantiation: sys_resource_manager.c:get_actual_malloc_address Unexecuted instantiation: kernel_dispatch.c:get_actual_malloc_address Unexecuted instantiation: temporal_filtering.c:get_actual_malloc_address Unexecuted instantiation: transforms.c:get_actual_malloc_address Unexecuted instantiation: utility.c:get_actual_malloc_address Unexecuted instantiation: vector.c:get_actual_malloc_address Unexecuted instantiation: warped_motion.c:get_actual_malloc_address Unexecuted instantiation: encode_txb_ref_c.c:get_actual_malloc_address Unexecuted instantiation: filterintra_c.c:get_actual_malloc_address Unexecuted instantiation: sad_av1.c:get_actual_malloc_address Unexecuted instantiation: variance.c:get_actual_malloc_address Unexecuted instantiation: adaptive_mv_pred.c:get_actual_malloc_address Unexecuted instantiation: block_structures.c:get_actual_malloc_address Unexecuted instantiation: cdef.c:get_actual_malloc_address Unexecuted instantiation: coding_loop.c:get_actual_malloc_address Unexecuted instantiation: coding_unit.c:get_actual_malloc_address Unexecuted instantiation: deblocking_filter.c:get_actual_malloc_address Unexecuted instantiation: enc_dec_segments.c:get_actual_malloc_address Unexecuted instantiation: encode_context.c:get_actual_malloc_address Unexecuted instantiation: firstpass.c:get_actual_malloc_address Unexecuted instantiation: global_me.c:get_actual_malloc_address Unexecuted instantiation: global_me_cost.c:get_actual_malloc_address Unexecuted instantiation: mcomp.c:get_actual_malloc_address Unexecuted instantiation: me_context.c:get_actual_malloc_address Unexecuted instantiation: pass2_strategy.c:get_actual_malloc_address Unexecuted instantiation: pd_queue.c:get_actual_malloc_address Unexecuted instantiation: rc_crf_cqp.c:get_actual_malloc_address Unexecuted instantiation: global_motion.c:get_actual_malloc_address Unexecuted instantiation: ransac.c:get_actual_malloc_address Unexecuted instantiation: enc_warped_motion.c:get_actual_malloc_address |
67 | | |
68 | 0 | static inline void* svt_aom_memalign(size_t align, size_t size) { |
69 | 0 | void* x = NULL; |
70 | 0 | const size_t aligned_size = get_aligned_malloc_size(size, align); |
71 | 0 | #if defined(AOM_MAX_ALLOCABLE_MEMORY) |
72 | 0 | if (!check_size_argument_overflow(1, aligned_size)) { |
73 | 0 | return NULL; |
74 | 0 | } |
75 | 0 | #endif |
76 | 0 | void* const addr = malloc(aligned_size); |
77 | 0 | if (addr) { |
78 | 0 | x = align_addr((uint8_t*)addr + ADDRESS_STORAGE_SIZE, align); |
79 | 0 | set_actual_malloc_address(x, addr); |
80 | 0 | } |
81 | 0 | return x; |
82 | 0 | } Unexecuted instantiation: enc_handle.c:svt_aom_memalign Unexecuted instantiation: enc_settings.c:svt_aom_memalign Unexecuted instantiation: metadata_handle.c:svt_aom_memalign Unexecuted instantiation: aom_dsp_rtcd.c:svt_aom_memalign Unexecuted instantiation: av1me.c:svt_aom_memalign Unexecuted instantiation: bitstream_unit.c:svt_aom_memalign Unexecuted instantiation: cdef_process.c:svt_aom_memalign Unexecuted instantiation: common_dsp_rtcd.c:svt_aom_memalign Unexecuted instantiation: common_utils.c:svt_aom_memalign Unexecuted instantiation: corner_match.c:svt_aom_memalign Unexecuted instantiation: deblocking_common.c:svt_aom_memalign Unexecuted instantiation: dlf_process.c:svt_aom_memalign Unexecuted instantiation: enc_cdef.c:svt_aom_memalign Unexecuted instantiation: enc_dec_process.c:svt_aom_memalign Unexecuted instantiation: enc_dec_results.c:svt_aom_memalign Unexecuted instantiation: enc_dec_tasks.c:svt_aom_memalign Unexecuted instantiation: enc_inter_prediction.c:svt_aom_memalign Unexecuted instantiation: enc_intra_prediction.c:svt_aom_memalign Unexecuted instantiation: enc_mode_config.c:svt_aom_memalign Unexecuted instantiation: entropy_coding.c:svt_aom_memalign Unexecuted instantiation: ec_process.c:svt_aom_memalign Unexecuted instantiation: ec_results.c:svt_aom_memalign Unexecuted instantiation: full_loop.c:svt_aom_memalign Unexecuted instantiation: hash_motion.c:svt_aom_memalign Unexecuted instantiation: initial_rc_process.c:svt_aom_memalign Unexecuted instantiation: initial_rc_results.c:svt_aom_memalign Unexecuted instantiation: inter_prediction.c:svt_aom_memalign Unexecuted instantiation: intra_prediction.c:svt_aom_memalign Unexecuted instantiation: inv_transforms.c:svt_aom_memalign Unexecuted instantiation: md_rate_estimation.c:svt_aom_memalign Unexecuted instantiation: mode_decision.c:svt_aom_memalign Unexecuted instantiation: md_config_process.c:svt_aom_memalign Unexecuted instantiation: md_process.c:svt_aom_memalign Unexecuted instantiation: motion_estimation.c:svt_aom_memalign Unexecuted instantiation: me_process.c:svt_aom_memalign Unexecuted instantiation: me_results.c:svt_aom_memalign Unexecuted instantiation: neighbor_arrays.c:svt_aom_memalign Unexecuted instantiation: noise_model.c:svt_aom_memalign Unexecuted instantiation: noise_util.c:svt_aom_memalign Unexecuted instantiation: packetization_process.c:svt_aom_memalign Unexecuted instantiation: packetization_reorder_queue.c:svt_aom_memalign Unexecuted instantiation: palette.c:svt_aom_memalign Unexecuted instantiation: pic_analysis_process.c:svt_aom_memalign Unexecuted instantiation: pic_analysis_results.c:svt_aom_memalign Unexecuted instantiation: pic_buffer_desc.c:svt_aom_memalign Unexecuted instantiation: pcs.c:svt_aom_memalign Unexecuted instantiation: pd_process.c:svt_aom_memalign Unexecuted instantiation: pd_reorder_queue.c:svt_aom_memalign Unexecuted instantiation: pd_results.c:svt_aom_memalign Unexecuted instantiation: pic_demux_results.c:svt_aom_memalign Unexecuted instantiation: pic_manager_process.c:svt_aom_memalign Unexecuted instantiation: pic_manager_queue.c:svt_aom_memalign Unexecuted instantiation: pic_operators.c:svt_aom_memalign Unexecuted instantiation: pred_structure.c:svt_aom_memalign Unexecuted instantiation: product_coding_loop.c:svt_aom_memalign Unexecuted instantiation: ac_bias.c:svt_aom_memalign Unexecuted instantiation: rc_aq.c:svt_aom_memalign Unexecuted instantiation: rc_process.c:svt_aom_memalign Unexecuted instantiation: rc_results.c:svt_aom_memalign Unexecuted instantiation: rc_rtc_cbr.c:svt_aom_memalign Unexecuted instantiation: rc_tasks.c:svt_aom_memalign Unexecuted instantiation: rc_vbr_cbr.c:svt_aom_memalign Unexecuted instantiation: rd_cost.c:svt_aom_memalign Unexecuted instantiation: reference_object.c:svt_aom_memalign Unexecuted instantiation: resize.c:svt_aom_memalign Unexecuted instantiation: resource_coordination_process.c:svt_aom_memalign Unexecuted instantiation: resource_coordination_results.c:svt_aom_memalign Unexecuted instantiation: rest_process.c:svt_aom_memalign Unexecuted instantiation: restoration.c:svt_aom_memalign Unexecuted instantiation: restoration_pick.c:svt_aom_memalign Unexecuted instantiation: segmentation.c:svt_aom_memalign Unexecuted instantiation: segmentation_params.c:svt_aom_memalign Unexecuted instantiation: sequence_control_set.c:svt_aom_memalign Unexecuted instantiation: src_ops_process.c:svt_aom_memalign Unexecuted instantiation: super_res.c:svt_aom_memalign Unexecuted instantiation: svt_malloc.c:svt_aom_memalign Unexecuted instantiation: svt_psnr.c:svt_aom_memalign Unexecuted instantiation: sys_resource_manager.c:svt_aom_memalign Unexecuted instantiation: kernel_dispatch.c:svt_aom_memalign Unexecuted instantiation: temporal_filtering.c:svt_aom_memalign Unexecuted instantiation: transforms.c:svt_aom_memalign Unexecuted instantiation: utility.c:svt_aom_memalign Unexecuted instantiation: vector.c:svt_aom_memalign Unexecuted instantiation: warped_motion.c:svt_aom_memalign Unexecuted instantiation: encode_txb_ref_c.c:svt_aom_memalign Unexecuted instantiation: filterintra_c.c:svt_aom_memalign Unexecuted instantiation: sad_av1.c:svt_aom_memalign Unexecuted instantiation: variance.c:svt_aom_memalign Unexecuted instantiation: adaptive_mv_pred.c:svt_aom_memalign Unexecuted instantiation: block_structures.c:svt_aom_memalign Unexecuted instantiation: cdef.c:svt_aom_memalign Unexecuted instantiation: coding_loop.c:svt_aom_memalign Unexecuted instantiation: coding_unit.c:svt_aom_memalign Unexecuted instantiation: deblocking_filter.c:svt_aom_memalign Unexecuted instantiation: enc_dec_segments.c:svt_aom_memalign Unexecuted instantiation: encode_context.c:svt_aom_memalign Unexecuted instantiation: firstpass.c:svt_aom_memalign Unexecuted instantiation: global_me.c:svt_aom_memalign Unexecuted instantiation: global_me_cost.c:svt_aom_memalign Unexecuted instantiation: mcomp.c:svt_aom_memalign Unexecuted instantiation: me_context.c:svt_aom_memalign Unexecuted instantiation: pass2_strategy.c:svt_aom_memalign Unexecuted instantiation: pd_queue.c:svt_aom_memalign Unexecuted instantiation: rc_crf_cqp.c:svt_aom_memalign Unexecuted instantiation: global_motion.c:svt_aom_memalign Unexecuted instantiation: ransac.c:svt_aom_memalign Unexecuted instantiation: enc_warped_motion.c:svt_aom_memalign |
83 | | |
84 | 0 | static inline void* svt_aom_malloc(size_t size) { |
85 | 0 | return svt_aom_memalign(DEFAULT_ALIGNMENT, size); |
86 | 0 | } Unexecuted instantiation: enc_handle.c:svt_aom_malloc Unexecuted instantiation: enc_settings.c:svt_aom_malloc Unexecuted instantiation: metadata_handle.c:svt_aom_malloc Unexecuted instantiation: aom_dsp_rtcd.c:svt_aom_malloc Unexecuted instantiation: av1me.c:svt_aom_malloc Unexecuted instantiation: bitstream_unit.c:svt_aom_malloc Unexecuted instantiation: cdef_process.c:svt_aom_malloc Unexecuted instantiation: common_dsp_rtcd.c:svt_aom_malloc Unexecuted instantiation: common_utils.c:svt_aom_malloc Unexecuted instantiation: corner_match.c:svt_aom_malloc Unexecuted instantiation: deblocking_common.c:svt_aom_malloc Unexecuted instantiation: dlf_process.c:svt_aom_malloc Unexecuted instantiation: enc_cdef.c:svt_aom_malloc Unexecuted instantiation: enc_dec_process.c:svt_aom_malloc Unexecuted instantiation: enc_dec_results.c:svt_aom_malloc Unexecuted instantiation: enc_dec_tasks.c:svt_aom_malloc Unexecuted instantiation: enc_inter_prediction.c:svt_aom_malloc Unexecuted instantiation: enc_intra_prediction.c:svt_aom_malloc Unexecuted instantiation: enc_mode_config.c:svt_aom_malloc Unexecuted instantiation: entropy_coding.c:svt_aom_malloc Unexecuted instantiation: ec_process.c:svt_aom_malloc Unexecuted instantiation: ec_results.c:svt_aom_malloc Unexecuted instantiation: full_loop.c:svt_aom_malloc Unexecuted instantiation: hash_motion.c:svt_aom_malloc Unexecuted instantiation: initial_rc_process.c:svt_aom_malloc Unexecuted instantiation: initial_rc_results.c:svt_aom_malloc Unexecuted instantiation: inter_prediction.c:svt_aom_malloc Unexecuted instantiation: intra_prediction.c:svt_aom_malloc Unexecuted instantiation: inv_transforms.c:svt_aom_malloc Unexecuted instantiation: md_rate_estimation.c:svt_aom_malloc Unexecuted instantiation: mode_decision.c:svt_aom_malloc Unexecuted instantiation: md_config_process.c:svt_aom_malloc Unexecuted instantiation: md_process.c:svt_aom_malloc Unexecuted instantiation: motion_estimation.c:svt_aom_malloc Unexecuted instantiation: me_process.c:svt_aom_malloc Unexecuted instantiation: me_results.c:svt_aom_malloc Unexecuted instantiation: neighbor_arrays.c:svt_aom_malloc Unexecuted instantiation: noise_model.c:svt_aom_malloc Unexecuted instantiation: noise_util.c:svt_aom_malloc Unexecuted instantiation: packetization_process.c:svt_aom_malloc Unexecuted instantiation: packetization_reorder_queue.c:svt_aom_malloc Unexecuted instantiation: palette.c:svt_aom_malloc Unexecuted instantiation: pic_analysis_process.c:svt_aom_malloc Unexecuted instantiation: pic_analysis_results.c:svt_aom_malloc Unexecuted instantiation: pic_buffer_desc.c:svt_aom_malloc Unexecuted instantiation: pcs.c:svt_aom_malloc Unexecuted instantiation: pd_process.c:svt_aom_malloc Unexecuted instantiation: pd_reorder_queue.c:svt_aom_malloc Unexecuted instantiation: pd_results.c:svt_aom_malloc Unexecuted instantiation: pic_demux_results.c:svt_aom_malloc Unexecuted instantiation: pic_manager_process.c:svt_aom_malloc Unexecuted instantiation: pic_manager_queue.c:svt_aom_malloc Unexecuted instantiation: pic_operators.c:svt_aom_malloc Unexecuted instantiation: pred_structure.c:svt_aom_malloc Unexecuted instantiation: product_coding_loop.c:svt_aom_malloc Unexecuted instantiation: ac_bias.c:svt_aom_malloc Unexecuted instantiation: rc_aq.c:svt_aom_malloc Unexecuted instantiation: rc_process.c:svt_aom_malloc Unexecuted instantiation: rc_results.c:svt_aom_malloc Unexecuted instantiation: rc_rtc_cbr.c:svt_aom_malloc Unexecuted instantiation: rc_tasks.c:svt_aom_malloc Unexecuted instantiation: rc_vbr_cbr.c:svt_aom_malloc Unexecuted instantiation: rd_cost.c:svt_aom_malloc Unexecuted instantiation: reference_object.c:svt_aom_malloc Unexecuted instantiation: resize.c:svt_aom_malloc Unexecuted instantiation: resource_coordination_process.c:svt_aom_malloc Unexecuted instantiation: resource_coordination_results.c:svt_aom_malloc Unexecuted instantiation: rest_process.c:svt_aom_malloc Unexecuted instantiation: restoration.c:svt_aom_malloc Unexecuted instantiation: restoration_pick.c:svt_aom_malloc Unexecuted instantiation: segmentation.c:svt_aom_malloc Unexecuted instantiation: segmentation_params.c:svt_aom_malloc Unexecuted instantiation: sequence_control_set.c:svt_aom_malloc Unexecuted instantiation: src_ops_process.c:svt_aom_malloc Unexecuted instantiation: super_res.c:svt_aom_malloc Unexecuted instantiation: svt_malloc.c:svt_aom_malloc Unexecuted instantiation: svt_psnr.c:svt_aom_malloc Unexecuted instantiation: sys_resource_manager.c:svt_aom_malloc Unexecuted instantiation: kernel_dispatch.c:svt_aom_malloc Unexecuted instantiation: temporal_filtering.c:svt_aom_malloc Unexecuted instantiation: transforms.c:svt_aom_malloc Unexecuted instantiation: utility.c:svt_aom_malloc Unexecuted instantiation: vector.c:svt_aom_malloc Unexecuted instantiation: warped_motion.c:svt_aom_malloc Unexecuted instantiation: encode_txb_ref_c.c:svt_aom_malloc Unexecuted instantiation: filterintra_c.c:svt_aom_malloc Unexecuted instantiation: sad_av1.c:svt_aom_malloc Unexecuted instantiation: variance.c:svt_aom_malloc Unexecuted instantiation: adaptive_mv_pred.c:svt_aom_malloc Unexecuted instantiation: block_structures.c:svt_aom_malloc Unexecuted instantiation: cdef.c:svt_aom_malloc Unexecuted instantiation: coding_loop.c:svt_aom_malloc Unexecuted instantiation: coding_unit.c:svt_aom_malloc Unexecuted instantiation: deblocking_filter.c:svt_aom_malloc Unexecuted instantiation: enc_dec_segments.c:svt_aom_malloc Unexecuted instantiation: encode_context.c:svt_aom_malloc Unexecuted instantiation: firstpass.c:svt_aom_malloc Unexecuted instantiation: global_me.c:svt_aom_malloc Unexecuted instantiation: global_me_cost.c:svt_aom_malloc Unexecuted instantiation: mcomp.c:svt_aom_malloc Unexecuted instantiation: me_context.c:svt_aom_malloc Unexecuted instantiation: pass2_strategy.c:svt_aom_malloc Unexecuted instantiation: pd_queue.c:svt_aom_malloc Unexecuted instantiation: rc_crf_cqp.c:svt_aom_malloc Unexecuted instantiation: global_motion.c:svt_aom_malloc Unexecuted instantiation: ransac.c:svt_aom_malloc Unexecuted instantiation: enc_warped_motion.c:svt_aom_malloc |
87 | | |
88 | 0 | static inline void svt_aom_free(void* memblk) { |
89 | 0 | if (memblk) { |
90 | 0 | void* addr = get_actual_malloc_address(memblk); |
91 | 0 | free(addr); |
92 | 0 | } |
93 | 0 | } Unexecuted instantiation: enc_handle.c:svt_aom_free Unexecuted instantiation: enc_settings.c:svt_aom_free Unexecuted instantiation: metadata_handle.c:svt_aom_free Unexecuted instantiation: aom_dsp_rtcd.c:svt_aom_free Unexecuted instantiation: av1me.c:svt_aom_free Unexecuted instantiation: bitstream_unit.c:svt_aom_free Unexecuted instantiation: cdef_process.c:svt_aom_free Unexecuted instantiation: common_dsp_rtcd.c:svt_aom_free Unexecuted instantiation: common_utils.c:svt_aom_free Unexecuted instantiation: corner_match.c:svt_aom_free Unexecuted instantiation: deblocking_common.c:svt_aom_free Unexecuted instantiation: dlf_process.c:svt_aom_free Unexecuted instantiation: enc_cdef.c:svt_aom_free Unexecuted instantiation: enc_dec_process.c:svt_aom_free Unexecuted instantiation: enc_dec_results.c:svt_aom_free Unexecuted instantiation: enc_dec_tasks.c:svt_aom_free Unexecuted instantiation: enc_inter_prediction.c:svt_aom_free Unexecuted instantiation: enc_intra_prediction.c:svt_aom_free Unexecuted instantiation: enc_mode_config.c:svt_aom_free Unexecuted instantiation: entropy_coding.c:svt_aom_free Unexecuted instantiation: ec_process.c:svt_aom_free Unexecuted instantiation: ec_results.c:svt_aom_free Unexecuted instantiation: full_loop.c:svt_aom_free Unexecuted instantiation: hash_motion.c:svt_aom_free Unexecuted instantiation: initial_rc_process.c:svt_aom_free Unexecuted instantiation: initial_rc_results.c:svt_aom_free Unexecuted instantiation: inter_prediction.c:svt_aom_free Unexecuted instantiation: intra_prediction.c:svt_aom_free Unexecuted instantiation: inv_transforms.c:svt_aom_free Unexecuted instantiation: md_rate_estimation.c:svt_aom_free Unexecuted instantiation: mode_decision.c:svt_aom_free Unexecuted instantiation: md_config_process.c:svt_aom_free Unexecuted instantiation: md_process.c:svt_aom_free Unexecuted instantiation: motion_estimation.c:svt_aom_free Unexecuted instantiation: me_process.c:svt_aom_free Unexecuted instantiation: me_results.c:svt_aom_free Unexecuted instantiation: neighbor_arrays.c:svt_aom_free Unexecuted instantiation: noise_model.c:svt_aom_free Unexecuted instantiation: noise_util.c:svt_aom_free Unexecuted instantiation: packetization_process.c:svt_aom_free Unexecuted instantiation: packetization_reorder_queue.c:svt_aom_free Unexecuted instantiation: palette.c:svt_aom_free Unexecuted instantiation: pic_analysis_process.c:svt_aom_free Unexecuted instantiation: pic_analysis_results.c:svt_aom_free Unexecuted instantiation: pic_buffer_desc.c:svt_aom_free Unexecuted instantiation: pcs.c:svt_aom_free Unexecuted instantiation: pd_process.c:svt_aom_free Unexecuted instantiation: pd_reorder_queue.c:svt_aom_free Unexecuted instantiation: pd_results.c:svt_aom_free Unexecuted instantiation: pic_demux_results.c:svt_aom_free Unexecuted instantiation: pic_manager_process.c:svt_aom_free Unexecuted instantiation: pic_manager_queue.c:svt_aom_free Unexecuted instantiation: pic_operators.c:svt_aom_free Unexecuted instantiation: pred_structure.c:svt_aom_free Unexecuted instantiation: product_coding_loop.c:svt_aom_free Unexecuted instantiation: ac_bias.c:svt_aom_free Unexecuted instantiation: rc_aq.c:svt_aom_free Unexecuted instantiation: rc_process.c:svt_aom_free Unexecuted instantiation: rc_results.c:svt_aom_free Unexecuted instantiation: rc_rtc_cbr.c:svt_aom_free Unexecuted instantiation: rc_tasks.c:svt_aom_free Unexecuted instantiation: rc_vbr_cbr.c:svt_aom_free Unexecuted instantiation: rd_cost.c:svt_aom_free Unexecuted instantiation: reference_object.c:svt_aom_free Unexecuted instantiation: resize.c:svt_aom_free Unexecuted instantiation: resource_coordination_process.c:svt_aom_free Unexecuted instantiation: resource_coordination_results.c:svt_aom_free Unexecuted instantiation: rest_process.c:svt_aom_free Unexecuted instantiation: restoration.c:svt_aom_free Unexecuted instantiation: restoration_pick.c:svt_aom_free Unexecuted instantiation: segmentation.c:svt_aom_free Unexecuted instantiation: segmentation_params.c:svt_aom_free Unexecuted instantiation: sequence_control_set.c:svt_aom_free Unexecuted instantiation: src_ops_process.c:svt_aom_free Unexecuted instantiation: super_res.c:svt_aom_free Unexecuted instantiation: svt_malloc.c:svt_aom_free Unexecuted instantiation: svt_psnr.c:svt_aom_free Unexecuted instantiation: sys_resource_manager.c:svt_aom_free Unexecuted instantiation: kernel_dispatch.c:svt_aom_free Unexecuted instantiation: temporal_filtering.c:svt_aom_free Unexecuted instantiation: transforms.c:svt_aom_free Unexecuted instantiation: utility.c:svt_aom_free Unexecuted instantiation: vector.c:svt_aom_free Unexecuted instantiation: warped_motion.c:svt_aom_free Unexecuted instantiation: encode_txb_ref_c.c:svt_aom_free Unexecuted instantiation: filterintra_c.c:svt_aom_free Unexecuted instantiation: sad_av1.c:svt_aom_free Unexecuted instantiation: variance.c:svt_aom_free Unexecuted instantiation: adaptive_mv_pred.c:svt_aom_free Unexecuted instantiation: block_structures.c:svt_aom_free Unexecuted instantiation: cdef.c:svt_aom_free Unexecuted instantiation: coding_loop.c:svt_aom_free Unexecuted instantiation: coding_unit.c:svt_aom_free Unexecuted instantiation: deblocking_filter.c:svt_aom_free Unexecuted instantiation: enc_dec_segments.c:svt_aom_free Unexecuted instantiation: encode_context.c:svt_aom_free Unexecuted instantiation: firstpass.c:svt_aom_free Unexecuted instantiation: global_me.c:svt_aom_free Unexecuted instantiation: global_me_cost.c:svt_aom_free Unexecuted instantiation: mcomp.c:svt_aom_free Unexecuted instantiation: me_context.c:svt_aom_free Unexecuted instantiation: pass2_strategy.c:svt_aom_free Unexecuted instantiation: pd_queue.c:svt_aom_free Unexecuted instantiation: rc_crf_cqp.c:svt_aom_free Unexecuted instantiation: global_motion.c:svt_aom_free Unexecuted instantiation: ransac.c:svt_aom_free Unexecuted instantiation: enc_warped_motion.c:svt_aom_free |
94 | | |
95 | 0 | static inline void* svt_aom_memset16(void* dest, int32_t val, size_t length) { |
96 | 0 | size_t i; |
97 | 0 | uint16_t* dest16 = (uint16_t*)dest; |
98 | 0 | for (i = 0; i < length; i++) { |
99 | 0 | *dest16++ = (uint16_t)val; |
100 | 0 | } |
101 | 0 | return dest; |
102 | 0 | } Unexecuted instantiation: enc_handle.c:svt_aom_memset16 Unexecuted instantiation: enc_settings.c:svt_aom_memset16 Unexecuted instantiation: metadata_handle.c:svt_aom_memset16 Unexecuted instantiation: aom_dsp_rtcd.c:svt_aom_memset16 Unexecuted instantiation: av1me.c:svt_aom_memset16 Unexecuted instantiation: bitstream_unit.c:svt_aom_memset16 Unexecuted instantiation: cdef_process.c:svt_aom_memset16 Unexecuted instantiation: common_dsp_rtcd.c:svt_aom_memset16 Unexecuted instantiation: common_utils.c:svt_aom_memset16 Unexecuted instantiation: corner_match.c:svt_aom_memset16 Unexecuted instantiation: deblocking_common.c:svt_aom_memset16 Unexecuted instantiation: dlf_process.c:svt_aom_memset16 Unexecuted instantiation: enc_cdef.c:svt_aom_memset16 Unexecuted instantiation: enc_dec_process.c:svt_aom_memset16 Unexecuted instantiation: enc_dec_results.c:svt_aom_memset16 Unexecuted instantiation: enc_dec_tasks.c:svt_aom_memset16 Unexecuted instantiation: enc_inter_prediction.c:svt_aom_memset16 Unexecuted instantiation: enc_intra_prediction.c:svt_aom_memset16 Unexecuted instantiation: enc_mode_config.c:svt_aom_memset16 Unexecuted instantiation: entropy_coding.c:svt_aom_memset16 Unexecuted instantiation: ec_process.c:svt_aom_memset16 Unexecuted instantiation: ec_results.c:svt_aom_memset16 Unexecuted instantiation: full_loop.c:svt_aom_memset16 Unexecuted instantiation: hash_motion.c:svt_aom_memset16 Unexecuted instantiation: initial_rc_process.c:svt_aom_memset16 Unexecuted instantiation: initial_rc_results.c:svt_aom_memset16 Unexecuted instantiation: inter_prediction.c:svt_aom_memset16 Unexecuted instantiation: intra_prediction.c:svt_aom_memset16 Unexecuted instantiation: inv_transforms.c:svt_aom_memset16 Unexecuted instantiation: md_rate_estimation.c:svt_aom_memset16 Unexecuted instantiation: mode_decision.c:svt_aom_memset16 Unexecuted instantiation: md_config_process.c:svt_aom_memset16 Unexecuted instantiation: md_process.c:svt_aom_memset16 Unexecuted instantiation: motion_estimation.c:svt_aom_memset16 Unexecuted instantiation: me_process.c:svt_aom_memset16 Unexecuted instantiation: me_results.c:svt_aom_memset16 Unexecuted instantiation: neighbor_arrays.c:svt_aom_memset16 Unexecuted instantiation: noise_model.c:svt_aom_memset16 Unexecuted instantiation: noise_util.c:svt_aom_memset16 Unexecuted instantiation: packetization_process.c:svt_aom_memset16 Unexecuted instantiation: packetization_reorder_queue.c:svt_aom_memset16 Unexecuted instantiation: palette.c:svt_aom_memset16 Unexecuted instantiation: pic_analysis_process.c:svt_aom_memset16 Unexecuted instantiation: pic_analysis_results.c:svt_aom_memset16 Unexecuted instantiation: pic_buffer_desc.c:svt_aom_memset16 Unexecuted instantiation: pcs.c:svt_aom_memset16 Unexecuted instantiation: pd_process.c:svt_aom_memset16 Unexecuted instantiation: pd_reorder_queue.c:svt_aom_memset16 Unexecuted instantiation: pd_results.c:svt_aom_memset16 Unexecuted instantiation: pic_demux_results.c:svt_aom_memset16 Unexecuted instantiation: pic_manager_process.c:svt_aom_memset16 Unexecuted instantiation: pic_manager_queue.c:svt_aom_memset16 Unexecuted instantiation: pic_operators.c:svt_aom_memset16 Unexecuted instantiation: pred_structure.c:svt_aom_memset16 Unexecuted instantiation: product_coding_loop.c:svt_aom_memset16 Unexecuted instantiation: ac_bias.c:svt_aom_memset16 Unexecuted instantiation: rc_aq.c:svt_aom_memset16 Unexecuted instantiation: rc_process.c:svt_aom_memset16 Unexecuted instantiation: rc_results.c:svt_aom_memset16 Unexecuted instantiation: rc_rtc_cbr.c:svt_aom_memset16 Unexecuted instantiation: rc_tasks.c:svt_aom_memset16 Unexecuted instantiation: rc_vbr_cbr.c:svt_aom_memset16 Unexecuted instantiation: rd_cost.c:svt_aom_memset16 Unexecuted instantiation: reference_object.c:svt_aom_memset16 Unexecuted instantiation: resize.c:svt_aom_memset16 Unexecuted instantiation: resource_coordination_process.c:svt_aom_memset16 Unexecuted instantiation: resource_coordination_results.c:svt_aom_memset16 Unexecuted instantiation: rest_process.c:svt_aom_memset16 Unexecuted instantiation: restoration.c:svt_aom_memset16 Unexecuted instantiation: restoration_pick.c:svt_aom_memset16 Unexecuted instantiation: segmentation.c:svt_aom_memset16 Unexecuted instantiation: segmentation_params.c:svt_aom_memset16 Unexecuted instantiation: sequence_control_set.c:svt_aom_memset16 Unexecuted instantiation: src_ops_process.c:svt_aom_memset16 Unexecuted instantiation: super_res.c:svt_aom_memset16 Unexecuted instantiation: svt_malloc.c:svt_aom_memset16 Unexecuted instantiation: svt_psnr.c:svt_aom_memset16 Unexecuted instantiation: sys_resource_manager.c:svt_aom_memset16 Unexecuted instantiation: kernel_dispatch.c:svt_aom_memset16 Unexecuted instantiation: temporal_filtering.c:svt_aom_memset16 Unexecuted instantiation: transforms.c:svt_aom_memset16 Unexecuted instantiation: utility.c:svt_aom_memset16 Unexecuted instantiation: vector.c:svt_aom_memset16 Unexecuted instantiation: warped_motion.c:svt_aom_memset16 Unexecuted instantiation: encode_txb_ref_c.c:svt_aom_memset16 Unexecuted instantiation: filterintra_c.c:svt_aom_memset16 Unexecuted instantiation: sad_av1.c:svt_aom_memset16 Unexecuted instantiation: variance.c:svt_aom_memset16 Unexecuted instantiation: adaptive_mv_pred.c:svt_aom_memset16 Unexecuted instantiation: block_structures.c:svt_aom_memset16 Unexecuted instantiation: cdef.c:svt_aom_memset16 Unexecuted instantiation: coding_loop.c:svt_aom_memset16 Unexecuted instantiation: coding_unit.c:svt_aom_memset16 Unexecuted instantiation: deblocking_filter.c:svt_aom_memset16 Unexecuted instantiation: enc_dec_segments.c:svt_aom_memset16 Unexecuted instantiation: encode_context.c:svt_aom_memset16 Unexecuted instantiation: firstpass.c:svt_aom_memset16 Unexecuted instantiation: global_me.c:svt_aom_memset16 Unexecuted instantiation: global_me_cost.c:svt_aom_memset16 Unexecuted instantiation: mcomp.c:svt_aom_memset16 Unexecuted instantiation: me_context.c:svt_aom_memset16 Unexecuted instantiation: pass2_strategy.c:svt_aom_memset16 Unexecuted instantiation: pd_queue.c:svt_aom_memset16 Unexecuted instantiation: rc_crf_cqp.c:svt_aom_memset16 Unexecuted instantiation: global_motion.c:svt_aom_memset16 Unexecuted instantiation: ransac.c:svt_aom_memset16 Unexecuted instantiation: enc_warped_motion.c:svt_aom_memset16 |
103 | | |
104 | | //------------------------------- |
105 | | void svt_print_alloc_fail_impl(const char* file, int line); |
106 | | |
107 | | #ifdef DEBUG_MEMORY_USAGE |
108 | | void svt_print_memory_usage(void); |
109 | | void svt_increase_component_count(void); |
110 | | void svt_decrease_component_count(void); |
111 | | void svt_add_mem_entry_impl(void* ptr, EbPtrType type, size_t count, const char* file, uint32_t line); |
112 | | void svt_remove_mem_entry(void* ptr, EbPtrType type); |
113 | | |
114 | | #define EB_ADD_MEM_ENTRY(p, type, count) svt_add_mem_entry_impl(p, type, count, __FILE__, EB_LINE_NUM) |
115 | | #define EB_REMOVE_MEM_ENTRY(p, type) svt_remove_mem_entry(p, type); |
116 | | |
117 | | #else |
118 | | #define svt_print_memory_usage() \ |
119 | 474 | do { \ |
120 | 474 | } while (0) |
121 | | #define svt_increase_component_count() \ |
122 | 474 | do { \ |
123 | 474 | } while (0) |
124 | | #define svt_decrease_component_count() \ |
125 | 474 | do { \ |
126 | 474 | } while (0) |
127 | | #define EB_ADD_MEM_ENTRY(p, type, count) \ |
128 | 3.77M | do { \ |
129 | 3.77M | (void)(p); \ |
130 | 3.77M | (void)(count); \ |
131 | 3.77M | } while (0) |
132 | | #define EB_REMOVE_MEM_ENTRY(p, type) \ |
133 | 4.03M | do { \ |
134 | 4.03M | (void)(p); \ |
135 | 4.03M | } while (0) |
136 | | |
137 | | #endif //DEBUG_MEMORY_USAGE |
138 | | |
139 | | #define EB_NO_THROW_ADD_MEM(p, size, type) \ |
140 | 3.77M | do { \ |
141 | 3.77M | if (!p) \ |
142 | 3.77M | svt_print_alloc_fail_impl(__FILE__, EB_LINE_NUM); \ |
143 | 3.77M | else \ |
144 | 3.77M | EB_ADD_MEM_ENTRY(p, type, size); \ |
145 | 3.77M | } while (0) |
146 | | |
147 | | #define EB_CHECK_MEM(p) \ |
148 | 3.77M | do { \ |
149 | 3.77M | if (!p) \ |
150 | 3.77M | return EB_ErrorInsufficientResources; \ |
151 | 3.77M | } while (0) |
152 | | |
153 | | #define EB_ADD_MEM(p, size, type) \ |
154 | 848k | do { \ |
155 | 848k | EB_NO_THROW_ADD_MEM(p, size, type); \ |
156 | 848k | EB_CHECK_MEM(p); \ |
157 | 848k | } while (0) |
158 | | |
159 | | #define EB_NO_THROW_MALLOC(pointer, size) \ |
160 | 758k | do { \ |
161 | 758k | void* malloced_p = malloc(size); \ |
162 | 758k | EB_NO_THROW_ADD_MEM(malloced_p, size, EB_N_PTR); \ |
163 | 758k | pointer = malloced_p; \ |
164 | 758k | } while (0) |
165 | | |
166 | | #define EB_MALLOC(pointer, size) \ |
167 | 746k | do { \ |
168 | 746k | EB_NO_THROW_MALLOC(pointer, size); \ |
169 | 746k | EB_CHECK_MEM(pointer); \ |
170 | 746k | } while (0) |
171 | | |
172 | | #define EB_MALLOC_NO_CHECK(pointer, size) \ |
173 | 4.99k | do { \ |
174 | 4.99k | EB_NO_THROW_MALLOC(pointer, size); \ |
175 | 4.99k | } while (0) |
176 | | |
177 | | #define EB_MALLOC_OBJECT(pointer) \ |
178 | 6.41k | do { \ |
179 | 6.41k | EB_NO_THROW_MALLOC(pointer, sizeof(*(pointer))); \ |
180 | 6.41k | EB_CHECK_MEM(pointer); \ |
181 | 6.41k | } while (0) |
182 | | |
183 | | #define EB_MALLOC_OBJECT_NO_CHECK(pointer) \ |
184 | 0 | do { \ |
185 | 0 | EB_NO_THROW_MALLOC(pointer, sizeof(*(pointer))); \ |
186 | 0 | } while (0) |
187 | | |
188 | | #define EB_NO_THROW_CALLOC(pointer, count, size) \ |
189 | 2.17M | do { \ |
190 | 2.17M | pointer = calloc(count, size); \ |
191 | 2.17M | EB_NO_THROW_ADD_MEM(pointer, count * size, EB_C_PTR); \ |
192 | 2.17M | } while (0) |
193 | | |
194 | | #define EB_CALLOC(pointer, count, size) \ |
195 | 2.17M | do { \ |
196 | 2.17M | EB_NO_THROW_CALLOC(pointer, count, size); \ |
197 | 2.17M | EB_CHECK_MEM(pointer); \ |
198 | 2.17M | } while (0) |
199 | | |
200 | | #define EB_CALLOC_NO_CHECK(pointer, count, size) \ |
201 | 0 | do { \ |
202 | 0 | EB_NO_THROW_CALLOC(pointer, count, size); \ |
203 | 0 | } while (0) |
204 | | |
205 | | #define EB_FREE(pointer) \ |
206 | 3.17M | do { \ |
207 | 3.17M | EB_REMOVE_MEM_ENTRY(pointer, EB_N_PTR); \ |
208 | 3.17M | free(pointer); \ |
209 | 3.17M | pointer = NULL; \ |
210 | 3.17M | } while (0) |
211 | | |
212 | 263k | #define EB_FREE_ARRAY(pa) EB_FREE(pa); |
213 | | |
214 | | #define EB_MALLOC_ARRAY(pa, count) \ |
215 | 146k | do { \ |
216 | 146k | EB_MALLOC(pa, sizeof(*(pa)) * (count)); \ |
217 | 146k | } while (0) |
218 | | |
219 | | #define EB_MALLOC_ARRAY_NO_CHECK(pa, count) \ |
220 | 4.99k | do { \ |
221 | 4.99k | EB_MALLOC_NO_CHECK(pa, sizeof(*(pa)) * (count)); \ |
222 | 4.99k | } while (0) |
223 | | |
224 | | #define EB_REALLOC_ARRAY(pa, count) \ |
225 | 0 | do { \ |
226 | 0 | size_t s_ra = sizeof(*(pa)) * (count); \ |
227 | 0 | void* p_ra = realloc(pa, s_ra); \ |
228 | 0 | if (p_ra) { \ |
229 | 0 | EB_REMOVE_MEM_ENTRY(pa, EB_N_PTR); \ |
230 | 0 | EB_ADD_MEM(p_ra, s_ra, EB_N_PTR); \ |
231 | 0 | } else { \ |
232 | 0 | EB_FREE(pa); \ |
233 | 0 | } \ |
234 | 0 | pa = p_ra; \ |
235 | 0 | } while (0) |
236 | | |
237 | | #define EB_REALLOC_ARRAY_NO_CHECK(pa, count) \ |
238 | 0 | do { \ |
239 | 0 | size_t s_ra = sizeof(*(pa)) * (count); \ |
240 | 0 | uintptr_t pa_i = (uintptr_t)pa; \ |
241 | 0 | void* p_ra = realloc(pa, s_ra); \ |
242 | 0 | if (p_ra) { \ |
243 | 0 | EB_REMOVE_MEM_ENTRY((void*)pa_i, EB_N_PTR); \ |
244 | 0 | EB_NO_THROW_ADD_MEM(p_ra, s_ra, EB_N_PTR); \ |
245 | 0 | } else { \ |
246 | 0 | EB_FREE(pa); \ |
247 | 0 | } \ |
248 | 0 | pa = p_ra; \ |
249 | 0 | } while (0) |
250 | | |
251 | | #define EB_CALLOC_ARRAY(pa, count) \ |
252 | 31.5k | do { \ |
253 | 31.5k | EB_CALLOC(pa, count, sizeof(*(pa))); \ |
254 | 31.5k | } while (0) |
255 | | |
256 | | #define EB_CALLOC_ARRAY_NO_CHECK(pa, count) \ |
257 | 0 | do { \ |
258 | 0 | EB_CALLOC_NO_CHECK(pa, count, sizeof(*(pa))); \ |
259 | 0 | } while (0) |
260 | | |
261 | | #define EB_ALLOC_PTR_ARRAY(pa, count) \ |
262 | 76.0k | do { \ |
263 | 76.0k | EB_CALLOC(pa, count, sizeof(*(pa))); \ |
264 | 76.0k | } while (0) |
265 | | |
266 | | #define EB_FREE_PTR_ARRAY(pa, count) \ |
267 | 4.74k | do { \ |
268 | 4.74k | if (pa) { \ |
269 | 15.2k | for (size_t i = 0; i < count; i++) \ |
270 | 10.5k | EB_FREE(pa[i]); \ |
271 | 4.74k | EB_FREE(pa); \ |
272 | 4.74k | } \ |
273 | 4.74k | } while (0) |
274 | | |
275 | | #define EB_MALLOC_2D(p2d, width, height) \ |
276 | 4.80k | do { \ |
277 | 4.80k | EB_MALLOC_ARRAY(p2d, width); \ |
278 | 4.80k | EB_MALLOC_ARRAY(p2d[0], (width) * (height)); \ |
279 | 431k | for (size_t w = 1; w < (width); w++) \ |
280 | 426k | p2d[w] = p2d[0] + w * (height); \ |
281 | 4.80k | } while (0) |
282 | | |
283 | | #define EB_CALLOC_2D(p2d, width, height) \ |
284 | 8.53k | do { \ |
285 | 8.53k | EB_MALLOC_ARRAY(p2d, width); \ |
286 | 8.53k | EB_CALLOC_ARRAY(p2d[0], (width) * (height)); \ |
287 | 89.5k | for (size_t w = 1; w < (width); w++) \ |
288 | 81.0k | p2d[w] = p2d[0] + w * (height); \ |
289 | 8.53k | } while (0) |
290 | | |
291 | | #define EB_FREE_2D(p2d) \ |
292 | 14.7k | do { \ |
293 | 14.7k | if (p2d) \ |
294 | 14.7k | EB_FREE_ARRAY(p2d[0]); \ |
295 | 14.7k | EB_FREE_ARRAY(p2d); \ |
296 | 14.7k | } while (0) |
297 | | |
298 | | #ifdef _WIN32 |
299 | | #define EB_MALLOC_ALIGNED(pointer, size) \ |
300 | | do { \ |
301 | | pointer = _aligned_malloc(size, ALVALUE); \ |
302 | | EB_ADD_MEM(pointer, size, EB_A_PTR); \ |
303 | | } while (0) |
304 | | |
305 | | #define EB_FREE_ALIGNED(pointer) \ |
306 | | do { \ |
307 | | EB_REMOVE_MEM_ENTRY(pointer, EB_A_PTR); \ |
308 | | _aligned_free(pointer); \ |
309 | | pointer = NULL; \ |
310 | | } while (0) |
311 | | #else |
312 | | #define EB_MALLOC_ALIGNED(pointer, size) \ |
313 | 406k | do { \ |
314 | 406k | if (posix_memalign((void**)&(pointer), ALVALUE, size) != 0) \ |
315 | 406k | return EB_ErrorInsufficientResources; \ |
316 | 406k | EB_ADD_MEM(pointer, size, EB_A_PTR); \ |
317 | 406k | } while (0) |
318 | | |
319 | | #define EB_FREE_ALIGNED(pointer) \ |
320 | 416k | do { \ |
321 | 416k | EB_REMOVE_MEM_ENTRY(pointer, EB_A_PTR); \ |
322 | 416k | free(pointer); \ |
323 | 416k | pointer = NULL; \ |
324 | 416k | } while (0) |
325 | | #endif |
326 | | |
327 | 401k | #define EB_MALLOC_ALIGNED_ARRAY(pa, count) EB_MALLOC_ALIGNED(pa, sizeof(*(pa)) * (count)) |
328 | | |
329 | | #define EB_CALLOC_ALIGNED_ARRAY(pa, count) \ |
330 | 1.89k | do { \ |
331 | 1.89k | EB_MALLOC_ALIGNED(pa, sizeof(*(pa)) * (count)); \ |
332 | 1.89k | memset(pa, 0, sizeof(*(pa)) * (count)); \ |
333 | 1.89k | } while (0) |
334 | | |
335 | 415k | #define EB_FREE_ALIGNED_ARRAY(pa) EB_FREE_ALIGNED(pa) |
336 | | |
337 | | #ifdef __cplusplus |
338 | | } |
339 | | #endif |
340 | | |
341 | | #endif //EbMalloc_h |