diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-29 16:09:46 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-29 16:10:39 +0200 |
commit | e1c3e6277f095a258a3676263202a595c044f57b (patch) | |
tree | 4e76431ceccf5d8180d1463037f6ac52373dbe75 /libavcodec/arm/fmtconvert_vfp.S | |
parent | 946f080b54b009271937035a71ee24b8b856e340 (diff) | |
parent | f0389eb777b1ab4291329d4f709098cdfa7384dc (diff) |
Merge commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc'
* commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc':
arm: fmtconvert: Split armv6 fmtconvert code off from vfp code
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/arm/fmtconvert_vfp.S')
-rw-r--r-- | libavcodec/arm/fmtconvert_vfp.S | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/libavcodec/arm/fmtconvert_vfp.S b/libavcodec/arm/fmtconvert_vfp.S index a6d4ebdbbc..b14af454eb 100644 --- a/libavcodec/arm/fmtconvert_vfp.S +++ b/libavcodec/arm/fmtconvert_vfp.S @@ -1,5 +1,4 @@ /* - * Copyright (c) 2008 Siarhei Siamashka <ssvb@users.sourceforge.net> * Copyright (c) 2013 RISC OS Open Ltd <bavison@riscosopen.org> * * This file is part of FFmpeg. @@ -23,62 +22,6 @@ #include "libavutil/arm/asm.S" /** - * ARM VFP optimized float to int16 conversion. - * Assume that len is a positive number and is multiple of 8, destination - * buffer is at least 4 bytes aligned (8 bytes alignment is better for - * performance), little-endian byte sex. - */ -@ void ff_float_to_int16_vfp(int16_t *dst, const float *src, int len) -function ff_float_to_int16_vfp, export=1 - push {r4-r8,lr} - vpush {d8-d11} - vldmia r1!, {s16-s23} - vcvt.s32.f32 s0, s16 - vcvt.s32.f32 s1, s17 - vcvt.s32.f32 s2, s18 - vcvt.s32.f32 s3, s19 - vcvt.s32.f32 s4, s20 - vcvt.s32.f32 s5, s21 - vcvt.s32.f32 s6, s22 - vcvt.s32.f32 s7, s23 -1: - subs r2, r2, #8 - vmov r3, r4, s0, s1 - vmov r5, r6, s2, s3 - vmov r7, r8, s4, s5 - vmov ip, lr, s6, s7 - it gt - vldmiagt r1!, {s16-s23} - ssat r4, #16, r4 - ssat r3, #16, r3 - ssat r6, #16, r6 - ssat r5, #16, r5 - pkhbt r3, r3, r4, lsl #16 - pkhbt r4, r5, r6, lsl #16 - itttt gt - vcvtgt.s32.f32 s0, s16 - vcvtgt.s32.f32 s1, s17 - vcvtgt.s32.f32 s2, s18 - vcvtgt.s32.f32 s3, s19 - itttt gt - vcvtgt.s32.f32 s4, s20 - vcvtgt.s32.f32 s5, s21 - vcvtgt.s32.f32 s6, s22 - vcvtgt.s32.f32 s7, s23 - ssat r8, #16, r8 - ssat r7, #16, r7 - ssat lr, #16, lr - ssat ip, #16, ip - pkhbt r5, r7, r8, lsl #16 - pkhbt r6, ip, lr, lsl #16 - stmia r0!, {r3-r6} - bgt 1b - - vpop {d8-d11} - pop {r4-r8,pc} -endfunc - -/** * ARM VFP optimised int32 to float conversion. * Assume len is a multiple of 8, destination buffer is at least 4 bytes aligned * (16 bytes alignment is best for BCM2835), little-endian. |