11b362b15af34006e6a11974088a46d42b903418eJohann/*
21b362b15af34006e6a11974088a46d42b903418eJohann *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
31b362b15af34006e6a11974088a46d42b903418eJohann *
41b362b15af34006e6a11974088a46d42b903418eJohann *  Use of this source code is governed by a BSD-style license
51b362b15af34006e6a11974088a46d42b903418eJohann *  that can be found in the LICENSE file in the root of the source
61b362b15af34006e6a11974088a46d42b903418eJohann *  tree. An additional intellectual property rights grant can be found
71b362b15af34006e6a11974088a46d42b903418eJohann *  in the file PATENTS.  All contributing project authors may
81b362b15af34006e6a11974088a46d42b903418eJohann *  be found in the AUTHORS file in the root of the source tree.
91b362b15af34006e6a11974088a46d42b903418eJohann */
101b362b15af34006e6a11974088a46d42b903418eJohann
111b362b15af34006e6a11974088a46d42b903418eJohann
12b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifndef VP8_COMMON_RECONINTRA4X4_H_
13b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define VP8_COMMON_RECONINTRA4X4_H_
141b362b15af34006e6a11974088a46d42b903418eJohann#include "vp8/common/blockd.h"
151b362b15af34006e6a11974088a46d42b903418eJohann
16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianextern "C" {
18b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif
19b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
201b362b15af34006e6a11974088a46d42b903418eJohannstatic void intra_prediction_down_copy(MACROBLOCKD *xd,
211b362b15af34006e6a11974088a46d42b903418eJohann                                             unsigned char *above_right_src)
221b362b15af34006e6a11974088a46d42b903418eJohann{
231b362b15af34006e6a11974088a46d42b903418eJohann    int dst_stride = xd->dst.y_stride;
241b362b15af34006e6a11974088a46d42b903418eJohann    unsigned char *above_right_dst = xd->dst.y_buffer - dst_stride + 16;
251b362b15af34006e6a11974088a46d42b903418eJohann
261b362b15af34006e6a11974088a46d42b903418eJohann    unsigned int *src_ptr = (unsigned int *)above_right_src;
271b362b15af34006e6a11974088a46d42b903418eJohann    unsigned int *dst_ptr0 = (unsigned int *)(above_right_dst + 4 * dst_stride);
281b362b15af34006e6a11974088a46d42b903418eJohann    unsigned int *dst_ptr1 = (unsigned int *)(above_right_dst + 8 * dst_stride);
291b362b15af34006e6a11974088a46d42b903418eJohann    unsigned int *dst_ptr2 = (unsigned int *)(above_right_dst + 12 * dst_stride);
301b362b15af34006e6a11974088a46d42b903418eJohann
311b362b15af34006e6a11974088a46d42b903418eJohann    *dst_ptr0 = *src_ptr;
321b362b15af34006e6a11974088a46d42b903418eJohann    *dst_ptr1 = *src_ptr;
331b362b15af34006e6a11974088a46d42b903418eJohann    *dst_ptr2 = *src_ptr;
341b362b15af34006e6a11974088a46d42b903418eJohann}
351b362b15af34006e6a11974088a46d42b903418eJohann
36b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
37b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian}  // extern "C"
381b362b15af34006e6a11974088a46d42b903418eJohann#endif
39b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
40b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif  // VP8_COMMON_RECONINTRA4X4_H_
41