1411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org/* 2411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 3411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * 4411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * Use of this source code is governed by a BSD-style license 5411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * that can be found in the LICENSE file in the root of the source 6411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * tree. An additional intellectual property rights grant can be found 7411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * in the file PATENTS. All contributing project authors may 8411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org * be found in the AUTHORS file in the root of the source tree. 9411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org */ 10411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org 11411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org#include <arm_neon.h> 12411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org 137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#include "vp8/common/blockd.h" 147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequantize_b_neon(BLOCKD *d, short *DQC) { 16411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org int16x8x2_t qQ, qDQC, qDQ; 17411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org 187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org qQ = vld2q_s16(d->qcoeff); 19411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org qDQC = vld2q_s16(DQC); 20411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org 21411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org qDQ.val[0] = vmulq_s16(qQ.val[0], qDQC.val[0]); 22411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org qDQ.val[1] = vmulq_s16(qQ.val[1], qDQC.val[1]); 23411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org 247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org vst2q_s16(d->dqcoeff, qDQ); 25411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org} 26