Mercurial > libavcodec.hg
diff vc9data.h @ 2482:5d28ea40fd98 libavcodec
Documentation patch by anonymous
author | michael |
---|---|
date | Tue, 01 Feb 2005 09:51:49 +0000 |
parents | 38dbec9a148d |
children | 69adfbbdcdeb |
line wrap: on
line diff
--- a/vc9data.h Mon Jan 31 22:34:02 2005 +0000 +++ b/vc9data.h Tue Feb 01 09:51:49 2005 +0000 @@ -7,7 +7,7 @@ #define VC9DATA_H /* Set a method for reading VLC in NORM6 bitplane decoding */ -#define TILE_VLC_METHOD 1 +#define VLC_NORM6_METH0D 1 /* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */ const int16_t vc9_bfraction_lut[23] = { @@ -74,7 +74,7 @@ 1, 3, 3, 2 }; -#if TILE_VLC_METHOD == 1 +#if VLC_NORM6_METH0D == 1 static const uint16_t vc9_norm6_codes[64] = { 0x001, 0x002, 0x003, 0x000, 0x004, 0x001, 0x002, 0x047, 0x005, 0x003, 0x004, 0x04B, 0x005, 0x04D, 0x04E, 0x30E, 0x006, 0x006, 0x007, 0x053, 0x008, 0x055, 0x056, 0x30D, 0x009, 0x059, 0x05A, 0x30C, 0x05C, 0x30B, 0x30A, 0x037, @@ -157,34 +157,19 @@ }; #endif -#if TILE_VLC_METHOD == 2 //Hyper-stupid way to handle sparse tables -static const uint8_t vc9_norm6_first[2][64] = { +//Mechanical way, handling sparse/incomplete tables +#if VLC_NORM6_METH0D == 2 +//(2,5) is VLC+FLC, (3,5) double VLC +static const uint8_t vc9_norm6_first[24][2] = { { 1, 1}, { 2, 4}, { 3, 4}, { 0, 8}, - { 4, 4}, { 5, 1}, { 2, 8}, { 2, 5}, - { 5, 4}, { 3, 8}, { 4, 8}, { 2, 5}, - { 5, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 6, 4}, { 6, 8}, { 7, 8}, { 2, 5}, - { 8, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 9, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 2, 5}, { 3, 5}, { 3, 5}, { 3, 5}, - { 7, 4}, { 10, 8}, { 11, 8}, { 2, 5}, - { 12, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 13, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 2, 5}, { 3, 5}, { 3, 5}, { 3, 5}, - { 14, 8}, { 2, 5}, { 2, 5}, { 3, 5}, - { 2, 5}, { 3, 5}, { 3, 5}, { 3, 5}, - { 2, 5}, { 3, 5}, { 3, 5}, { 3, 5}, - { 3, 5}, { 3, 5}, { 3, 5}, { 3, 5} + { 4, 4}, { 1, 8}, { 2, 8}, { 5, 4}, + { 3, 8}, { 4, 8}, { 5, 8}, { 6, 4}, + { 6, 8}, { 7, 8}, { 8, 8}, { 9, 8}, + { 7, 4}, { 10, 8}, { 11, 8}, { 12, 8}, + { 13, 8}, { 14, 8}, { 2, 5}, { 3, 5} }; -/* 0=>simple VLC, 1=>VLCFLC, 2=>double VLC */ -static const int vc9_norm6_mode[64] = { - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, - 0, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 2, 1, 2, 2, 2, - 0, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 2, 1, 2, 2, 2, - 0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2 -}; -static const uint8_t vc9_norm6_second[22] = { +static const uint8_t vc9_norm6_second[22][2] = { { 14, 8}, { 13, 8}, { 12, 8}, { 11, 8}, { 10, 8}, { 7, 4}, { 9, 8}, { 8, 8}, { 7, 8}, { 6, 8}, { 6, 4}, { 5, 8},