summaryrefslogtreecommitdiff
path: root/libavcodec/armv4l/mpegvideo_armv5te_s.S
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2008-12-17 00:54:54 +0000
committerMåns Rullgård <mans@mansr.com>2008-12-17 00:54:54 +0000
commita2fc0f6a6ddf884ace3c96a0d4f09f0932e6db32 (patch)
tree44b807b924e29465a6aed924fcb53c719a83a956 /libavcodec/armv4l/mpegvideo_armv5te_s.S
parent2600f8c86dcaa411a0485b1518e5e1592374aaf6 (diff)
ARM: replace "armv4l" with "arm"
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/armv4l/mpegvideo_armv5te_s.S')
-rw-r--r--libavcodec/armv4l/mpegvideo_armv5te_s.S117
1 files changed, 0 insertions, 117 deletions
diff --git a/libavcodec/armv4l/mpegvideo_armv5te_s.S b/libavcodec/armv4l/mpegvideo_armv5te_s.S
deleted file mode 100644
index aaa252d3b7..0000000000
--- a/libavcodec/armv4l/mpegvideo_armv5te_s.S
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Optimization of some functions from mpegvideo.c for armv5te
- * Copyright (c) 2007 Siarhei Siamashka <ssvb@users.sourceforge.net>
- *
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "config.h"
-#include "asm.S"
-
-/*
- * Special optimized version of dct_unquantize_h263_helper_c, it
- * requires the block to be at least 8 bytes aligned, and may process
- * more elements than requested. But it is guaranteed to never
- * process more than 64 elements provided that count argument is <= 64,
- * so it is safe. This function is optimized for a common distribution
- * of values for nCoeffs (they are mostly multiple of 8 plus one or
- * two extra elements). So this function processes data as 8 elements
- * per loop iteration and contains optional 2 elements processing in
- * the end.
- *
- * Inner loop should take 6 cycles per element on arm926ej-s (Nokia 770)
- */
-function ff_dct_unquantize_h263_armv5te, export=1
- push {r4-r9,lr}
- mov ip, #0
- subs r3, r3, #2
- ble 2f
- ldrd r4, [r0, #0]
-1:
- ldrd r6, [r0, #8]
-
- rsbs r9, ip, r4, asr #16
- addgt r9, r2, #0
- rsblt r9, r2, #0
- smlatbne r9, r4, r1, r9
-
- rsbs lr, ip, r5, asr #16
- addgt lr, r2, #0
- rsblt lr, r2, #0
- smlatbne lr, r5, r1, lr
-
- rsbs r8, ip, r4, asl #16
- addgt r8, r2, #0
- rsblt r8, r2, #0
- smlabbne r4, r4, r1, r8
-
- rsbs r8, ip, r5, asl #16
- addgt r8, r2, #0
- rsblt r8, r2, #0
- smlabbne r5, r5, r1, r8
-
- strh r4, [r0], #2
- strh r9, [r0], #2
- strh r5, [r0], #2
- strh lr, [r0], #2
-
- rsbs r9, ip, r6, asr #16
- addgt r9, r2, #0
- rsblt r9, r2, #0
- smlatbne r9, r6, r1, r9
-
- rsbs lr, ip, r7, asr #16
- addgt lr, r2, #0
- rsblt lr, r2, #0
- smlatbne lr, r7, r1, lr
-
- rsbs r8, ip, r6, asl #16
- addgt r8, r2, #0
- rsblt r8, r2, #0
- smlabbne r6, r6, r1, r8
-
- rsbs r8, ip, r7, asl #16
- addgt r8, r2, #0
- rsblt r8, r2, #0
- smlabbne r7, r7, r1, r8
-
- strh r6, [r0], #2
- strh r9, [r0], #2
- strh r7, [r0], #2
- strh lr, [r0], #2
-
- subs r3, r3, #8
- ldrgtd r4, [r0, #0] /* load data early to avoid load/use pipeline stall */
- bgt 1b
-
- adds r3, r3, #2
- pople {r4-r9,pc}
-2:
- ldrsh r9, [r0, #0]
- ldrsh lr, [r0, #2]
- mov r8, r2
- cmp r9, #0
- rsblt r8, r2, #0
- smlabbne r9, r9, r1, r8
- mov r8, r2
- cmp lr, #0
- rsblt r8, r2, #0
- smlabbne lr, lr, r1, r8
- strh r9, [r0], #2
- strh lr, [r0], #2
- pop {r4-r9,pc}
- .endfunc