mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Mirror of https://git.ffmpeg.org/ffmpeg.git
adebad07e0
With a dereferenced type-cast pointer as memory operand, gcc 4.6 and later will sometimes copy the data to a temporary location, the address of which is used as the operand value, if it thinks the target address might be misaligned. Using a pointer to a packed struct type instead does the right thing. The 16-bit case is special since the ldrh instruction addressing modes are limited compared to ldr. The "Uq" constraint produces a memory reference suitable for an ldrsb instruction, which supports the same addressing modes as ldrh. However, the restrictions appear to apply only when the operand addresses a single byte. The memory reference must thus be split into two operands each targeting one byte. Finally, the "Uq" constraint is only available in ARM mode. The Thumb-2 ldrh instruction supports most addressing modes so the normal "m" constraint can be used there. Signed-off-by: Mans Rullgard <mans@mansr.com> |
||
---|---|---|
doc | ||
libavcodec | ||
libavdevice | ||
libavfilter | ||
libavformat | ||
libavresample | ||
libavutil | ||
libswscale | ||
presets | ||
tests | ||
tools | ||
.gitignore | ||
arch.mak | ||
avconv.c | ||
avplay.c | ||
avprobe.c | ||
avserver.c | ||
Changelog | ||
cmdutils_common_opts.h | ||
cmdutils.c | ||
cmdutils.h | ||
common.mak | ||
configure | ||
COPYING.GPLv2 | ||
COPYING.GPLv3 | ||
COPYING.LGPLv2.1 | ||
COPYING.LGPLv3 | ||
CREDITS | ||
Doxyfile | ||
INSTALL | ||
library.mak | ||
LICENSE | ||
Makefile | ||
README | ||
RELEASE | ||
version.sh |
Libav README ------------ 1) Documentation ---------------- * Read the documentation in the doc/ directory. 2) Licensing ------------ * See the LICENSE file.