chromium/third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c

/*
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#include <assert.h>

#include "vp9/common/vp9_scan.h"

DECLARE_ALIGNED(16, static const int16_t, default_scan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, col_scan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, row_scan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, default_scan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, col_scan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, row_scan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, default_scan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, col_scan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, row_scan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, default_scan_32x32[1024]) =;

// Neighborhood 2-tuples for various scans and blocksizes,
// in {top, left} order for each position in corresponding scan order.
DECLARE_ALIGNED(16, static const int16_t,
                default_scan_4x4_neighbors[17 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                col_scan_4x4_neighbors[17 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                row_scan_4x4_neighbors[17 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                col_scan_8x8_neighbors[65 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                row_scan_8x8_neighbors[65 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                default_scan_8x8_neighbors[65 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                col_scan_16x16_neighbors[257 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                row_scan_16x16_neighbors[257 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                default_scan_16x16_neighbors[257 * MAX_NEIGHBORS]) =;

DECLARE_ALIGNED(16, static const int16_t,
                default_scan_32x32_neighbors[1025 * MAX_NEIGHBORS]) =;

// Add 1 to iscan values. This represents the EOB position instead of the index.
DECLARE_ALIGNED(16, static const int16_t, vp9_default_iscan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_col_iscan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_row_iscan_4x4[16]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_col_iscan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_row_iscan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_default_iscan_8x8[64]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_col_iscan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_row_iscan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_default_iscan_16x16[256]) =;

DECLARE_ALIGNED(16, static const int16_t, vp9_default_iscan_32x32[1024]) =;

const ScanOrder vp9_default_scan_orders[TX_SIZES] =;

const ScanOrder vp9_scan_orders[TX_SIZES][TX_TYPES] =;