FFmpeg
Loading...
Searching...
No Matches
mem_internal.h File Reference
#include "config.h"
#include <stdint.h>
#include <stdalign.h>
#include "attributes.h"
#include "macros.h"

Go to the source code of this file.

Macros

#define DECLARE_ALIGNED_T(n, t, v)
 
#define DECLARE_ASM_ALIGNED(n, t, v)
 Declare an aligned variable appropriate for use in inline assembly code.
 
#define DECLARE_ASM_CONST(n, t, v)
 Declare a static constant aligned variable appropriate for use in inline assembly code.
 
#define ALIGN_64   16
 
#define ALIGN_32   16
 
#define DECLARE_ALIGNED(n, t, v)
 Declare a variable that is aligned in memory.
 
#define DECLARE_ALIGNED_V(n, t, v)
 
#define DECLARE_ALIGNED_4(t, v)
 
#define DECLARE_ALIGNED_8(t, v)
 
#define DECLARE_ALIGNED_16(t, v)
 
#define DECLARE_ALIGNED_32(t, v)
 
#define DECLARE_ALIGNED_64(t, v)
 
#define E1(x)
 
#define LOCAL_ALIGNED_D(a, t, v, s, o, ...)
 
#define LOCAL_ALIGNED(a, t, v, ...)
 
#define LOCAL_ALIGNED_4(t, v, ...)
 
#define LOCAL_ALIGNED_8(t, v, ...)
 
#define LOCAL_ALIGNED_16(t, v, ...)
 
#define LOCAL_ALIGNED_32(t, v, ...)
 
#define LOCAL_ALIGNED_64(t, v, ...)
 

Macro Definition Documentation

◆ DECLARE_ALIGNED_T

#define DECLARE_ALIGNED_T ( n,
t,
v )
Value:
alignas(n) t v

Definition at line 88 of file mem_internal.h.

◆ DECLARE_ASM_ALIGNED

#define DECLARE_ASM_ALIGNED ( n,
t,
v )
Value:
alignas(n) t av_used v
#define av_used
Mark a variable as used and prevent the compiler from optimizing it away.
Definition attributes.h:175

Declare an aligned variable appropriate for use in inline assembly code.

DECLARE_ASM_ALIGNED(16, uint64_t, pw_08) = UINT64_C(0x0008000800080008);
#define DECLARE_ASM_ALIGNED(n, t, v)
Declare an aligned variable appropriate for use in inline assembly code.
Parameters
nMinimum alignment in bytes
tType of the variable (or array element)
vName of the variable

Definition at line 89 of file mem_internal.h.

◆ DECLARE_ASM_CONST

#define DECLARE_ASM_CONST ( n,
t,
v )
Value:
alignas(n) static const t av_used v

Declare a static constant aligned variable appropriate for use in inline assembly code.

DECLARE_ASM_CONST(16, uint64_t, pw_08) = UINT64_C(0x0008000800080008);
#define DECLARE_ASM_CONST(n, t, v)
Declare a static constant aligned variable appropriate for use in inline assembly code.
Parameters
nMinimum alignment in bytes
tType of the variable (or array element)
vName of the variable

Definition at line 90 of file mem_internal.h.

◆ ALIGN_64

#define ALIGN_64   16

Definition at line 100 of file mem_internal.h.

◆ ALIGN_32

#define ALIGN_32   16

Definition at line 101 of file mem_internal.h.

◆ DECLARE_ALIGNED

#define DECLARE_ALIGNED ( n,
t,
v )
Value:
#define DECLARE_ALIGNED_V(n, t, v)

Declare a variable that is aligned in memory.

DECLARE_ALIGNED(16, uint16_t, aligned_int) = 42;
DECLARE_ALIGNED(32, uint8_t, aligned_array)[128];
// The default-alignment equivalent would be
uint16_t aligned_int = 42;
uint8_t aligned_array[128];
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
Parameters
nMinimum alignment in bytes
tType of the variable (or array element)
vName of the variable

