Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
intrax8.h
Go to the documentation of this file.
1
/*
2
* This file is part of Libav.
3
*
4
* Libav is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* Libav is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with Libav; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVCODEC_INTRAX8_H
20
#define AVCODEC_INTRAX8_H
21
22
#include "
get_bits.h
"
23
#include "
mpegvideo.h
"
24
25
typedef
struct
{
26
VLC
*
j_ac_vlc
[4];
//they point to the static j_mb_vlc
27
VLC
*
j_orient_vlc
;
28
VLC
*
j_dc_vlc
[3];
29
30
int
use_quant_matrix
;
31
//set by ff_intrax8_common_init
32
uint8_t *
prediction_table
;
//2*(mb_w*2)
33
ScanTable
scantable[3];
34
//set by the caller codec
35
MpegEncContext
*
s
;
36
int
quant
;
37
int
dquant
;
38
int
qsum
;
39
//calculated per frame
40
int
quant_dc_chroma
;
41
int
divide_quant_dc_luma
;
42
int
divide_quant_dc_chroma
;
43
//changed per block
44
int
edges
;
45
int
flat_dc
;
46
int
predicted_dc
;
47
int
raw_orient
;
48
int
chroma_orient
;
49
int
orient
;
50
int
est_run
;
51
}
IntraX8Context
;
52
53
void
ff_intrax8_common_init
(
IntraX8Context
* w,
MpegEncContext
*
const
s);
54
void
ff_intrax8_common_end
(
IntraX8Context
* w);
55
int
ff_intrax8_decode_picture
(
IntraX8Context
* w,
int
quant
,
int
halfpq);
56
57
#endif
/* AVCODEC_INTRAX8_H */