FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
msmpeg4data.h
Go to the documentation of this file.
1
/*
2
* MSMPEG4 backend for encoder and decoder
3
* copyright (c) 2001 Fabrice Bellard
4
* copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
5
*
6
* msmpeg4v1 & v2 stuff by Michael Niedermayer <michaelni@gmx.at>
7
*
8
* This file is part of FFmpeg.
9
*
10
* FFmpeg is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU Lesser General Public
12
* License as published by the Free Software Foundation; either
13
* version 2.1 of the License, or (at your option) any later version.
14
*
15
* FFmpeg is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
* Lesser General Public License for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public
21
* License along with FFmpeg; if not, write to the Free Software
22
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
*/
24
25
/**
26
* @file
27
* MSMPEG4 data tables.
28
*/
29
30
#ifndef AVCODEC_MSMPEG4DATA_H
31
#define AVCODEC_MSMPEG4DATA_H
32
33
#include "
libavutil/common.h
"
34
#include "
get_bits.h
"
35
#include "
rl.h
"
36
37
/* motion vector table */
38
typedef
struct
MVTable
{
39
int
n
;
40
const
uint16_t *
table_mv_code
;
41
const
uint8_t
*
table_mv_bits
;
42
const
uint8_t
*
table_mvx
;
43
const
uint8_t
*
table_mvy
;
44
uint16_t *
table_mv_index
;
/* encoding: convert mv to index in table_mv */
45
VLC
vlc
;
/* decoding: vlc */
46
}
MVTable
;
47
48
extern
VLC
ff_msmp4_mb_i_vlc
;
49
extern
VLC
ff_msmp4_dc_luma_vlc
[2];
50
extern
VLC
ff_msmp4_dc_chroma_vlc
[2];
51
52
/* intra picture macroblock coded block pattern */
53
extern
const
uint16_t
ff_msmp4_mb_i_table
[64][2];
54
55
#define WMV1_SCANTABLE_COUNT 4
56
57
extern
const
uint8_t
ff_wmv1_scantable
[
WMV1_SCANTABLE_COUNT
][64];
58
59
#define NB_RL_TABLES 6
60
61
extern
RLTable
ff_rl_table
[
NB_RL_TABLES
];
62
extern
uint8_t
ff_static_rl_table_store
[
NB_RL_TABLES
][2][2 *
MAX_RUN
+
MAX_LEVEL
+ 3];
63
64
extern
uint32_t
ff_v2_dc_lum_table
[512][2];
65
extern
uint32_t
ff_v2_dc_chroma_table
[512][2];
66
67
extern
const
uint8_t
ff_wmv1_y_dc_scale_table
[32];
68
extern
const
uint8_t
ff_wmv1_c_dc_scale_table
[32];
69
extern
const
uint8_t
ff_old_ff_y_dc_scale_table
[32];
70
71
extern
MVTable
ff_mv_tables
[2];
72
73
extern
const
uint8_t
ff_v2_mb_type
[8][2];
74
extern
const
uint8_t
ff_v2_intra_cbpc
[4][2];
75
76
extern
const
uint32_t
ff_table_mb_non_intra
[128][2];
77
extern
const
uint8_t
ff_table_inter_intra
[4][2];
78
79
extern
const
uint32_t
ff_table0_dc_lum
[120][2];
80
extern
const
uint32_t
ff_table1_dc_lum
[120][2];
81
extern
const
uint32_t
ff_table0_dc_chroma
[120][2];
82
extern
const
uint32_t
ff_table1_dc_chroma
[120][2];
83
84
#define WMV2_INTER_CBP_TABLE_COUNT 4
85
extern
const
uint32_t (*
const
ff_wmv2_inter_table
[
WMV2_INTER_CBP_TABLE_COUNT
])[2];
86
87
extern
const
uint8_t
ff_wmv2_scantableA
[64];
88
extern
const
uint8_t
ff_wmv2_scantableB
[64];
89
90
#endif
/* AVCODEC_MSMPEG4DATA_H */
Generated on Sat Jan 25 2014 19:51:52 for FFmpeg by
1.8.2