Definition at line 104 of file mem_internal.h.

Referenced by check_add_8x8basis(), check_add_hfyu_median_pred_int16(), check_cavs_qpeldsp(), check_column_fidct(), check_crc(), check_dctB(), check_denoise_dct(), check_mspel_pixels(), check_mul_thrmat(), check_sbc_analyze(), check_sbc_calc_scalefactors(), check_store_slice(), check_sub_hfyu_median_pred_int16(), checkasm_check_hpeldsp(), checkasm_check_inner_add_yblock(), checkasm_check_mpegvideo_unquantize(), checkasm_check_qpeldsp(), checkasm_check_sad(), checkasm_check_vp6dsp(), dct_quantize_refine(), deblock_v8_luma_intra_8_mmi(), decode_block(), decode_frame(), decode_frame(), encode_mb_internal(), ff_atrac3p_generate_tones(), ff_deblock_h_luma_8_mmi(), ff_deblock_h_luma_intra_8_mmi(), ff_hcscale_fast_mmxext(), ff_put_vp8_bilinear16_hv_mmi(), ff_put_vp8_bilinear4_hv_mmi(), ff_put_vp8_bilinear8_hv_mmi(), ff_put_vp8_epel16_h4v4_mmi(), ff_put_vp8_epel16_h4v6_mmi(), ff_put_vp8_epel16_h6v4_mmi(), ff_put_vp8_epel16_h6v6_mmi(), ff_put_vp8_epel4_h4v4_mmi(), ff_put_vp8_epel4_h4v6_mmi(), ff_put_vp8_epel4_h6v4_mmi(), ff_put_vp8_epel4_h6v6_mmi(), ff_put_vp8_epel8_h4v4_mmi(), ff_put_vp8_epel8_h4v6_mmi(), ff_put_vp8_epel8_h6v4_mmi(), ff_put_vp8_epel8_h6v6_mmi(), ff_yuv2rgb_init_tables_ppc(), filter(), filter(), filter16_column(), filter_column(), idct_16x16(), idct_32x32(), pred_pskip_motion(), vp3_check_idct(), vp3_check_loop_filter(), and vp3_check_put_no_rnd_pixels_l2().

◆ DECLARE_ALIGNED_V

#define DECLARE_ALIGNED_V ( n,
t,
v )
Value:
DECLARE_ALIGNED_##n(t,v)

Definition at line 108 of file mem_internal.h.

◆ DECLARE_ALIGNED_4

#define DECLARE_ALIGNED_4 ( t,
v )
Value:
#define DECLARE_ALIGNED_T(n, t, v)

Definition at line 110 of file mem_internal.h.

Referenced by check_chroma_mc(), checkasm_check_gmc(), and test_rv34_idct_add().

◆ DECLARE_ALIGNED_8

#define DECLARE_ALIGNED_8 ( t,
v )
Value:

Definition at line 111 of file mem_internal.h.

Referenced by checkasm_check_gmc().

◆ DECLARE_ALIGNED_16

#define DECLARE_ALIGNED_16 ( t,
v )

◆ DECLARE_ALIGNED_32

#define DECLARE_ALIGNED_32 ( t,
v )
Value:
#define ALIGN_32

Definition at line 113 of file mem_internal.h.

Referenced by op_pass_run().

◆ DECLARE_ALIGNED_64

#define DECLARE_ALIGNED_64 ( t,
v )
Value:
#define ALIGN_64

Definition at line 114 of file mem_internal.h.

Referenced by check_compiled().

◆ E1

#define E1 ( x)
Value:
x

Definition at line 118 of file mem_internal.h.

Referenced by epx2_slice(), and epx3_slice().

◆ LOCAL_ALIGNED_D

