On 2014-04-23 12:29:26 +0300, Martin Storsjö wrote: > On Tue, 22 Apr 2014, Janne Grunau wrote: > > >+#include "libavutil/aarch64/asm.S" > >+ > >+.macro resample_one fmt, es=2 > >+function ff_resample_one_\fmt\()_neon, export=1 > >+ sxtw x2, w2 > >+ ldr x9, [x0, #16] // filter_bank > >+ ldr w6, [x0, #24] // filter_length > >+ ldr w7, [x0, #52] // phase_shift > >+ ldr w8, [x0, #56] // phase_mask > > I missed this earlier; this probably requires something like > libavcodec/arm/asm-offsets.h to make sure it stays in sync with the > struct.
That's not the only place we all missed that. MpegEncContext is the exception where we do that. Probably due to its size and that there were actually modifications of it that broke the ASM. IIRC due to size changes of embedded structs. But nothing prevents us from adding offset checks for other structs and I actually like it since [x0, #VAR_NAME] looks better than '[x, #0x10] // var_name'. I will update the patch Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
