2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4 ; Use of this source code is governed by a BSD-style license
5 ; that can be found in the LICENSE file in the root of the source
6 ; tree. An additional intellectual property rights grant can be found
7 ; in the file PATENTS. All contributing project authors may
8 ; be found in the AUTHORS file in the root of the source tree.
12 EXPORT |vp8_recon4b_neon|
17 AREA ||.text||
, CODE
, READONLY
, ALIGN=2
19 ; r0 unsigned char *pred_ptr,
21 ; r2 unsigned char *dst_ptr,
24 |vp8_recon4b_neon|
PROC
25 vld1.u8
{q12, q13}, [r0
]! ;load data from pred_ptr
26 vld1.16
{q8, q9}, [r1
]! ;load data from diff_ptr
27 vld1.u8
{q14, q15}, [r0
]
28 vld1.16
{q10, q11}, [r1
]!
30 vmovl.u8 q0
, d24
;modify Pred data from 8 bits to 16 bits
37 vld1.16
{q12, q13}, [r1
]!
39 vld1.16
{q14, q15}, [r1
]
41 vadd.s16 q0
, q0
, q8
;add Diff data and Pred data together
50 vqmovun.s16 d0
, q0
;CLAMP() saturation
60 vst1.u8
{q0}, [r2
] ;store result
61 vst1.u8
{q1}, [r0
], r3
64 vst1.u8
{q3}, [r2
], r3