15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 Google Inc. All Rights Reserved.
25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//
35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license
45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// that can be found in the COPYING file in the root of the source
55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// tree. An additional intellectual property rights grant can be found
65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// in the file PATENTS. All contributing project authors may
75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// be found in the AUTHORS file in the root of the source tree.
85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// -----------------------------------------------------------------------------
95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//
105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Clipping tables for filtering
115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//
125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Author: Skal (pascal.massimino@gmail.com)
135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "./dsp.h"
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define USE_STATIC_TABLES     // undefine to have run-time table initialization
175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifdef USE_STATIC_TABLES
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static const uint8_t abs0[255 + 255 + 1] = {
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4,
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf3, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0, 0xdf, 0xde, 0xdd, 0xdc,
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xdb, 0xda, 0xd9, 0xd8, 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xcf, 0xce, 0xcd, 0xcc, 0xcb, 0xca, 0xc9, 0xc8, 0xc7, 0xc6, 0xc5, 0xc4,
265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xc3, 0xc2, 0xc1, 0xc0, 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0, 0xaf, 0xae, 0xad, 0xac,
285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xab, 0xaa, 0xa9, 0xa8, 0xa7, 0xa6, 0xa5, 0xa4, 0xa3, 0xa2, 0xa1, 0xa0,
295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x9f, 0x9e, 0x9d, 0x9c, 0x9b, 0x9a, 0x99, 0x98, 0x97, 0x96, 0x95, 0x94,
305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x93, 0x92, 0x91, 0x90, 0x8f, 0x8e, 0x8d, 0x8c, 0x8b, 0x8a, 0x89, 0x88,
315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x87, 0x86, 0x85, 0x84, 0x83, 0x82, 0x81, 0x80, 0x7f, 0x7e, 0x7d, 0x7c,
325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7b, 0x7a, 0x79, 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, 0x72, 0x71, 0x70,
335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64,
345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58,
355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c,
365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40,
375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28,
395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c,
405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x1b, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10,
415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04,
425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x03, 0x02, 0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44,
485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c,
505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80,
535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c,
545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc,
585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,
595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec,
625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)};
655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static const int8_t sclip1[1020 + 1020 + 1] = {
675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
1415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93,
1435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab,
1455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3,
1475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb,
1495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3,
1515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
1535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
1555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
1575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
1595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b,
1615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
1995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
2365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f
2375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)};
2385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
2395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static const int8_t sclip2[112 + 112 + 1] = {
2405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
2485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,
2495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
2585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f
2595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)};
2605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
2615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static const uint8_t clip1[255 + 511 + 1] = {
2625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2675f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
2845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
2855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
2865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c,
2875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
2885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44,
2895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
2905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c,
2915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
2925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
2935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80,
2945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c,
2955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
2965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
2975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
2985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc,
2995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,
3005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
3015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0,
3025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec,
3035f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
3045f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3055f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
3265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)};
3275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#else
3295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// uninitialized tables
3315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static uint8_t abs0[255 + 255 + 1];
3325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static int8_t sclip1[1020 + 1020 + 1];
3335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static int8_t sclip2[112 + 112 + 1];
3345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static uint8_t clip1[255 + 511 + 1];
3355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// We declare this variable 'volatile' to prevent instruction reordering
3375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// and make sure it's set to true _last_ (so as to be thread-safe)
3385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)static volatile int tables_ok = 0;
3395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif
3415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)const int8_t* const VP8ksclip1 = &sclip1[1020];
3435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)const int8_t* const VP8ksclip2 = &sclip2[112];
3445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)const uint8_t* const VP8kclip1 = &clip1[255];
3455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)const uint8_t* const VP8kabs0 = &abs0[255];
3465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
3475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void VP8InitClipTables(void) {
3485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if !defined(USE_STATIC_TABLES)
3495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  int i;
3505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  if (!tables_ok) {
3515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    for (i = -255; i <= 255; ++i) {
3525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      abs0[255 + i] = (i < 0) ? -i : i;
3535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    }
3545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    for (i = -1020; i <= 1020; ++i) {
3555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      sclip1[1020 + i] = (i < -128) ? -128 : (i > 127) ? 127 : i;
3565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    }
3575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    for (i = -112; i <= 112; ++i) {
3585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      sclip2[112 + i] = (i < -16) ? -16 : (i > 15) ? 15 : i;
3595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    }
3605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    for (i = -255; i <= 255 + 255; ++i) {
3615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      clip1[255 + i] = (i < 0) ? 0 : (i > 255) ? 255 : i;
3625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    }
3635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    tables_ok = 1;
3645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  }
3655f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif    // USE_STATIC_TABLES
3665f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
367