[FFmpeg-devel] ARM-NEON patches
Måns Rullgård
mans
Wed Jul 7 12:32:35 CEST 2010
Pavel Pavlov <pavel at summit-tech.ca> writes:
> ELF-attrs.patch : elf specific attributes in arm asm.
> ff_dsputil_init_neon_DEPENDS.patch : proper dependencies in arm Makefile. ff_dsputil_init_neon references ff_vp3_idct_XXX functions for vp3, vp5 and vp6.
> neon-wince.patch : asm-offsets.h for windows and movrel cannot use movt/movw for relocatable symbols
>
>
> Index: libavcodec/arm/fft_neon.S
> ===================================================================
> --- libavcodec/arm/fft_neon.S (revision 24078)
> +++ libavcodec/arm/fft_neon.S (working copy)
> @@ -364,7 +364,7 @@
> .word fft16384_neon
> .word fft32768_neon
> .word fft65536_neon
> - .size fft_tab_neon, . - fft_tab_neon
> +ELF .size fft_tab_neon, . - fft_tab_neon
>
> .align 4
The size of things is not an ELF-specific.
> pmmp: .float +1.0, -1.0, -1.0, +1.0
> Index: libavcodec/arm/simple_idct_neon.S
> ===================================================================
> --- libavcodec/arm/simple_idct_neon.S (revision 24078)
> +++ libavcodec/arm/simple_idct_neon.S (working copy)
> @@ -243,7 +243,7 @@
> .align 4
> idct_coeff_neon:
> .short W1, W2, W3, W4, W5, W6, W7, W4c
> - .previous
> +ELF .previous
>
> .macro idct_start data
> push {r4-r7, lr}
WTF? This will put code in the data section.
> Index: libavcodec/arm/asm-offsets.h
> ===================================================================
> --- libavcodec/arm/asm-offsets.h (revision 24078)
> +++ libavcodec/arm/asm-offsets.h (working copy)
> @@ -29,7 +29,7 @@
> #endif
>
> /* MpegEncContext */
> -#if defined(__ARM_EABI__) || defined(__eabi__)
> +#if defined(__ARM_EABI__) || defined(__eabi__) || defined(_WIN32)
> #define Y_DC_SCALE 0xa54
> #define C_DC_SCALE 0xa58
> #define AC_PRED 0xa80
What ABI does wince/arm use? Besides, these offsets are only used by
NEON code, and wince doesn't support NEON, so this shouldn't be needed
regardless.
> Index: libavcodec/arm/asm.S
> ===================================================================
> --- libavcodec/arm/asm.S (revision 24078)
> +++ libavcodec/arm/asm.S (working copy)
> @@ -61,7 +61,7 @@
> .endm
>
> .macro movrel rd, val
> -#if HAVE_ARMV6T2 && !CONFIG_PIC
> +#if HAVE_ARMV6T2 && !CONFIG_PIC && !defined(_WIN32)
> movw \rd, #:lower16:\val
> movt \rd, #:upper16:\val
> #else
Wince doesn't support relocations?
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list