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
#include "
vlc.h
"
31
32
#define VLC_BITS 9
33
#define SUBBAND_COUNT 10
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
ptrdiff_t
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
[
SUBBAND_COUNT
];
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
coded_width
;
83
int
coded_height
;
84
int
cropped_height
;
85
enum
AVPixelFormat
coded_format
;
86
87
int
a_width
;
88
int
a_height
;
89
int
a_format
;
90
91
int
bpc
;
// bits per channel/component
92
int
channel_cnt
;
93
int
subband_cnt
;
94
int
channel_num
;
95
uint8_t
lowpass_precision
;
96
uint16_t
quantisation
;
97
int
wavelet_depth
;
98
int
pshift
;
99
100
int
codebook
;
101
int
subband_num
;
102
int
level
;
103
int
subband_num_actual
;
104
105
uint8_t
prescale_shift
[3];
106
Plane
plane
[4];
107
}
CFHDContext
;
108
109
int
ff_cfhd_init_vlcs
(
CFHDContext
*
s
);
110
111
#endif
/* AVCODEC_CFHD_H */
SubBand::quant
int quant
Definition:
cfhd.h:52
CFHDContext::channel_cnt
int channel_cnt
Definition:
cfhd.h:92
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
SubBand::a_height
int a_height
Definition:
cfhd.h:49
vlc.h
CFHDContext::cropped_height
int cropped_height
Definition:
cfhd.h:84
Plane::idwt_tmp
int16_t * idwt_tmp
Definition:
cfhd.h:62
CFHDContext::a_width
int a_width
Definition:
cfhd.h:87
SubBand::stride
ptrdiff_t stride
Definition:
cfhd.h:46
CFHDContext::subband_num_actual
int subband_num_actual
Definition:
cfhd.h:103
CFHDContext
Definition:
cfhd.h:71
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:89
get_bits.h
bitstream reader API header.
SUBBAND_COUNT
#define SUBBAND_COUNT
Definition:
cfhd.h:33
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:105
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().
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:93
CFHDContext::quantisation
uint16_t quantisation
Definition:
cfhd.h:96
CFHDContext::channel_num
int channel_num
Definition:
cfhd.h:94
CFHDContext::gb
GetBitContext gb
Definition:
cfhd.h:80
CFHDContext::wavelet_depth
int wavelet_depth
Definition:
cfhd.h:97
avcodec.h
Libavcodec external API header.
AVCodecContext
main external API structure.
Definition:
avcodec.h:1518
CFHDContext::codebook
int codebook
Definition:
cfhd.h:100
CFHDContext::subband_num
int subband_num
Definition:
cfhd.h:101
CFHDContext::pshift
int pshift
Definition:
cfhd.h:98
CFHDContext::coded_format
enum AVPixelFormat coded_format
Definition:
cfhd.h:85
CFHDContext::level
int level
Definition:
cfhd.h:102
SubBand::pshift
int pshift
Definition:
cfhd.h:51
CFHDContext::coded_width
int coded_width
Definition:
cfhd.h:82
GetBitContext
Definition:
get_bits.h:56
Plane::stride
ptrdiff_t stride
Definition:
cfhd.h:59
CFHDContext::bpc
int bpc
Definition:
cfhd.h:91
CFHDContext::a_height
int a_height
Definition:
cfhd.h:88
SubBand::height
int height
Definition:
cfhd.h:50
Plane::width
int width
Definition:
cfhd.h:57
ff_cfhd_init_vlcs
int ff_cfhd_init_vlcs(CFHDContext *s)
Definition:
cfhddata.c:276
CFHD_RL_VLC_ELEM::level
int16_t level
Definition:
cfhd.h:36
CFHDContext::plane
Plane plane[4]
Definition:
cfhd.h:106
Plane::height
int height
Definition:
cfhd.h:58
CFHDContext::lowpass_precision
uint8_t lowpass_precision
Definition:
cfhd.h:95
Plane::subband
int16_t * subband[SUBBAND_COUNT]
Definition:
cfhd.h:65
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:60
Plane
Definition:
cfhd.h:56
SubBand::level
int level
Definition:
cfhd.h:44
CFHDContext::coded_height
int coded_height
Definition:
cfhd.h:83
Generated on Sun May 13 2018 02:03:43 for FFmpeg by
1.8.6