diff options
author | Monty <xiphmont@xiph.org> | 2002-10-16 09:07:00 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2002-10-16 09:07:00 +0000 |
commit | 53ce9e87fa11300647020ab6dd0a964ce0ff5a19 (patch) | |
tree | bab451f9f285a4bd7583a4871af7f34254a0cb25 /floor1.c | |
parent | 93e8099a940fa6a34d52f027be9956c947c44ba6 (diff) | |
download | tremor-53ce9e87fa11300647020ab6dd0a964ce0ff5a19.tar.gz |
Nicolas Pitre's LOW_ACCURACY patch
git-svn-id: https://svn.xiph.org/trunk/Tremor@4012 0101bb08-14d6-0310-b084-bc0e0c8e3800
Diffstat (limited to 'floor1.c')
-rw-r--r-- | floor1.c | 138 |
1 files changed, 71 insertions, 67 deletions
@@ -25,8 +25,6 @@ #include "codebook.h" #include "misc.h" -#include <stdio.h> - #define floor1_rangedB 140 /* floor 1 fixed at -140dB to 0dB range */ typedef struct { @@ -216,73 +214,79 @@ static int render_point(int x0,int x1,int y0,int y1,int x){ } } +#ifdef _LOW_ACCURACY_ +# define X(n) ((((n)>>8)+1)>>1) +#else +# define X(n) (n) +#endif + static const ogg_int32_t FLOOR_fromdB_LOOKUP[256]={ - 0x000000e5, 0x000000f4, 0x00000103, 0x00000114, - 0x00000126, 0x00000139, 0x0000014e, 0x00000163, - 0x0000017a, 0x00000193, 0x000001ad, 0x000001c9, - 0x000001e7, 0x00000206, 0x00000228, 0x0000024c, - 0x00000272, 0x0000029b, 0x000002c6, 0x000002f4, - 0x00000326, 0x0000035a, 0x00000392, 0x000003cd, - 0x0000040c, 0x00000450, 0x00000497, 0x000004e4, - 0x00000535, 0x0000058c, 0x000005e8, 0x0000064a, - 0x000006b3, 0x00000722, 0x00000799, 0x00000818, - 0x0000089e, 0x0000092e, 0x000009c6, 0x00000a69, - 0x00000b16, 0x00000bcf, 0x00000c93, 0x00000d64, - 0x00000e43, 0x00000f30, 0x0000102d, 0x0000113a, - 0x00001258, 0x0000138a, 0x000014cf, 0x00001629, - 0x0000179a, 0x00001922, 0x00001ac4, 0x00001c82, - 0x00001e5c, 0x00002055, 0x0000226f, 0x000024ac, - 0x0000270e, 0x00002997, 0x00002c4b, 0x00002f2c, - 0x0000323d, 0x00003581, 0x000038fb, 0x00003caf, - 0x000040a0, 0x000044d3, 0x0000494c, 0x00004e10, - 0x00005323, 0x0000588a, 0x00005e4b, 0x0000646b, - 0x00006af2, 0x000071e5, 0x0000794c, 0x0000812e, - 0x00008993, 0x00009283, 0x00009c09, 0x0000a62d, - 0x0000b0f9, 0x0000bc79, 0x0000c8b9, 0x0000d5c4, - 0x0000e3a9, 0x0000f274, 0x00010235, 0x000112fd, - 0x000124dc, 0x000137e4, 0x00014c29, 0x000161bf, - 0x000178bc, 0x00019137, 0x0001ab4a, 0x0001c70e, - 0x0001e4a1, 0x0002041f, 0x000225aa, 0x00024962, - 0x00026f6d, 0x000297f0, 0x0002c316, 0x0002f109, - 0x000321f9, 0x00035616, 0x00038d97, 0x0003c8b4, - 0x000407a7, 0x00044ab2, 0x00049218, 0x0004de23, - 0x00052f1e, 0x0005855c, 0x0005e135, 0x00064306, - 0x0006ab33, 0x00071a24, 0x0007904b, 0x00080e20, - 0x00089422, 0x000922da, 0x0009bad8, 0x000a5cb6, - 0x000b091a, 0x000bc0b1, 0x000c8436, 0x000d5471, - 0x000e3233, 0x000f1e5f, 0x001019e4, 0x001125c1, - 0x00124306, 0x001372d5, 0x0014b663, 0x00160ef7, - 0x00177df0, 0x001904c1, 0x001aa4f9, 0x001c603d, - 0x001e384f, 0x00202f0f, 0x0022467a, 0x002480b1, - 0x0026dff7, 0x002966b3, 0x002c1776, 0x002ef4fc, - 0x0032022d, 0x00354222, 0x0038b828, 0x003c67c2, - 0x004054ae, 0x004482e8, 0x0048f6af, 0x004db488, - 0x0052c142, 0x005821ff, 0x005ddc33, 0x0063f5b0, - 0x006a74a7, 0x00715faf, 0x0078bdce, 0x0080967f, - 0x0088f1ba, 0x0091d7f9, 0x009b5247, 0x00a56a41, - 0x00b02a27, 0x00bb9ce2, 0x00c7ce12, 0x00d4ca17, - 0x00e29e20, 0x00f15835, 0x0101074b, 0x0111bb4e, - 0x01238531, 0x01367704, 0x014aa402, 0x016020a7, - 0x017702c3, 0x018f6190, 0x01a955cb, 0x01c4f9cf, - 0x01e269a8, 0x0201c33b, 0x0223265a, 0x0246b4ea, - 0x026c9302, 0x0294e716, 0x02bfda13, 0x02ed9793, - 0x031e4e09, 0x03522ee4, 0x03896ed0, 0x03c445e2, - 0x0402efd6, 0x0445ac4b, 0x048cbefc, 0x04d87013, - 0x05290c67, 0x057ee5ca, 0x05da5364, 0x063bb204, - 0x06a36485, 0x0711d42b, 0x0787710e, 0x0804b299, - 0x088a17ef, 0x0918287e, 0x09af747c, 0x0a50957e, - 0x0afc2f19, 0x0bb2ef7f, 0x0c759034, 0x0d44d6ca, - 0x0e2195bc, 0x0f0cad0d, 0x10070b62, 0x1111aeea, - 0x122da66c, 0x135c120f, 0x149e24d9, 0x15f525b1, - 0x176270e3, 0x18e7794b, 0x1a85c9ae, 0x1c3f06d1, - 0x1e14f07d, 0x200963d7, 0x221e5ccd, 0x2455f870, - 0x26b2770b, 0x29363e2b, 0x2be3db5c, 0x2ebe06b6, - 0x31c7a55b, 0x3503ccd4, 0x3875c5aa, 0x3c210f44, - 0x4009632b, 0x4432b8cf, 0x48a149bc, 0x4d59959e, - 0x52606733, 0x57bad899, 0x5d6e593a, 0x6380b298, - 0x69f80e9a, 0x70dafda8, 0x78307d76, 0x7fffffff, + X(0x000000e5), X(0x000000f4), X(0x00000103), X(0x00000114), + X(0x00000126), X(0x00000139), X(0x0000014e), X(0x00000163), + X(0x0000017a), X(0x00000193), X(0x000001ad), X(0x000001c9), + X(0x000001e7), X(0x00000206), X(0x00000228), X(0x0000024c), + X(0x00000272), X(0x0000029b), X(0x000002c6), X(0x000002f4), + X(0x00000326), X(0x0000035a), X(0x00000392), X(0x000003cd), + X(0x0000040c), X(0x00000450), X(0x00000497), X(0x000004e4), + X(0x00000535), X(0x0000058c), X(0x000005e8), X(0x0000064a), + X(0x000006b3), X(0x00000722), X(0x00000799), X(0x00000818), + X(0x0000089e), X(0x0000092e), X(0x000009c6), X(0x00000a69), + X(0x00000b16), X(0x00000bcf), X(0x00000c93), X(0x00000d64), + X(0x00000e43), X(0x00000f30), X(0x0000102d), X(0x0000113a), + X(0x00001258), X(0x0000138a), X(0x000014cf), X(0x00001629), + X(0x0000179a), X(0x00001922), X(0x00001ac4), X(0x00001c82), + X(0x00001e5c), X(0x00002055), X(0x0000226f), X(0x000024ac), + X(0x0000270e), X(0x00002997), X(0x00002c4b), X(0x00002f2c), + X(0x0000323d), X(0x00003581), X(0x000038fb), X(0x00003caf), + X(0x000040a0), X(0x000044d3), X(0x0000494c), X(0x00004e10), + X(0x00005323), X(0x0000588a), X(0x00005e4b), X(0x0000646b), + X(0x00006af2), X(0x000071e5), X(0x0000794c), X(0x0000812e), + X(0x00008993), X(0x00009283), X(0x00009c09), X(0x0000a62d), + X(0x0000b0f9), X(0x0000bc79), X(0x0000c8b9), X(0x0000d5c4), + X(0x0000e3a9), X(0x0000f274), X(0x00010235), X(0x000112fd), + X(0x000124dc), X(0x000137e4), X(0x00014c29), X(0x000161bf), + X(0x000178bc), X(0x00019137), X(0x0001ab4a), X(0x0001c70e), + X(0x0001e4a1), X(0x0002041f), X(0x000225aa), X(0x00024962), + X(0x00026f6d), X(0x000297f0), X(0x0002c316), X(0x0002f109), + X(0x000321f9), X(0x00035616), X(0x00038d97), X(0x0003c8b4), + X(0x000407a7), X(0x00044ab2), X(0x00049218), X(0x0004de23), + X(0x00052f1e), X(0x0005855c), X(0x0005e135), X(0x00064306), + X(0x0006ab33), X(0x00071a24), X(0x0007904b), X(0x00080e20), + X(0x00089422), X(0x000922da), X(0x0009bad8), X(0x000a5cb6), + X(0x000b091a), X(0x000bc0b1), X(0x000c8436), X(0x000d5471), + X(0x000e3233), X(0x000f1e5f), X(0x001019e4), X(0x001125c1), + X(0x00124306), X(0x001372d5), X(0x0014b663), X(0x00160ef7), + X(0x00177df0), X(0x001904c1), X(0x001aa4f9), X(0x001c603d), + X(0x001e384f), X(0x00202f0f), X(0x0022467a), X(0x002480b1), + X(0x0026dff7), X(0x002966b3), X(0x002c1776), X(0x002ef4fc), + X(0x0032022d), X(0x00354222), X(0x0038b828), X(0x003c67c2), + X(0x004054ae), X(0x004482e8), X(0x0048f6af), X(0x004db488), + X(0x0052c142), X(0x005821ff), X(0x005ddc33), X(0x0063f5b0), + X(0x006a74a7), X(0x00715faf), X(0x0078bdce), X(0x0080967f), + X(0x0088f1ba), X(0x0091d7f9), X(0x009b5247), X(0x00a56a41), + X(0x00b02a27), X(0x00bb9ce2), X(0x00c7ce12), X(0x00d4ca17), + X(0x00e29e20), X(0x00f15835), X(0x0101074b), X(0x0111bb4e), + X(0x01238531), X(0x01367704), X(0x014aa402), X(0x016020a7), + X(0x017702c3), X(0x018f6190), X(0x01a955cb), X(0x01c4f9cf), + X(0x01e269a8), X(0x0201c33b), X(0x0223265a), X(0x0246b4ea), + X(0x026c9302), X(0x0294e716), X(0x02bfda13), X(0x02ed9793), + X(0x031e4e09), X(0x03522ee4), X(0x03896ed0), X(0x03c445e2), + X(0x0402efd6), X(0x0445ac4b), X(0x048cbefc), X(0x04d87013), + X(0x05290c67), X(0x057ee5ca), X(0x05da5364), X(0x063bb204), + X(0x06a36485), X(0x0711d42b), X(0x0787710e), X(0x0804b299), + X(0x088a17ef), X(0x0918287e), X(0x09af747c), X(0x0a50957e), + X(0x0afc2f19), X(0x0bb2ef7f), X(0x0c759034), X(0x0d44d6ca), + X(0x0e2195bc), X(0x0f0cad0d), X(0x10070b62), X(0x1111aeea), + X(0x122da66c), X(0x135c120f), X(0x149e24d9), X(0x15f525b1), + X(0x176270e3), X(0x18e7794b), X(0x1a85c9ae), X(0x1c3f06d1), + X(0x1e14f07d), X(0x200963d7), X(0x221e5ccd), X(0x2455f870), + X(0x26b2770b), X(0x29363e2b), X(0x2be3db5c), X(0x2ebe06b6), + X(0x31c7a55b), X(0x3503ccd4), X(0x3875c5aa), X(0x3c210f44), + X(0x4009632b), X(0x4432b8cf), X(0x48a149bc), X(0x4d59959e), + X(0x52606733), X(0x57bad899), X(0x5d6e593a), X(0x6380b298), + X(0x69f80e9a), X(0x70dafda8), X(0x78307d76), X(0x7fffffff), }; - + static void render_line(int x0,int x1,int y0,int y1,ogg_int32_t *d){ int dy=y1-y0; int adx=x1-x0; |