diff options
author | Jim Bankoski <jimbankoski@google.com> | 2013-11-19 12:50:48 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2013-11-19 12:55:44 -0800 |
commit | ff4f1c4b7663695aed883dc66221bb0899f11ac2 (patch) | |
tree | 1c981e5e9089c37297197ea94ab46d3d62beb471 /vp9/common/vp9_scan.c | |
parent | 5b3a8563deb9341300354dced690ba4e390ee590 (diff) | |
download | libvpx-ff4f1c4b7663695aed883dc66221bb0899f11ac2.tar libvpx-ff4f1c4b7663695aed883dc66221bb0899f11ac2.tar.gz libvpx-ff4f1c4b7663695aed883dc66221bb0899f11ac2.tar.bz2 libvpx-ff4f1c4b7663695aed883dc66221bb0899f11ac2.zip |
scan order / neighbors converted to lookup
Change-Id: I64b189dfeee1cf3e90134a1a93497072f3361e5e
Diffstat (limited to 'vp9/common/vp9_scan.c')
-rw-r--r-- | vp9/common/vp9_scan.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/vp9/common/vp9_scan.c b/vp9/common/vp9_scan.c index f17da9110..f62150fd4 100644 --- a/vp9/common/vp9_scan.c +++ b/vp9/common/vp9_scan.c @@ -266,6 +266,62 @@ DECLARE_ALIGNED(16, int16_t, vp9_row_iscan_16x16[256]); DECLARE_ALIGNED(16, int16_t, vp9_default_iscan_16x16[256]); DECLARE_ALIGNED(16, int16_t, vp9_default_iscan_32x32[1024]); +const scan_order inter_scan_orders[TX_SIZES] = { + {vp9_default_scan_4x4, vp9_default_scan_4x4_neighbors}, // NEWMV + {vp9_default_scan_8x8, vp9_default_scan_8x8_neighbors}, // NEWMV + {vp9_default_scan_16x16, vp9_default_scan_16x16_neighbors}, // NEWMV + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // NEWMV +}; + +const scan_order intra_scan_orders[TX_SIZES][INTRA_MODES] = { + { // 4X4 + {vp9_default_scan_4x4, vp9_default_scan_4x4_neighbors}, // DC + {vp9_row_scan_4x4, vp9_row_scan_4x4_neighbors}, // V + {vp9_col_scan_4x4, vp9_col_scan_4x4_neighbors}, // H + {vp9_default_scan_4x4, vp9_default_scan_4x4_neighbors}, // D45 + {vp9_default_scan_4x4, vp9_default_scan_4x4_neighbors}, // D135 + {vp9_row_scan_4x4, vp9_row_scan_4x4_neighbors}, // D117 + {vp9_col_scan_4x4, vp9_col_scan_4x4_neighbors}, // D153 + {vp9_col_scan_4x4, vp9_col_scan_4x4_neighbors}, // D207 + {vp9_row_scan_4x4, vp9_row_scan_4x4_neighbors}, // D63 + {vp9_default_scan_4x4, vp9_default_scan_4x4_neighbors}, // TM + }, { // 8x8 + {vp9_default_scan_8x8, vp9_default_scan_8x8_neighbors}, // DC + {vp9_row_scan_8x8, vp9_row_scan_8x8_neighbors}, // V + {vp9_col_scan_8x8, vp9_col_scan_8x8_neighbors}, // H + {vp9_default_scan_8x8, vp9_default_scan_8x8_neighbors}, // D45 + {vp9_default_scan_8x8, vp9_default_scan_8x8_neighbors}, // D135 + {vp9_row_scan_8x8, vp9_row_scan_8x8_neighbors}, // D117 + {vp9_col_scan_8x8, vp9_col_scan_8x8_neighbors}, // D153 + {vp9_col_scan_8x8, vp9_col_scan_8x8_neighbors}, // D207 + {vp9_row_scan_8x8, vp9_row_scan_8x8_neighbors}, // D63 + {vp9_default_scan_8x8, vp9_default_scan_8x8_neighbors}, // TM + }, { // 16x16 + {vp9_default_scan_16x16, vp9_default_scan_16x16_neighbors}, // DC + {vp9_row_scan_16x16, vp9_row_scan_16x16_neighbors}, // V + {vp9_col_scan_16x16, vp9_col_scan_16x16_neighbors}, // H + {vp9_default_scan_16x16, vp9_default_scan_16x16_neighbors}, // D45 + {vp9_default_scan_16x16, vp9_default_scan_16x16_neighbors}, // D135 + {vp9_row_scan_16x16, vp9_row_scan_16x16_neighbors}, // D117 + {vp9_col_scan_16x16, vp9_col_scan_16x16_neighbors}, // D153 + {vp9_col_scan_16x16, vp9_col_scan_16x16_neighbors}, // D207 + {vp9_row_scan_16x16, vp9_row_scan_16x16_neighbors}, // D63 + {vp9_default_scan_16x16, vp9_default_scan_16x16_neighbors}, // TM + }, { // 32x32 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // DC + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // V + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // H + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D45 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D135 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D117 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D153 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D207 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // D63 + {vp9_default_scan_32x32, vp9_default_scan_32x32_neighbors}, // TM + } +}; + + static int find_in_scan(const int16_t *scan, int l, int idx) { int n, l2 = l * l; for (n = 0; n < l2; n++) { |