2 * Copyright (c) 2010 Mans Rullgard
4 * This file is part of FFmpeg.
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 #include "asm-offsets.h"
24 function ff_dct_unquantize_h263_inter_neon, export=1
26 add r12, r0, #BLOCK_LAST_INDEX-0x2200
27 ldr r12, [r12, r2, lsl #2]
28 add r0, r0, #INTER_SCANTAB_RASTER_END-0x2200
36 function ff_dct_unquantize_h263_neon, export=1
37 vdup.16 q15, r0 @ qmul
38 vdup.16 q14, r2 @ qadd
44 vld1.16 {q0}, [r0,:128]!
46 vld1.16 {q8}, [r0,:128]!
55 vadd.s16 q10, q10, q11
59 vst1.16 {q0}, [r1,:128]!
60 vst1.16 {q8}, [r1,:128]!
65 vld1.16 {d0}, [r0,:64]
72 vst1.16 {d0}, [r1,:64]
76 function ff_dct_unquantize_h263_intra_neon, export=1
78 ldr r6, [r0, #AC_PRED]
84 add r12, lr, #BLOCK_LAST_INDEX-0x2200
85 add lr, lr, #INTER_SCANTAB_RASTER_END-0x2200
86 ldr r12, [r12, r2, lsl #2]
88 1: ldr r5, [r5, #H263_AIC-0x2700]
97 ldr r6, [r0, #Y_DC_SCALE]
102 bl ff_dct_unquantize_h263_neon
104 vst1.16 {d0[0]}, [r5]