FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
cfhd.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Kieran Kunhya
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
21
#ifndef AVCODEC_CFHD_H
22
#define AVCODEC_CFHD_H
23
24
#include <stdint.h>
25
26
#include "
libavutil/avassert.h
"
27
28
#include "
avcodec.h
"
29
#include "
get_bits.h
"
30
31
#define VLC_BITS 9
32
#define NB_VLC_TABLE_9 (71+3)
33
#define NB_VLC_TABLE_18 (263+1)
34
35
typedef
struct
CFHD_RL_VLC_ELEM
{
36
int16_t
level
;
37
int8_t
len
;
38
uint16_t
run
;
39
}
CFHD_RL_VLC_ELEM
;
40
41
#define DWT_LEVELS 3
42
43
typedef
struct
SubBand
{
44
int
level
;
45
int
orientation
;
46
int
stride
;
47
int
a_width
;
48
int
width
;
49
int
a_height
;
50
int
height
;
51
int
pshift
;
52
int
quant
;
53
uint8_t
*
ibuf
;
54
}
SubBand
;
55
56
typedef
struct
Plane
{
57
int
width
;
58
int
height
;
59
ptrdiff_t
stride
;
60
61
int16_t *
idwt_buf
;
62
int16_t *
idwt_tmp
;
63
64
/* TODO: merge this into SubBand structure */
65
int16_t *
subband
[10];
66
int16_t *
l_h
[8];
67
68
SubBand
band
[
DWT_LEVELS
][4];
69
}
Plane
;
70
71
typedef
struct
CFHDContext
{
72
AVCodecContext
*
avctx
;
73
74
CFHD_RL_VLC_ELEM
table_9_rl_vlc
[2088];
75
VLC
vlc_9
;
76
77
CFHD_RL_VLC_ELEM
table_18_rl_vlc
[4572];
78
VLC
vlc_18
;
79
80
GetBitContext
gb
;
81
82
int
chroma_x_shift
;
83
int
chroma_y_shift
;
84
85
int
coded_width
;
86
int
coded_height
;
87
int
coded_format
;
88
89
int
a_width
;
90
int
a_height
;
91
int
a_format
;
92
93
int
bpc
;
94
int
channel_cnt
;
95
int
subband_cnt
;
96
int
channel_num
;
97
uint8_t
lowpass_precision
;
98
uint16_t
quantisation
;
99
int
wavelet_depth
;
100
int
pshift
;
101
102
int
codebook
;
103
int
subband_num
;
104
int
level
;
105
int
subband_num_actual
;
106
107
uint8_t
prescale_shift
[3];
108
Plane
plane
[4];
109
110
}
CFHDContext
;
111
112
int
ff_cfhd_init_vlcs
(
CFHDContext
*
s
);
113
114
#endif
/* AVCODEC_CFHD_H */
SubBand::quant
int quant
Definition:
cfhd.h:52
CFHDContext::channel_cnt
int channel_cnt
Definition:
cfhd.h:94
s
const char * s
Definition:
avisynth_c.h:768
CFHDContext::vlc_18
VLC vlc_18
Definition:
cfhd.h:78
CFHDContext::avctx
AVCodecContext * avctx
Definition:
cfhd.h:72
CFHDContext::coded_format
int coded_format
Definition:
cfhd.h:87
SubBand::a_height
int a_height
Definition:
cfhd.h:49
Plane::idwt_tmp
int16_t * idwt_tmp
Definition:
cfhd.h:62
CFHDContext::a_width
int a_width
Definition:
cfhd.h:89
CFHDContext::subband_num_actual
int subband_num_actual
Definition:
cfhd.h:105
CFHDContext
Definition:
cfhd.h:71
CFHDContext::chroma_x_shift
int chroma_x_shift
Definition:
cfhd.h:82
SubBand::width
int width
Definition:
cfhd.h:48
uint8_t
uint8_t
Definition:
audio_convert.c:194
Plane::idwt_buf
int16_t * idwt_buf
Definition:
cfhd.h:61
CFHDContext::a_format
int a_format
Definition:
cfhd.h:91
get_bits.h
bitstream reader API header.
SubBand
Definition:
cfhd.h:43
CFHD_RL_VLC_ELEM::len
int8_t len
Definition:
cfhd.h:37
CFHDContext::table_18_rl_vlc
CFHD_RL_VLC_ELEM table_18_rl_vlc[4572]
Definition:
cfhd.h:77
CFHDContext::table_9_rl_vlc
CFHD_RL_VLC_ELEM table_9_rl_vlc[2088]
Definition:
cfhd.h:74
CFHDContext::prescale_shift
uint8_t prescale_shift[3]
Definition:
cfhd.h:107
CFHDContext::vlc_9
VLC vlc_9
Definition:
cfhd.h:75
Plane::l_h
int16_t * l_h[8]
Definition:
cfhd.h:66
DWT_LEVELS
#define DWT_LEVELS
Definition:
cfhd.h:41
avassert.h
simple assert() macros that are a bit more flexible than ISO C assert().
SubBand::stride
int stride
Definition:
cfhd.h:46
CFHD_RL_VLC_ELEM
Definition:
cfhd.h:35
VLC
Definition:
vlc.h:26
SubBand::a_width
int a_width
Definition:
cfhd.h:47
SubBand::orientation
int orientation
Definition:
cfhd.h:45
CFHD_RL_VLC_ELEM::run
uint16_t run
Definition:
cfhd.h:38
Plane::band
SubBand band[DWT_LEVELS][4]
Definition:
cfhd.h:68
SubBand::ibuf
uint8_t * ibuf
Definition:
cfhd.h:53
CFHDContext::subband_cnt
int subband_cnt
Definition:
cfhd.h:95
CFHDContext::chroma_y_shift
int chroma_y_shift
Definition:
cfhd.h:83
CFHDContext::quantisation
uint16_t quantisation
Definition:
cfhd.h:98
CFHDContext::channel_num
int channel_num
Definition:
cfhd.h:96
CFHDContext::gb
GetBitContext gb
Definition:
cfhd.h:80
CFHDContext::wavelet_depth
int wavelet_depth
Definition:
cfhd.h:99
avcodec.h
Libavcodec external API header.
AVCodecContext
main external API structure.
Definition:
avcodec.h:1732
CFHDContext::codebook
int codebook
Definition:
cfhd.h:102
CFHDContext::subband_num
int subband_num
Definition:
cfhd.h:103
CFHDContext::pshift
int pshift
Definition:
cfhd.h:100
CFHDContext::level
int level
Definition:
cfhd.h:104
SubBand::pshift
int pshift
Definition:
cfhd.h:51
CFHDContext::coded_width
int coded_width
Definition:
cfhd.h:85
GetBitContext
Definition:
get_bits.h:55
Plane::stride
ptrdiff_t stride
Definition:
cfhd.h:59
CFHDContext::bpc
int bpc
Definition:
cfhd.h:93
CFHDContext::a_height
int a_height
Definition:
cfhd.h:90
SubBand::height
int height
Definition:
cfhd.h:50
Plane::subband
int16_t * subband[10]
Definition:
cfhd.h:65
Plane::width
int width
Definition:
cfhd.h:57
ff_cfhd_init_vlcs
int ff_cfhd_init_vlcs(CFHDContext *s)
Definition:
cfhddata.c:228
CFHD_RL_VLC_ELEM::level
int16_t level
Definition:
cfhd.h:36
CFHDContext::plane
Plane plane[4]
Definition:
cfhd.h:108
Plane::height
int height
Definition:
cfhd.h:58
CFHDContext::lowpass_precision
uint8_t lowpass_precision
Definition:
cfhd.h:97
Plane
Definition:
cfhd.h:56
SubBand::level
int level
Definition:
cfhd.h:44
CFHDContext::coded_height
int coded_height
Definition:
cfhd.h:86
Generated on Fri Jan 12 2018 01:45:36 for FFmpeg by
1.8.6