Mercurial > libavcodec.hg
comparison vc1data.h @ 4926:194f4ced7c50 libavcodec
Move variables to vc1data.h
author | kostya |
---|---|
date | Sun, 06 May 2007 10:58:32 +0000 |
parents | 4638532defe5 |
children | 7ec5c2e20271 |
comparison
equal
deleted
inserted
replaced
4925:ff4cd98bc90c | 4926:194f4ced7c50 |
---|---|
25 * VC-1 tables. | 25 * VC-1 tables. |
26 */ | 26 */ |
27 | 27 |
28 #ifndef VC1DATA_H | 28 #ifndef VC1DATA_H |
29 #define VC1DATA_H | 29 #define VC1DATA_H |
30 | |
31 /** Table for conversion between TTBLK and TTMB */ | |
32 static const int ttblk_to_tt[3][8] = { | |
33 { TT_8X4, TT_4X8, TT_8X8, TT_4X4, TT_8X4_TOP, TT_8X4_BOTTOM, TT_4X8_RIGHT, TT_4X8_LEFT }, | |
34 { TT_8X8, TT_4X8_RIGHT, TT_4X8_LEFT, TT_4X4, TT_8X4, TT_4X8, TT_8X4_BOTTOM, TT_8X4_TOP }, | |
35 { TT_8X8, TT_4X8, TT_4X4, TT_8X4_BOTTOM, TT_4X8_RIGHT, TT_4X8_LEFT, TT_8X4, TT_8X4_TOP } | |
36 }; | |
37 | |
38 static const int ttfrm_to_tt[4] = { TT_8X8, TT_8X4, TT_4X8, TT_4X4 }; | |
39 | |
40 /** MV P mode - the 5th element is only used for mode 1 */ | |
41 static const uint8_t mv_pmode_table[2][5] = { | |
42 { MV_PMODE_1MV_HPEL_BILIN, MV_PMODE_1MV, MV_PMODE_1MV_HPEL, MV_PMODE_INTENSITY_COMP, MV_PMODE_MIXED_MV }, | |
43 { MV_PMODE_1MV, MV_PMODE_MIXED_MV, MV_PMODE_1MV_HPEL, MV_PMODE_INTENSITY_COMP, MV_PMODE_1MV_HPEL_BILIN } | |
44 }; | |
45 static const uint8_t mv_pmode_table2[2][4] = { | |
46 { MV_PMODE_1MV_HPEL_BILIN, MV_PMODE_1MV, MV_PMODE_1MV_HPEL, MV_PMODE_MIXED_MV }, | |
47 { MV_PMODE_1MV, MV_PMODE_MIXED_MV, MV_PMODE_1MV_HPEL, MV_PMODE_1MV_HPEL_BILIN } | |
48 }; | |
49 | |
50 static const int fps_nr[5] = { 24, 25, 30, 50, 60 }, | |
51 fps_dr[2] = { 1000, 1001 }; | |
52 static const uint8_t pquant_table[3][32] = { | |
53 { /* Implicit quantizer */ | |
54 0, 1, 2, 3, 4, 5, 6, 7, 8, 6, 7, 8, 9, 10, 11, 12, | |
55 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 31 | |
56 }, | |
57 { /* Explicit quantizer, pquantizer uniform */ | |
58 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | |
59 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 | |
60 }, | |
61 { /* Explicit quantizer, pquantizer non-uniform */ | |
62 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, | |
63 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 31 | |
64 } | |
65 }; | |
66 | |
67 /** @name VC-1 VLC tables and defines | |
68 * @todo TODO move this into the context | |
69 */ | |
70 //@{ | |
71 #define VC1_BFRACTION_VLC_BITS 7 | |
72 static VLC vc1_bfraction_vlc; | |
73 #define VC1_IMODE_VLC_BITS 4 | |
74 static VLC vc1_imode_vlc; | |
75 #define VC1_NORM2_VLC_BITS 3 | |
76 static VLC vc1_norm2_vlc; | |
77 #define VC1_NORM6_VLC_BITS 9 | |
78 static VLC vc1_norm6_vlc; | |
79 /* Could be optimized, one table only needs 8 bits */ | |
80 #define VC1_TTMB_VLC_BITS 9 //12 | |
81 static VLC vc1_ttmb_vlc[3]; | |
82 #define VC1_MV_DIFF_VLC_BITS 9 //15 | |
83 static VLC vc1_mv_diff_vlc[4]; | |
84 #define VC1_CBPCY_P_VLC_BITS 9 //14 | |
85 static VLC vc1_cbpcy_p_vlc[4]; | |
86 #define VC1_4MV_BLOCK_PATTERN_VLC_BITS 6 | |
87 static VLC vc1_4mv_block_pattern_vlc[4]; | |
88 #define VC1_TTBLK_VLC_BITS 5 | |
89 static VLC vc1_ttblk_vlc[3]; | |
90 #define VC1_SUBBLKPAT_VLC_BITS 6 | |
91 static VLC vc1_subblkpat_vlc[3]; | |
92 | |
93 static VLC vc1_ac_coeff_table[8]; | |
94 //@} | |
95 | |
30 | 96 |
31 #if 0 //original bfraction from vc9data.h, not conforming to standard | 97 #if 0 //original bfraction from vc9data.h, not conforming to standard |
32 /* Denominator used for vc1_bfraction_lut */ | 98 /* Denominator used for vc1_bfraction_lut */ |
33 #define B_FRACTION_DEN 840 | 99 #define B_FRACTION_DEN 840 |
34 | 100 |