Mercurial > libavcodec.hg
annotate wmv2.h @ 12223:93e27a5401de libavcodec
Convert VP8 macroblock structures to a ring buffer.
Uses a slightly nonintuitive ring buffer size of (width+height*2) to simplify
addressing logic.
Also split out the segmentation map to a separate structure, necessary to
implement the ring buffer.
author | darkshikari |
---|---|
date | Thu, 22 Jul 2010 11:45:18 +0000 |
parents | 98970e51365a |
children |
rev | line source |
---|---|
5939 | 1 /* |
8629
04423b2f6e0b
cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents:
7760
diff
changeset
|
2 * Copyright (c) 2002 The FFmpeg Project |
5939 | 3 * |
4 * This file is part of FFmpeg. | |
5 * | |
6 * FFmpeg is free software; you can redistribute it and/or | |
7 * modify it under the terms of the GNU Lesser General Public | |
8 * License as published by the Free Software Foundation; either | |
9 * version 2.1 of the License, or (at your option) any later version. | |
10 * | |
11 * FFmpeg is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * Lesser General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU Lesser General Public | |
17 * License along with FFmpeg; if not, write to the Free Software | |
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
19 */ | |
20 | |
7760 | 21 #ifndef AVCODEC_WMV2_H |
22 #define AVCODEC_WMV2_H | |
5939 | 23 |
24 #include "avcodec.h" | |
25 #include "dsputil.h" | |
26 #include "mpegvideo.h" | |
27 #include "intrax8.h" | |
28 | |
29 #define SKIP_TYPE_NONE 0 | |
30 #define SKIP_TYPE_MPEG 1 | |
31 #define SKIP_TYPE_ROW 2 | |
32 #define SKIP_TYPE_COL 3 | |
33 | |
34 | |
35 typedef struct Wmv2Context{ | |
36 MpegEncContext s; | |
37 IntraX8Context x8; | |
38 int j_type_bit; | |
39 int j_type; | |
40 int abt_flag; | |
41 int abt_type; | |
42 int abt_type_table[6]; | |
43 int per_mb_abt; | |
44 int per_block_abt; | |
45 int mspel_bit; | |
46 int cbp_table_index; | |
47 int top_left_mv_flag; | |
48 int per_mb_rl_bit; | |
49 int skip_type; | |
50 int hshift; | |
51 | |
52 ScanTable abt_scantable[2]; | |
11369 | 53 DECLARE_ALIGNED(16, DCTELEM, abt_block2)[6][64]; |
5939 | 54 }Wmv2Context; |
55 | |
56 void ff_wmv2_common_init(Wmv2Context * w); | |
57 | |
7760 | 58 #endif /* AVCODEC_WMV2_H */ |