#define LOCAL_ALIGNED_D ( a,
t,
v,
s,
o,
... )
Value:
DECLARE_ALIGNED(a, t, la_##v) s o; \
t (*v) o = la_##v
#define s(width, name)
Definition cbs_vp9.c:198
int a

Definition at line 120 of file mem_internal.h.

◆ LOCAL_ALIGNED

◆ LOCAL_ALIGNED_4

#define LOCAL_ALIGNED_4 ( t,
v,
... )
Value:
E1(LOCAL_ALIGNED_D(4, t, v, __VA_ARGS__,,))
#define E1(x)
#define LOCAL_ALIGNED_D(a, t, v, s, o,...)

Definition at line 126 of file mem_internal.h.

Referenced by test_ssd_int8_vs_int16().

◆ LOCAL_ALIGNED_8

◆ LOCAL_ALIGNED_16

#define LOCAL_ALIGNED_16 ( t,
v,
... )
Value:
E1(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))

Definition at line 130 of file mem_internal.h.

Referenced by bink_decode_plane(), binkb_decode_plane(), bit8x8_c(), check_ac3_exponent_min(), check_ac3_extract_exponents(), check_ac3_sum_square_butterfly_float(), check_ac3_sum_square_butterfly_int32(), check_add_bytes_l2(), check_add_obmc(), check_add_paeth_prediction(), check_add_put_clamped(), check_append_extra_bits(), check_butterflies(), check_decode_transquant_10(), check_decorrelate_stereo(), check_deinterleave_bytes(), check_draw_edges(), check_fdct(), check_fill(), check_idct(), check_idct(), check_idct_dc4(), check_idct_dequant(), check_idct_multiple(), check_interleave_bytes(), check_inv_trans_adding(), check_inv_trans_inplace(), check_loop_filter(), check_loop_filter(), check_loop_filter(), check_loop_filter_intra(), check_loopfilter_16y(), check_loopfilter_8uv(), check_loopfilter_simple(), check_lpc(), check_lpc33(), check_luma_dc_wht(), check_mc(), check_pix_norm1(), check_pix_sum(), check_rgb_to_uv(), check_rgb_to_y(), check_rgba_to_a(), check_scalarproduct_and_madd_int16(), check_scalarproduct_and_madd_int32(), check_vector_fmul_window_scaled(), check_wasted32(), check_wasted33(), check_yuv2nv12cX(), check_yuv2yuv1(), check_yuv2yuvX(), checkasm_check_bswapdsp(), checkasm_check_flacdsp(), checkasm_check_float_dsp(), checkasm_check_h264pred(), checkasm_check_h264qpel(), checkasm_check_pixblockdsp(), checkasm_check_vf_bwdif(), count_mantissa_bits(), dct_max8x8_c(), dct_quantize_refine(), dct_quantize_TMPL(), dct_sad8x8_c(), decode_slice_thread(), decorrelation(), dnxhd_calc_bits_thread(), dv_decode_video_segment(), dv_init_enc_block(), hybrid6_cx(), imc_decode_frame(), mpc7_decode_init(), quant_psnr8x8_c(), rd8x8_c(), rv34_decode_inter_macroblock(), rv34_output_i16x16(), sbr_hf_assemble(), sbr_hf_inverse_filter(), stereo_processing(), test_add_squares(), test_autocorrelate(), test_butterflies_float(), test_hf_apply_noise(), test_hf_g_filt(), test_hf_gen(), test_hybrid_analysis(), test_hybrid_analysis_ileave(), test_hybrid_synthesis_deint(), test_inverse_coupling(), test_lfe_fir_fixed(), test_lfe_fir_float(), test_lfe_x96_fixed(), test_motion(), test_mul_pair_single(), test_neg_odd_64(), test_qmf_deint_bfly(), test_qmf_deint_neg(), test_qmf_post_shuffle(), test_qmf_pre_shuffle(), test_quant_bands(), test_ssd_int8_vs_int16(), test_stereo_interpolate(), test_sum64x5(), test_sum_square(), test_vector_fmul_scalar(), and test_vector_fmul_window().

