FFmpeg
|
#include "attributes.h"
Go to the source code of this file.
Macros | |
#define | AV_CPU_FLAG_FORCE 0x80000000 /* force usage of selected flags (OR) */ |
#define | AV_CPU_FLAG_MMX 0x0001 |
standard MMX More... | |
#define | AV_CPU_FLAG_MMXEXT 0x0002 |
SSE integer functions or AMD MMX ext. More... | |
#define | AV_CPU_FLAG_MMX2 0x0002 |
SSE integer functions or AMD MMX ext. More... | |
#define | AV_CPU_FLAG_3DNOW 0x0004 |
AMD 3DNOW. More... | |
#define | AV_CPU_FLAG_SSE 0x0008 |
SSE functions. More... | |
#define | AV_CPU_FLAG_SSE2 0x0010 |
PIV SSE2 functions. More... | |
#define | AV_CPU_FLAG_SSE2SLOW 0x40000000 |
SSE2 supported, but usually not faster. More... | |
#define | AV_CPU_FLAG_3DNOWEXT 0x0020 |
AMD 3DNowExt. More... | |
#define | AV_CPU_FLAG_SSE3 0x0040 |
Prescott SSE3 functions. More... | |
#define | AV_CPU_FLAG_SSE3SLOW 0x20000000 |
SSE3 supported, but usually not faster. More... | |
#define | AV_CPU_FLAG_SSSE3 0x0080 |
Conroe SSSE3 functions. More... | |
#define | AV_CPU_FLAG_ATOM 0x10000000 |
Atom processor, some SSSE3 instructions are slower. More... | |
#define | AV_CPU_FLAG_SSE4 0x0100 |
Penryn SSE4.1 functions. More... | |
#define | AV_CPU_FLAG_SSE42 0x0200 |
Nehalem SSE4.2 functions. More... | |
#define | AV_CPU_FLAG_AVX 0x4000 |
AVX functions: requires OS support even if YMM registers aren't used. More... | |
#define | AV_CPU_FLAG_AVXSLOW 0x8000000 |
AVX supported, but slow when using YMM registers (e.g. Bulldozer) More... | |
#define | AV_CPU_FLAG_XOP 0x0400 |
Bulldozer XOP functions. More... | |
#define | AV_CPU_FLAG_FMA4 0x0800 |
Bulldozer FMA4 functions. More... | |
#define | AV_CPU_FLAG_CMOV 0x1001000 |
supports cmov instruction More... | |
#define | AV_CPU_FLAG_AVX2 0x8000 |
AVX2 functions: requires OS support even if YMM registers aren't used. More... | |
#define | AV_CPU_FLAG_FMA3 0x10000 |
Haswell FMA3 functions. More... | |
#define | AV_CPU_FLAG_BMI1 0x20000 |
Bit Manipulation Instruction Set 1. More... | |
#define | AV_CPU_FLAG_BMI2 0x40000 |
Bit Manipulation Instruction Set 2. More... | |
#define | AV_CPU_FLAG_ALTIVEC 0x0001 |
standard More... | |
#define | AV_CPU_FLAG_VSX 0x0002 |
ISA 2.06. More... | |
#define | AV_CPU_FLAG_POWER8 0x0004 |
ISA 2.07. More... | |
#define | AV_CPU_FLAG_ARMV5TE (1 << 0) |
#define | AV_CPU_FLAG_ARMV6 (1 << 1) |
#define | AV_CPU_FLAG_ARMV6T2 (1 << 2) |
#define | AV_CPU_FLAG_VFP (1 << 3) |
#define | AV_CPU_FLAG_VFPV3 (1 << 4) |
#define | AV_CPU_FLAG_NEON (1 << 5) |
#define | AV_CPU_FLAG_ARMV8 (1 << 6) |
#define | AV_CPU_FLAG_SETEND (1 <<16) |
Functions | |
int | av_get_cpu_flags (void) |
Return the flags which specify extensions supported by the CPU. More... | |
void | av_force_cpu_flags (int flags) |
Disables cpu detection and forces the specified flags. More... | |
attribute_deprecated void | av_set_cpu_flags_mask (int mask) |
Set a mask on flags returned by av_get_cpu_flags(). More... | |
attribute_deprecated int | av_parse_cpu_flags (const char *s) |
Parse CPU flags from a string. More... | |
int | av_parse_cpu_caps (unsigned *flags, const char *s) |
Parse CPU caps from a string and update the given AV_CPU_* flags based on that. More... | |
int | av_cpu_count (void) |
#define AV_CPU_FLAG_FORCE 0x80000000 /* force usage of selected flags (OR) */ |
#define AV_CPU_FLAG_MMX 0x0001 |
standard MMX
Definition at line 29 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), av_parse_cpu_flags(), ff_dwt_init_x86(), ff_eq_init_x86(), ff_get_cpu_flags_x86(), ff_spatial_idwt_init_mmx(), ff_spp_init_x86(), initFilter(), main(), postProcess(), and pp_get_context().
#define AV_CPU_FLAG_MMXEXT 0x0002 |
SSE integer functions or AMD MMX ext.
Definition at line 30 of file cpu.h.
Referenced by av_force_cpu_flags(), ff_dwt_init_x86(), ff_get_cpu_flags_x86(), ff_sws_init_swscale_x86(), main(), postProcess(), pp_get_context(), and swscale().
#define AV_CPU_FLAG_MMX2 0x0002 |
SSE integer functions or AMD MMX ext.
Definition at line 31 of file cpu.h.
Referenced by av_parse_cpu_caps(), and multiple_resample().
#define AV_CPU_FLAG_3DNOW 0x0004 |
AMD 3DNOW.
Definition at line 32 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), ff_huffyuvdsp_init_x86(), ff_llauddsp_init_x86(), postProcess(), and pp_get_context().
#define AV_CPU_FLAG_SSE 0x0008 |
SSE functions.
Definition at line 33 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_SSE2 0x0010 |
PIV SSE2 functions.
Definition at line 34 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_dwt_init_x86(), ff_get_cpu_flags_x86(), ff_lpc_init_x86(), ff_spatial_idwt_init_mmx(), ff_vp78dsp_init_x86(), ff_vp8dsp_init_x86(), multiple_resample(), postProcess(), and swscale().
#define AV_CPU_FLAG_SSE2SLOW 0x40000000 |
SSE2 supported, but usually not faster.
than regular MMX/SSE (e.g. Core1)
Definition at line 35 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_ac3dsp_init_x86(), ff_audio_convert_init_x86(), ff_get_cpu_flags_x86(), ff_h264qpel_init_x86(), ff_lpc_init_x86(), ff_vp78dsp_init_x86(), ff_vp8dsp_init_x86(), and hpeldsp_init_sse2().
#define AV_CPU_FLAG_3DNOWEXT 0x0020 |
AMD 3DNowExt.
Definition at line 37 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_SSE3 0x0040 |
Prescott SSE3 functions.
Definition at line 38 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), and ff_sws_init_swscale_x86().
#define AV_CPU_FLAG_SSE3SLOW 0x20000000 |
SSE3 supported, but usually not faster.
than regular MMX/SSE (e.g. Core1)
Definition at line 39 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_SSSE3 0x0080 |
Conroe SSSE3 functions.
Definition at line 41 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), ff_spatial_idwt_init_mmx(), and ff_v210_x86_init().
#define AV_CPU_FLAG_ATOM 0x10000000 |
Atom processor, some SSSE3 instructions are slower.
Definition at line 42 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), ff_ac3dsp_init_x86(), ff_audiodsp_init_x86(), ff_get_cpu_flags_x86(), and ff_volume_init_x86().
#define AV_CPU_FLAG_SSE4 0x0100 |
Penryn SSE4.1 functions.
Definition at line 43 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), and ff_huffyuvdsp_init_x86().
#define AV_CPU_FLAG_SSE42 0x0200 |
Nehalem SSE4.2 functions.
Definition at line 44 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), and ff_llauddsp_init_x86().
#define AV_CPU_FLAG_AVX 0x4000 |
AVX functions: requires OS support even if YMM registers aren't used.
Definition at line 45 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_get_cpu_flags_x86(), and ff_v210_x86_init().
#define AV_CPU_FLAG_AVXSLOW 0x8000000 |
AVX supported, but slow when using YMM registers (e.g. Bulldozer)
Definition at line 46 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), ff_float_dsp_init_x86(), ff_get_cpu_flags_x86(), ff_synth_filter_init_x86(), and swri_resample_dsp_x86_init().
#define AV_CPU_FLAG_XOP 0x0400 |
Bulldozer XOP functions.
Definition at line 47 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_FMA4 0x0800 |
Bulldozer FMA4 functions.
Definition at line 48 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_CMOV 0x1001000 |
supports cmov instruction
Definition at line 50 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), ff_get_cpu_flags_x86(), ff_h264dsp_init_x86(), ff_huffyuvdsp_init_x86(), and PRED4x4().
#define AV_CPU_FLAG_AVX2 0x8000 |
AVX2 functions: requires OS support even if YMM registers aren't used.
Definition at line 54 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_FMA3 0x10000 |
Haswell FMA3 functions.
Definition at line 55 of file cpu.h.
Referenced by av_force_cpu_flags(), av_parse_cpu_caps(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_BMI1 0x20000 |
Bit Manipulation Instruction Set 1.
Definition at line 56 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_x86().
#define AV_CPU_FLAG_BMI2 0x40000 |
Bit Manipulation Instruction Set 2.
Definition at line 57 of file cpu.h.
Referenced by av_parse_cpu_caps(), ff_get_cpu_flags_x86(), and ff_mlpdsp_init_x86().
#define AV_CPU_FLAG_ALTIVEC 0x0001 |
standard
Definition at line 59 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), ff_get_cpu_flags_ppc(), ff_get_unscaled_swscale_ppc(), ff_sws_init_swscale_ppc(), ff_yuv2rgb_init_ppc(), ff_yuv2rgb_init_tables_ppc(), postProcess(), and pp_get_context().
#define AV_CPU_FLAG_VSX 0x0002 |
#define AV_CPU_FLAG_POWER8 0x0004 |
#define AV_CPU_FLAG_ARMV5TE (1 << 0) |
Definition at line 63 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_ARMV6 (1 << 1) |
Definition at line 64 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_ARMV6T2 (1 << 2) |
Definition at line 65 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_VFP (1 << 3) |
Definition at line 66 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), ff_get_cpu_flags_aarch64(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_VFPV3 (1 << 4) |
Definition at line 67 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_NEON (1 << 5) |
Definition at line 68 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), ff_get_cpu_flags_aarch64(), and ff_get_cpu_flags_arm().
#define AV_CPU_FLAG_ARMV8 (1 << 6) |
Definition at line 69 of file cpu.h.
Referenced by av_parse_cpu_caps(), av_parse_cpu_flags(), and ff_get_cpu_flags_aarch64().
#define AV_CPU_FLAG_SETEND (1 <<16) |
Definition at line 70 of file cpu.h.
Referenced by av_parse_cpu_caps(), and ff_get_cpu_flags_arm().
int av_get_cpu_flags | ( | void | ) |
Return the flags which specify extensions supported by the CPU.
The returned value is affected by av_force_cpu_flags() if that was used before. So av_get_cpu_flags() can easily be used in a application to detect the enabled cpu flags.
Definition at line 76 of file cpu.c.
Referenced by av_set_cpu_flags_mask(), check_cpu_flag(), D(), ff_ac3dsp_init_arm(), ff_ac3dsp_init_x86(), ff_audio_convert_init_aarch64(), ff_audio_convert_init_arm(), ff_audio_convert_init_x86(), ff_audio_mix_init_x86(), ff_audio_resample_init_aarch64(), ff_audio_resample_init_arm(), ff_audiodsp_init_arm(), ff_audiodsp_init_ppc(), ff_audiodsp_init_x86(), ff_blockdsp_init_arm(), ff_blockdsp_init_ppc(), ff_blockdsp_init_x86(), ff_bswapdsp_init_x86(), ff_cavsdsp_init_x86(), ff_dcadsp_init_arm(), ff_dcadsp_init_x86(), ff_dct_encode_init_x86(), ff_dct_init_x86(), ff_diracdsp_init_mmx(), ff_dither_init_x86(), ff_dnxhdenc_init_x86(), ff_dwt_init_x86(), ff_eq_init_x86(), ff_fdctdsp_init_ppc(), ff_fdctdsp_init_x86(), ff_fft_fixed_init_arm(), ff_fft_init_aarch64(), ff_fft_init_arm(), ff_fft_init_ppc(), ff_fft_init_x86(), ff_flacdsp_init_x86(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_arm(), ff_float_dsp_init_ppc(), ff_float_dsp_init_x86(), ff_fmt_convert_init_arm(), ff_fmt_convert_init_ppc(), ff_fmt_convert_init_x86(), ff_fspp_init_x86(), ff_g722dsp_init_arm(), ff_g722dsp_init_x86(), ff_get_unscaled_swscale_arm(), ff_get_unscaled_swscale_ppc(), ff_gradfun_init_x86(), ff_h263dsp_init_x86(), ff_h264_pred_init_aarch64(), ff_h264_pred_init_arm(), ff_h264chroma_init_aarch64(), ff_h264chroma_init_arm(), ff_h264chroma_init_ppc(), ff_h264chroma_init_x86(), ff_h264dsp_init_aarch64(), ff_h264dsp_init_arm(), ff_h264dsp_init_ppc(), ff_h264dsp_init_x86(), ff_h264qpel_init_aarch64(), ff_h264qpel_init_arm(), ff_h264qpel_init_ppc(), ff_h264qpel_init_x86(), ff_hevc_dsp_init_x86(), ff_hevcdsp_init_arm(), ff_hpeldsp_init_aarch64(), ff_hpeldsp_init_arm(), ff_hpeldsp_init_ppc(), ff_hpeldsp_init_x86(), ff_huffyuvdsp_init_ppc(), ff_huffyuvdsp_init_x86(), ff_huffyuvencdsp_init_x86(), ff_idctdsp_init_arm(), ff_idctdsp_init_ppc(), ff_idctdsp_init_x86(), ff_idet_init_x86(), ff_imdct15_init_aarch64(), ff_init_lls_x86(), ff_interlace_init_x86(), ff_jpeg2000dsp_init_x86(), ff_llauddsp_init_arm(), ff_llauddsp_init_ppc(), ff_llauddsp_init_x86(), ff_llviddsp_init_x86(), ff_lpc_init_x86(), ff_me_cmp_init_arm(), ff_me_cmp_init_ppc(), ff_mlpdsp_init_arm(), ff_mlpdsp_init_x86(), ff_mpadsp_init_aarch64(), ff_mpadsp_init_arm(), ff_mpadsp_init_ppc(), ff_mpadsp_init_x86(), ff_mpegvideodsp_init_x86(), ff_mpegvideoencdsp_init_arm(), ff_mpegvideoencdsp_init_ppc(), ff_mpegvideoencdsp_init_x86(), ff_mpv_common_init_arm(), ff_mpv_common_init_neon(), ff_mpv_common_init_ppc(), ff_mpv_common_init_x86(), ff_noise_init_x86(), ff_pixblockdsp_init_arm(), ff_pixblockdsp_init_ppc(), ff_pixblockdsp_init_x86(), ff_pixelutils_sad_init_x86(), ff_pngdsp_init_x86(), ff_pp7_init_x86(), ff_proresdsp_init_x86(), ff_psdsp_init_arm(), ff_psdsp_init_x86(), ff_psnr_init_x86(), ff_pullup_init_x86(), ff_qpeldsp_init_x86(), ff_removegrain_init_x86(), ff_rv34dsp_init_arm(), ff_rv34dsp_init_x86(), ff_rv40dsp_init_aarch64(), ff_rv40dsp_init_arm(), ff_rv40dsp_init_x86(), ff_sbrdsp_init_arm(), ff_sbrdsp_init_x86(), ff_spatial_idwt_init_mmx(), ff_spp_init_x86(), ff_ssim_init_x86(), ff_svq1enc_init_ppc(), ff_svq1enc_init_x86(), ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), ff_synth_filter_init_arm(), ff_synth_filter_init_x86(), ff_tinterlace_init_x86(), ff_ttadsp_init_x86(), ff_v210_x86_init(), ff_v210enc_init_x86(), ff_vc1dsp_init_aarch64(), ff_vc1dsp_init_arm(), ff_vc1dsp_init_ppc(), ff_vc1dsp_init_x86(), ff_videodsp_init_aarch64(), ff_videodsp_init_arm(), ff_videodsp_init_x86(), ff_volume_init_x86(), ff_vorbisdsp_init_aarch64(), ff_vorbisdsp_init_arm(), ff_vorbisdsp_init_ppc(), ff_vorbisdsp_init_x86(), ff_vp3dsp_init_arm(), ff_vp3dsp_init_ppc(), ff_vp3dsp_init_x86(), ff_vp6dsp_init_arm(), ff_vp6dsp_init_x86(), ff_vp78dsp_init_arm(), ff_vp78dsp_init_ppc(), ff_vp78dsp_init_x86(), ff_vp8dsp_init_arm(), ff_vp8dsp_init_x86(), ff_vp9dsp_init_x86(), ff_xvid_idct_init_x86(), ff_yadif_init_x86(), ff_yuv2rgb_init_ppc(), ff_yuv2rgb_init_tables_ppc(), ff_yuv2rgb_init_x86(), main(), multiple_resample(), opt_cpuflags(), pp_get_context(), PRED4x4(), rgb2rgb_init_x86(), swri_audio_convert_init_aarch64(), swri_audio_convert_init_arm(), swri_audio_convert_init_x86(), swri_resample_dsp_x86_init(), sws_init_context(), and swscale().
void av_force_cpu_flags | ( | int | flags | ) |
Disables cpu detection and forces the specified flags.
-1 is a special case that disables forcing of specific flags.
Definition at line 49 of file cpu.c.
Referenced by main(), and opt_cpuflags().
attribute_deprecated void av_set_cpu_flags_mask | ( | int | mask | ) |
Set a mask on flags returned by av_get_cpu_flags().
This function is mainly useful for testing. Please use av_force_cpu_flags() and av_get_cpu_flags() instead which are more flexible
Definition at line 94 of file cpu.c.
Referenced by check_cpu_flag().
attribute_deprecated int av_parse_cpu_flags | ( | const char * | s | ) |
Parse CPU flags from a string.
The returned flags contain the specified flags as well as related unspecified flags.
This function exists only for compatibility with libav. Please use av_parse_cpu_caps() when possible.
int av_parse_cpu_caps | ( | unsigned * | flags, |
const char * | s | ||
) |
Parse CPU caps from a string and update the given AV_CPU_* flags based on that.
Definition at line 178 of file cpu.c.
Referenced by main(), and opt_cpuflags().
int av_cpu_count | ( | void | ) |
Definition at line 251 of file cpu.c.
Referenced by ff_frame_thread_encoder_init(), ff_frame_thread_init(), ff_slice_thread_init(), and thread_init_internal().