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