◆ LOCAL_ALIGNED_32

#define LOCAL_ALIGNED_32 ( t,
v,
... )
Value:
E1(LOCAL_ALIGNED_D(32, t, v, __VA_ARGS__,,))

Definition at line 132 of file mem_internal.h.

Referenced by apply_channel_coupling(), apv_decode_block(), apv_decode_tile_component(), bink_decode_plane(), binkb_decode_plane(), calc_input_response(), calc_power(), check_ac3_sum_square_butterfly_float(), check_alf_classify(), check_alf_filter(), check_alpha_detect(), check_avg(), check_bdof(), check_blackdetect(), check_chrConvertRange(), check_chroma_mc(), check_deblock_chroma(), check_deblock_luma(), check_diff_bytes(), check_dmvr(), check_eq(), check_float_to_fixed24(), check_hflip(), check_hscale(), check_ict_float(), check_idet(), check_interleaved_to_planar(), check_ipred(), check_loopfilter(), check_lumConvertRange(), check_multiply3x3(), check_predictor(), check_put_vvc_chroma(), check_put_vvc_chroma_uni(), check_put_vvc_luma(), check_put_vvc_luma_uni(), check_range_detect(), check_rct_int(), check_ref_filter_3tap(), check_ref_filter_strong(), check_reorder_pixels(), check_rgb24toyv12(), check_rgb2yuv(), check_rgb_to_y(), check_rgba_to_a(), check_sao_band(), check_sao_band(), check_sao_edge(), check_sao_edge(), check_scene_sad(), check_shuffle_bytes(), check_sobel(), check_sub_left_pred(), check_threshold(), check_vector_fmul(), check_vector_fmul_add(), check_vector_fmul_window(), check_vvc_sad(), check_yuv2rgb(), check_yuv2yuv(), checkasm_check_blockdsp(), checkasm_check_fixed_dsp(), checkasm_check_float_dsp(), checkasm_check_hevc_epel(), checkasm_check_hevc_epel_bi(), checkasm_check_hevc_epel_bi_w(), checkasm_check_hevc_epel_uni(), checkasm_check_hevc_epel_uni_w(), checkasm_check_hevc_pred(), checkasm_check_hevc_qpel(), checkasm_check_hevc_qpel_bi(), checkasm_check_hevc_qpel_bi_w(), checkasm_check_hevc_qpel_uni(), checkasm_check_hevc_qpel_uni_w(), checkasm_check_lls(), checkasm_check_nlmeans(), checkasm_check_sw_rgb(), compare_add_res(), compute_frame_features(), compute_gru(), compute_rnn(), decode_block(), decode_comp(), decode_dcac(), decode_dct_block(), decode_slice_alpha(), decode_slice_chroma(), decode_slice_luma(), decode_tile(), ff_atrac3p_power_compensation(), frame_analysis(), frame_synthesis(), h263_skip_b_part(), intra_recon(), predictor(), process_new(), process_old(), rnnoise_channel(), sub_qmf32_fixed_c(), sub_qmf32_float_c(), sub_qmf64_fixed_c(), sub_qmf64_float_c(), test_abs_pow34(), test_dcmul_add(), test_decorrelate_ls(), test_decorrelate_sf(), test_decorrelate_sm(), test_decorrelate_sr(), test_fcmul_add(), test_quant_bands(), test_vector_dmac_scalar(), test_vector_dmul(), test_vector_dmul_scalar(), test_vector_fmac_scalar(), test_vector_fmul(), test_vector_fmul_add(), transform(), transform_channel(), and wiener_denoise().

◆ LOCAL_ALIGNED_64

#define LOCAL_ALIGNED_64 ( t,
v,
... )
Value:
E1(LOCAL_ALIGNED_D(64, t, v, __VA_ARGS__,,))

Definition at line 134 of file mem_internal.h.

Referenced by check_itxfm(), and check_mc().