annotate intrax8.h @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 0dce4fe6e6f3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5887
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
1 /*
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
2 * This file is part of FFmpeg.
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
3 *
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
4 * FFmpeg is free software; you can redistribute it and/or
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
5 * modify it under the terms of the GNU Lesser General Public
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
7 * version 2.1 of the License, or (at your option) any later version.
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
8 *
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
9 * FFmpeg is distributed in the hope that it will be useful,
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
12 * Lesser General Public License for more details.
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
13 *
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
14 * You should have received a copy of the GNU Lesser General Public
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
15 * License along with FFmpeg; if not, write to the Free Software
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
17 */
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
18
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6176
diff changeset
19 #ifndef AVCODEC_INTRAX8_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6176
diff changeset
20 #define AVCODEC_INTRAX8_H
5902
36a80fc5d25c add multiple inclusion guards
aurel
parents: 5891
diff changeset
21
9428
0dce4fe6e6f3 Rename bitstream.h to get_bits.h.
stefano
parents: 7760
diff changeset
22 #include "get_bits.h"
5935
5bfa6df53349 Add missing #includes to fix 'make checkheaders'.
diego
parents: 5902
diff changeset
23 #include "mpegvideo.h"
5bfa6df53349 Add missing #includes to fix 'make checkheaders'.
diego
parents: 5902
diff changeset
24
5887
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
25 typedef struct{
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
26 VLC * j_ac_vlc[4];//they point to the static j_mb_vlc
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
27 VLC * j_orient_vlc;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
28 VLC * j_dc_vlc[3];
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
29
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
30 int use_quant_matrix;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
31 //set by ff_intrax8_common_init
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
32 uint8_t * prediction_table;//2*(mb_w*2)
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
33 ScanTable scantable[3];
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
34 //set by the caller codec
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
35 MpegEncContext * s;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
36 int quant;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
37 int dquant;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
38 int qsum;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
39 //calculated per frame
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
40 int quant_dc_chroma;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
41 int divide_quant_dc_luma;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
42 int divide_quant_dc_chroma;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
43 //changed per block
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
44 int edges;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
45 int flat_dc;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
46 int predicted_dc;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
47 int raw_orient;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
48 int chroma_orient;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
49 int orient;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
50 int est_run;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
51 } IntraX8Context;
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
52
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
53 void ff_intrax8_common_init(IntraX8Context * w, MpegEncContext * const s);
6176
1d735690e172 Correctly clean up IntraX8Context upon codec close.
andoma
parents: 5935
diff changeset
54 void ff_intrax8_common_end(IntraX8Context * w);
5887
83ac4620c6ed intrax8 decoder patch by "someone"
michael
parents:
diff changeset
55 int ff_intrax8_decode_picture(IntraX8Context * w, int quant, int halfpq);
5902
36a80fc5d25c add multiple inclusion guards
aurel
parents: 5891
diff changeset
56
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6176
diff changeset
57 #endif /* AVCODEC_INTRAX8_H */