annotate mpeg12data.h @ 11225:5811a86f55f1 libavcodec

Use memset to set the runs partially coded superblocks Much faster for long runs (e.g. nearly uncoded frames), slightly faster for the general case.
author conrad
date Sun, 21 Feb 2010 00:10:47 +0000
parents e9d9d946f213
children 7dd2a45249a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
1 /*
5208
430f60820b21 split mpeg12 encoder out of mpeg12.c
aurel
parents: 5169
diff changeset
2 * MPEG1/2 tables
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
3 * copyright (c) 2000,2001 Fabrice Bellard
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
4 * copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
5 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
6 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
7 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
10 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
12 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
16 * Lesser General Public License for more details.
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
17 *
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3776
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
21 */
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3556
diff changeset
22
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1091
diff changeset
23 /**
8718
e9d9d946f213 Use full internal pathname in doxygen @file directives.
diego
parents: 7760
diff changeset
24 * @file libavcodec/mpeg12data.h
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1091
diff changeset
25 * MPEG1/2 tables.
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
26 */
986e461dc072 Initial revision
glantau
parents:
diff changeset
27
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6763
diff changeset
28 #ifndef AVCODEC_MPEG12DATA_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6763
diff changeset
29 #define AVCODEC_MPEG12DATA_H
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5162
diff changeset
30
5162
4394344397d8 include all prerequisites in header files
mru
parents: 4621
diff changeset
31 #include <stdint.h>
6763
f7cbb7733146 Use full path for #includes from another directory.
diego
parents: 6447
diff changeset
32 #include "libavutil/rational.h"
6447
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
33 #include "rl.h"
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
34
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
35 extern const uint16_t ff_mpeg1_default_intra_matrix[64];
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
36 extern const uint16_t ff_mpeg1_default_non_intra_matrix[64];
5162
4394344397d8 include all prerequisites in header files
mru
parents: 4621
diff changeset
37
5210
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
38 extern const uint16_t ff_mpeg12_vlc_dc_lum_code[12];
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
39 extern const unsigned char ff_mpeg12_vlc_dc_lum_bits[12];
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
40 extern const uint16_t ff_mpeg12_vlc_dc_chroma_code[12];
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
41 extern const unsigned char ff_mpeg12_vlc_dc_chroma_bits[12];
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
42
5210
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
43 extern RLTable ff_rl_mpeg1;
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
44 extern RLTable ff_rl_mpeg2;
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
45
5210
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
46 extern const uint8_t ff_mpeg12_mbAddrIncrTable[36][2];
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
47 extern const uint8_t ff_mpeg12_mbPatTable[64][2];
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
48
5210
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
49 extern const uint8_t ff_mpeg12_mbMotionVectorTable[17][2];
1993
michael
parents: 1986
diff changeset
50
6447
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
51 extern const AVRational ff_frame_rate_tab[];
fe34160a1d1e move relevant declarations to mpeg12data.h
aurel
parents: 5830
diff changeset
52
5210
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
53 extern const float ff_mpeg1_aspect[16];
b52fd9b223bb add proper ff_ prefix to new extern symbols
aurel
parents: 5208
diff changeset
54 extern const AVRational ff_mpeg2_aspect[16];
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5162
diff changeset
55
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6763
diff changeset
56 #endif /* AVCODEC_MPEG12DATA_H */