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 */
IntraX8Context::qsum
int qsum
Definition:
intrax8.h:38
IntraX8Context::est_run
int est_run
Definition:
intrax8.h:50
IntraX8Context::predicted_dc
int predicted_dc
Definition:
intrax8.h:46
ScanTable
Scantable.
Definition:
dsputil.h:196
mpegvideo.h
mpegvideo header.
IntraX8Context::flat_dc
int flat_dc
Definition:
intrax8.h:45
IntraX8Context::dquant
int dquant
Definition:
intrax8.h:37
IntraX8Context::chroma_orient
int chroma_orient
Definition:
intrax8.h:48
get_bits.h
bitstream reader API header.
IntraX8Context::quant
int quant
Definition:
intrax8.h:36
ff_intrax8_decode_picture
int ff_intrax8_decode_picture(IntraX8Context *w, int quant, int halfpq)
Decode single IntraX8 frame.
Definition:
intrax8.c:725
IntraX8Context::s
MpegEncContext * s
Definition:
intrax8.h:35
ff_intrax8_common_end
void ff_intrax8_common_end(IntraX8Context *w)
Destroy IntraX8 frame structure.
Definition:
intrax8.c:708
VLC
Definition:
get_bits.h:63
IntraX8Context
Definition:
intrax8.h:25
j_dc_vlc
static VLC j_dc_vlc[2][8]
Definition:
intrax8.c:42
ff_intrax8_common_init
void ff_intrax8_common_init(IntraX8Context *w, MpegEncContext *const s)
Initialize IntraX8 frame decoder.
Definition:
intrax8.c:692
j_ac_vlc
static VLC j_ac_vlc[2][2][8]
Definition:
intrax8.c:41
IntraX8Context::orient
int orient
Definition:
intrax8.h:49
IntraX8Context::quant_dc_chroma
int quant_dc_chroma
Definition:
intrax8.h:40
quant
const uint8_t * quant
Definition:
vorbis_enc_data.h:458
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:201
IntraX8Context::divide_quant_dc_luma
int divide_quant_dc_luma
Definition:
intrax8.h:41
IntraX8Context::edges
int edges
Definition:
intrax8.h:44
IntraX8Context::raw_orient
int raw_orient
Definition:
intrax8.h:47
IntraX8Context::divide_quant_dc_chroma
int divide_quant_dc_chroma
Definition:
intrax8.h:42
IntraX8Context::j_orient_vlc
VLC * j_orient_vlc
Definition:
intrax8.h:27
IntraX8Context::use_quant_matrix
int use_quant_matrix
Definition:
intrax8.h:30
IntraX8Context::prediction_table
uint8_t * prediction_table
Definition:
intrax8.h:32