00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00027 #ifndef AVCODEC_RV40DATA_H
00028 #define AVCODEC_RV40DATA_H
00029
00030 #include <stdint.h>
00031
00036 static const int rv40_standard_widths[] = { 160, 172, 240, 320, 352, 640, 704, 0};
00037 static const int rv40_standard_heights[] = { 120, 132, 144, 240, 288, 480, -8, -10, 180, 360, 576, 0};
00039
00040 #define MODE2_PATTERNS_NUM 20
00041
00047 static const uint16_t rv40_aic_table_index[MODE2_PATTERNS_NUM] = {
00048 0x000, 0x100, 0x200,
00049 0x011, 0x111, 0x211, 0x511, 0x611,
00050 0x022, 0x122, 0x222, 0x722,
00051 0x272, 0x227,
00052 0x822, 0x282, 0x228,
00053 0x112, 0x116, 0x221
00054 };
00055
00060 static const uint8_t rv40_luma_dc_quant[2][32] = {
00061 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
00062 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 22, 22, 22, 22 },
00063 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
00064 16, 17, 18, 19, 20, 20, 21, 21, 22, 23, 23, 23, 24, 24, 24, 24 }
00065 };
00066
00074 static const uint8_t rv40_dither_l[16] = {
00075 0x40, 0x50, 0x20, 0x60, 0x30, 0x50, 0x40, 0x30,
00076 0x50, 0x40, 0x50, 0x30, 0x60, 0x20, 0x50, 0x40
00077 };
00081 static const uint8_t rv40_dither_r[16] = {
00082 0x40, 0x30, 0x60, 0x20, 0x50, 0x30, 0x30, 0x40,
00083 0x40, 0x40, 0x50, 0x30, 0x20, 0x60, 0x30, 0x40
00084 };
00085
00087 static const uint8_t rv40_alpha_tab[32] = {
00088 128, 128, 128, 128, 128, 128, 128, 128,
00089 128, 128, 122, 96, 75, 59, 47, 37,
00090 29, 23, 18, 15, 13, 11, 10, 9,
00091 8, 7, 6, 5, 4, 3, 2, 1
00092 };
00094 static const uint8_t rv40_beta_tab[32] = {
00095 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 4, 4, 6, 6,
00096 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16, 17
00097 };
00099 static const uint8_t rv40_filter_clip_tbl[3][32] = {
00100 {
00101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
00103 },
00104 {
00105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
00106 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5
00107 },
00108 {
00109 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
00110 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 7, 8, 9
00111 }
00112 };
00114
00115 #endif