ffmpeg/libavutil
Martin Storsjö 7b0c7c9163 arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel
When running on a 64 bit kernel, /proc/cpuinfo lists different
optional features than on 32 bit kernels (because some of them
are mandatory in the 64 bit implemenations).

The kernel does list the old features properly if they are queried
via /proc/self/auxv though - however this file is not always readable
(e.g. on most android systems). The getauxval function could also
provide the same info as /proc/self/auxv even if this file isn't
readable, but this function is not always available (and thus would
need to be loaded with dlsym for compatibility with older android
versions).

The android cpufeatures library does this slightly differently,
by assuming that these are available if the "CPU architecture"
line is >= 8, see [1] for details.

It has been suggested to include the old, non-optional features in
/proc/cpuinfo as well, but that suggested patch never was merged.
See [2] for the discussion around this suggestion.

[1] https://android-review.googlesource.com/91380
[2] http://marc.info/?l=linux-arm-kernel&m=139087240101974

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-28 22:16:59 +03:00
..
aarch64 build: check if AS supports the '.func' directive 2014-06-03 14:23:03 +02:00
arm arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel 2014-06-28 22:16:59 +03:00
avr32
bfin Remove all Blackfin architecture optimizations 2014-06-02 08:41:47 -07:00
mips
ppc ppc: Move vec_unaligned_load macro to util_altivec 2014-05-28 03:29:33 -07:00
sh4
tomi
x86 x86: add detection for Bit Manipulation Instruction sets 2014-02-23 15:29:36 +01:00
adler32.c adler32: Fix doxy group definition 2014-04-07 01:31:02 +02:00
adler32.h adler32: Fix doxy group definition 2014-04-07 01:31:02 +02:00
aes.c avutil: remove timer.h include from internal.h 2014-01-25 21:50:20 +01:00
aes.h
atomic_gcc.h atomic: fix CAS with armcc. 2013-03-09 08:36:40 +01:00
atomic_suncc.h atomic: Add include guards to the implementation headers 2013-03-08 12:00:06 +02:00
atomic_win32.h atomic: Add include guards to the implementation headers 2013-03-08 12:00:06 +02:00
atomic.c threads: Check w32threads dependencies at the configure stage 2014-02-19 15:12:37 +01:00
atomic.h atomics: cosmetics: Restructure ifdefs for greater clarity 2013-12-20 11:23:13 +01:00
attributes.h attributes: disable flatten on llvm/clang 2013-11-03 11:51:40 +01:00
audio_fifo.c
audio_fifo.h
audioconvert.h
avassert.h
avstring.c avstring-test: Mark pointer passed to av_free() as non-const 2013-10-23 13:17:23 +02:00
avstring.h avstring: Add locale independent versions of some ctype.h functions 2013-03-07 15:16:26 +02:00
avutil.h avutil: move av_get_time_base_q() after include rational.h 2014-04-22 17:35:51 -04:00
base64.c base64-test: Remove posibility of returning restricted exit codes 2013-10-25 11:06:32 +01:00
base64.h
blowfish.c Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
blowfish.h
bswap.h aarch64: bswap inline assembly 2014-01-14 22:19:38 +01:00
buffer_internal.h AVBuffer: add a new API for buffer pools 2013-03-08 07:33:28 +01:00
buffer.c AVBuffer: add a new API for buffer pools 2013-03-08 07:33:28 +01:00
buffer.h avutil: doxy: Small clarification for av_buffer_create() 2013-04-30 13:33:43 -04:00
channel_layout.c Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
channel_layout.h lavu: Add values for various Dolby flags to the AVMatrixEncoding enum. 2014-01-05 16:41:56 +01:00
colorspace.h
common.h Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
cpu_internal.h aarch64: add cpuflags support for NEON and VFP 2014-01-15 12:05:09 +01:00
cpu.c aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
cpu.h aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
crc.c crc: add ANSI CRC16 LE 2014-04-17 20:08:19 +02:00
crc.h crc: add ANSI CRC16 LE 2014-04-17 20:08:19 +02:00
des.c Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
des.h
dict.c av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE 2014-06-09 12:33:19 +02:00
dict.h dict: const correctness for av_dict_get() and av_dict_copy() 2014-06-05 09:16:15 -07:00
display.c display: Include mathematics.h for fallback definition of NAN 2014-05-19 18:34:51 +03:00
display.h Add transformation matrix API. 2014-05-19 13:13:10 +02:00
downmix_info.c lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
downmix_info.h lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
error.c
error.h error.h: Do not circularly depend on avutil.h 2013-12-25 00:12:05 +01:00
eval.c avutil: remove timer.h include from internal.h 2014-01-25 21:50:20 +01:00
eval.h
fifo.c fifo: K&R formatting cosmetics 2013-07-06 14:28:06 +02:00
fifo.h
file_open.c libavutil: Move avpriv_open to a new file, file_open.c 2013-08-10 00:53:33 +03:00
file.c libavutil: Move avpriv_open to a new file, file_open.c 2013-08-10 00:53:33 +03:00
file.h
float_dsp.c float_dsp: Replace arch optimization ifdefs by if cascade 2014-03-22 14:11:22 +01:00
float_dsp.h aarch64: float_dsp NEON assembler 2014-03-18 22:56:07 +01:00
frame.c AVFrame: factor out freeing the side data 2014-06-18 08:11:05 +02:00
frame.h lavu: add all color-related enums to AVFrame 2014-06-01 08:22:02 +02:00
hmac.c avutil: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
hmac.h
imgutils.c Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
imgutils.h Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
internal.h lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets 2014-04-24 18:28:26 +02:00
intfloat.h
intmath.c
intmath.h
intreadwrite.h
lfg.c
lfg.h
libavutil.v
libm.h
lls.c x86: lpc: simd av_update_lls 2013-06-29 13:23:57 +02:00
lls.h x86: lpc: simd av_update_lls 2013-06-29 13:23:57 +02:00
log2_tab.c
log.c log: Unbreak windows support 2014-04-03 23:43:47 +02:00
log.h log: Document AV_LOG_C usage 2014-04-03 18:43:24 +02:00
lzo.c lzo: Handle integer overflow 2014-06-23 10:20:57 +02:00
lzo.h
macros.h lavu: Move preprocessor macros in a separate file 2013-12-29 22:52:04 +01:00
Makefile Add transformation matrix API. 2014-05-19 13:13:10 +02:00
mathematics.c mathematics: K&R formatting cosmetics 2014-05-03 18:31:18 +02:00
mathematics.h
md5.c
md5.h
mem.c Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
mem.h Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
old_pix_fmts.h Deprecate obsolete XvMC hardware decoding support 2013-11-13 21:07:45 +01:00
opt.c AVOptions: add flags for read/read-only options 2014-02-19 21:52:17 +01:00
opt.h AVOptions: add flags for read/read-only options 2014-02-19 21:52:17 +01:00
parseutils.c parseutils: fix discarding const attribute warning 2013-12-12 16:10:14 +01:00
parseutils.h
pixdesc.c lavu: Add a pixel format for new VDA hwaccel 2014-05-11 14:59:59 +02:00
pixdesc.h Use correct Doxygen syntax 2013-10-03 17:53:51 +02:00
pixfmt.h pixfmt: mark the reserved values 2014-06-23 17:39:03 -04:00
random_seed.c random_seed: Rewrite the generic clock() based seed code 2014-01-06 18:53:58 +02:00
random_seed.h
rational.c Remove commented-out #includes 2013-05-15 23:01:21 +02:00
rational.h
rc4.c
rc4.h
replaygain.h replaygain: correctly parse peak values 2014-04-04 17:40:19 +02:00
samplefmt.c samplefmt: avoid integer overflow in av_samples_get_buffer_size() 2014-02-04 12:32:47 -05:00
samplefmt.h
sha.c avutil: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
sha.h
stereo3d.c avframe: add codec-independent stereoscopic metadata 2013-12-09 16:02:43 +01:00
stereo3d.h stereo3d: add missing include guards 2014-06-19 17:31:49 -04:00
time.c Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
time.h
timer.h timer: use mach_absolute_time as high resolution clock on darwin 2014-03-09 00:45:34 +01:00
tree.c tree-test: Don't return restricted exit codes 2013-10-24 10:59:26 +01:00
tree.h tree.h: K&R formatting and typo cosmetics 2013-07-31 18:14:08 +02:00
utils.c avutil: Add av_get_time_base_q() 2014-04-22 16:32:35 -04:00
version.h pixfmt: mark the reserved values 2014-06-23 17:39:03 -04:00
xtea.c xtea: Add Doxy @file and group 2014-04-07 01:31:36 +02:00
xtea.h xtea: Add Doxy @file and group 2014-04-07 01:31:36 +02:00