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 Sun Mar 23 2014 23:50:00 for FFmpeg by
1.8.2