FFmpeg  4.3
jpeg2000.h
Go to the documentation of this file.
1 /*
2  * JPEG 2000 common defines, structures and functions
3  * Copyright (c) 2007 Kamil Nowosad
4  * Copyright (c) 2013 Nicolas Bertrand <nicoinattendu@gmail.com>
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef AVCODEC_JPEG2000_H
24 #define AVCODEC_JPEG2000_H
25 
26 /**
27  * @file
28  * JPEG 2000 structures and defines common
29  * to encoder and decoder
30  */
31 
32 #include <stdint.h>
33 
34 #include "avcodec.h"
35 #include "mqc.h"
36 #include "jpeg2000dwt.h"
37 
39  JPEG2000_SOC = 0xff4f, // start of codestream
40  JPEG2000_SIZ = 0xff51, // image and tile size
41  JPEG2000_COD, // coding style default
42  JPEG2000_COC, // coding style component
43  JPEG2000_TLM = 0xff55, // tile-part length, main header
44  JPEG2000_PLM = 0xff57, // packet length, main header
45  JPEG2000_PLT, // packet length, tile-part header
46  JPEG2000_QCD = 0xff5c, // quantization default
47  JPEG2000_QCC, // quantization component
48  JPEG2000_RGN, // region of interest
49  JPEG2000_POC, // progression order change
50  JPEG2000_PPM, // packed packet headers, main header
51  JPEG2000_PPT, // packed packet headers, tile-part header
52  JPEG2000_CRG = 0xff63, // component registration
53  JPEG2000_COM, // comment
54  JPEG2000_SOT = 0xff90, // start of tile-part
55  JPEG2000_SOP, // start of packet
56  JPEG2000_EPH, // end of packet header
57  JPEG2000_SOD, // start of data
58  JPEG2000_EOC = 0xffd9, // end of codestream
59 };
60 
61 #define JPEG2000_SOP_FIXED_BYTES 0xFF910004
62 #define JPEG2000_SOP_BYTE_LENGTH 6
63 
64 enum Jpeg2000Quantsty { // quantization style
65  JPEG2000_QSTY_NONE, // no quantization
66  JPEG2000_QSTY_SI, // scalar derived
67  JPEG2000_QSTY_SE // scalar expounded
68 };
69 
70 #define JPEG2000_MAX_DECLEVELS 33
71 #define JPEG2000_MAX_RESLEVELS (JPEG2000_MAX_DECLEVELS + 1)
72 
73 #define JPEG2000_MAX_PASSES 100
74 
75 // T1 flags
76 // flags determining significance of neighbor coefficients
77 #define JPEG2000_T1_SIG_N 0x0001
78 #define JPEG2000_T1_SIG_E 0x0002
79 #define JPEG2000_T1_SIG_W 0x0004
80 #define JPEG2000_T1_SIG_S 0x0008
81 #define JPEG2000_T1_SIG_NE 0x0010
82 #define JPEG2000_T1_SIG_NW 0x0020
83 #define JPEG2000_T1_SIG_SE 0x0040
84 #define JPEG2000_T1_SIG_SW 0x0080
85 #define JPEG2000_T1_SIG_NB (JPEG2000_T1_SIG_N | JPEG2000_T1_SIG_E | \
86  JPEG2000_T1_SIG_S | JPEG2000_T1_SIG_W | \
87  JPEG2000_T1_SIG_NE | JPEG2000_T1_SIG_NW | \
88  JPEG2000_T1_SIG_SE | JPEG2000_T1_SIG_SW)
89 // flags determining sign bit of neighbor coefficients
90 #define JPEG2000_T1_SGN_N 0x0100
91 #define JPEG2000_T1_SGN_S 0x0200
92 #define JPEG2000_T1_SGN_W 0x0400
93 #define JPEG2000_T1_SGN_E 0x0800
94 
95 #define JPEG2000_T1_VIS 0x1000
96 #define JPEG2000_T1_SIG 0x2000
97 #define JPEG2000_T1_REF 0x4000
98 
99 #define JPEG2000_T1_SGN 0x8000
100 
101 // Codeblock coding styles
102 #define JPEG2000_CBLK_BYPASS 0x01 // Selective arithmetic coding bypass
103 #define JPEG2000_CBLK_RESET 0x02 // Reset context probabilities
104 #define JPEG2000_CBLK_TERMALL 0x04 // Terminate after each coding pass
105 #define JPEG2000_CBLK_VSC 0x08 // Vertical stripe causal context formation
106 #define JPEG2000_CBLK_PREDTERM 0x10 // Predictable termination
107 #define JPEG2000_CBLK_SEGSYM 0x20 // Segmentation symbols present
108 
109 // Coding styles
110 #define JPEG2000_CSTY_PREC 0x01 // Precincts defined in coding style
111 #define JPEG2000_CSTY_SOP 0x02 // SOP marker present
112 #define JPEG2000_CSTY_EPH 0x04 // EPH marker present
113 
114 // Progression orders
115 #define JPEG2000_PGOD_LRCP 0x00 // Layer-resolution level-component-position progression
116 #define JPEG2000_PGOD_RLCP 0x01 // Resolution level-layer-component-position progression
117 #define JPEG2000_PGOD_RPCL 0x02 // Resolution level-position-component-layer progression
118 #define JPEG2000_PGOD_PCRL 0x03 // Position-component-resolution level-layer progression
119 #define JPEG2000_PGOD_CPRL 0x04 // Component-position-resolution level-layer progression
120 
121 typedef struct Jpeg2000T1Context {
122  int data[6144];
123  uint16_t flags[6156];
125  int stride;
127 
128 typedef struct Jpeg2000TgtNode {
133 
134 typedef struct Jpeg2000CodingStyle {
135  int nreslevels; // number of resolution levels
136  int nreslevels2decode; // number of resolution levels to decode
138  log2_cblk_height; // exponent of codeblock size
139  uint8_t transform; // DWT type
140  uint8_t csty; // coding style
141  uint8_t nlayers; // number of layers
142  uint8_t mct; // multiple component transformation
143  uint8_t cblk_style; // codeblock coding style
144  uint8_t prog_order; // progression order
145  uint8_t log2_prec_widths[JPEG2000_MAX_RESLEVELS]; // precincts size according resolution levels
146  uint8_t log2_prec_heights[JPEG2000_MAX_RESLEVELS]; // TODO: initialize prec_size array with 0?
148 
149 typedef struct Jpeg2000QuantStyle {
150  uint8_t expn[JPEG2000_MAX_DECLEVELS * 3]; // quantization exponent
151  uint16_t mant[JPEG2000_MAX_DECLEVELS * 3]; // quantization mantissa
152  uint8_t quantsty; // quantization style
153  uint8_t nguardbits; // number of guard bits
155 
156 typedef struct Jpeg2000Pass {
157  uint16_t rate;
158  int64_t disto;
161 } Jpeg2000Pass;
162 
163 typedef struct Jpeg2000Cblk {
165  uint8_t ninclpasses; // number coding of passes included in codestream
167  uint16_t length;
168  uint16_t *lengthinc;
177  int coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}}
178 } Jpeg2000Cblk; // code block
179 
180 typedef struct Jpeg2000Prec {
187  int coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}}
188 } Jpeg2000Prec; // precinct
189 
190 typedef struct Jpeg2000Band {
191  int coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}}
193  int i_stepsize; // quantization stepsize
194  float f_stepsize; // quantization stepsize
196 } Jpeg2000Band; // subband
197 
198 typedef struct Jpeg2000ResLevel {
200  int coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}}
201  int num_precincts_x, num_precincts_y; // number of precincts in x/y direction
202  uint8_t log2_prec_width, log2_prec_height; // exponent of precinct size
204 } Jpeg2000ResLevel; // resolution level
205 
206 typedef struct Jpeg2000Component {
209  float *f_data;
210  int *i_data;
211  int coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}} -- can be reduced with lowres option
212  int coord_o[2][2]; // border coordinates {{x0, x1}, {y0, y1}} -- original values from jpeg2000 headers
213  uint8_t roi_shift; // ROI scaling value for the component
215 
216 /* misc tools */
217 static inline int ff_jpeg2000_ceildivpow2(int a, int b)
218 {
219  return -((-(int64_t)a) >> b);
220 }
221 
222 static inline int ff_jpeg2000_ceildiv(int a, int b)
223 {
224  return (a + (int64_t)b - 1) / b;
225 }
226 
227 /* TIER-1 routines */
228 
229 /* Set up lookup tables used in TIER-1. */
230 void ff_jpeg2000_init_tier1_luts(void);
231 
232 /* Update significance of a coefficient at current position (x,y) and
233  * for neighbors. */
235  int x, int y, int negative);
236 
237 extern uint8_t ff_jpeg2000_sigctxno_lut[256][4];
238 
239 /* Get context label (number in range[0..8]) of a coefficient for significance
240  * propagation and cleanup coding passes. */
241 static inline int ff_jpeg2000_getsigctxno(int flag, int bandno)
242 {
243  return ff_jpeg2000_sigctxno_lut[flag & 255][bandno];
244 }
245 
246 static const uint8_t refctxno_lut[2][2] = { { 14, 15 }, { 16, 16 } };
247 
248 /* Get context label (number in range[14..16]) of a coefficient for magnitude
249  * refinement pass. */
250 static inline int ff_jpeg2000_getrefctxno(int flag)
251 {
252  return refctxno_lut[(flag >> 14) & 1][(flag & 255) != 0];
253 }
254 
255 extern uint8_t ff_jpeg2000_sgnctxno_lut[16][16];
256 extern uint8_t ff_jpeg2000_xorbit_lut[16][16];
257 
258 /* Get context label (number in range[9..13]) for sign decoding. */
259 static inline int ff_jpeg2000_getsgnctxno(int flag, int *xorbit)
260 {
261  *xorbit = ff_jpeg2000_xorbit_lut[flag & 15][(flag >> 8) & 15];
262  return ff_jpeg2000_sgnctxno_lut[flag & 15][(flag >> 8) & 15];
263 }
264 
266  Jpeg2000CodingStyle *codsty,
267  Jpeg2000QuantStyle *qntsty,
268  int cbps, int dx, int dy,
270 
272 
274 
275 static inline int needs_termination(int style, int passno) {
276  if (style & JPEG2000_CBLK_BYPASS) {
277  int type = passno % 3;
278  passno /= 3;
279  if (type == 0 && passno > 2)
280  return 2;
281  if (type == 2 && passno > 2)
282  return 1;
283  if (style & JPEG2000_CBLK_TERMALL) {
284  return passno > 2 ? 2 : 1;
285  }
286  }
287  if (style & JPEG2000_CBLK_TERMALL)
288  return 1;
289  return 0;
290 }
291 
292 #endif /* AVCODEC_JPEG2000_H */
mqc.h
MQ-coder.
Jpeg2000Cblk::nb_terminationsinc
int nb_terminationsinc
Definition: jpeg2000.h:174
JPEG2000_POC
@ JPEG2000_POC
Definition: jpeg2000.h:49
Jpeg2000QuantStyle::quantsty
uint8_t quantsty
Definition: jpeg2000.h:152
Jpeg2000Prec::decoded_layers
int decoded_layers
Definition: jpeg2000.h:186
JPEG2000_EOC
@ JPEG2000_EOC
Definition: jpeg2000.h:58
comp
static void comp(unsigned char *dst, ptrdiff_t dst_stride, unsigned char *src, ptrdiff_t src_stride, int add)
Definition: eamad.c:83
JPEG2000_MAX_RESLEVELS
#define JPEG2000_MAX_RESLEVELS
Definition: jpeg2000.h:71
ff_jpeg2000_reinit
void ff_jpeg2000_reinit(Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
Definition: jpeg2000.c:564
JPEG2000_QSTY_NONE
@ JPEG2000_QSTY_NONE
Definition: jpeg2000.h:65
Jpeg2000CodingStyle::prog_order
uint8_t prog_order
Definition: jpeg2000.h:144
JPEG2000_QCD
@ JPEG2000_QCD
Definition: jpeg2000.h:46
Jpeg2000Prec::nb_codeblocks_height
int nb_codeblocks_height
Definition: jpeg2000.h:182
Jpeg2000Cblk::coord
int coord[2][2]
Definition: jpeg2000.h:177
Jpeg2000CodingStyle::mct
uint8_t mct
Definition: jpeg2000.h:142
Jpeg2000Band::i_stepsize
int i_stepsize
Definition: jpeg2000.h:193
needs_termination
static int needs_termination(int style, int passno)
Definition: jpeg2000.h:275
Jpeg2000Cblk::nb_lengthinc
uint8_t nb_lengthinc
Definition: jpeg2000.h:169
JPEG2000_SOP
@ JPEG2000_SOP
Definition: jpeg2000.h:55
Jpeg2000Prec::zerobits
Jpeg2000TgtNode * zerobits
Definition: jpeg2000.h:183
JPEG2000_SOD
@ JPEG2000_SOD
Definition: jpeg2000.h:57
b
#define b
Definition: input.c:41
ff_jpeg2000_set_significance
void ff_jpeg2000_set_significance(Jpeg2000T1Context *t1, int x, int y, int negative)
Definition: jpeg2000.c:171
JPEG2000_SOC
@ JPEG2000_SOC
Definition: jpeg2000.h:39
JPEG2000_PPM
@ JPEG2000_PPM
Definition: jpeg2000.h:50
Jpeg2000Prec::coord
int coord[2][2]
Definition: jpeg2000.h:187
Jpeg2000Prec
Definition: jpeg2000.h:180
JPEG2000_CBLK_TERMALL
#define JPEG2000_CBLK_TERMALL
Definition: jpeg2000.h:104
JPEG2000_SOT
@ JPEG2000_SOT
Definition: jpeg2000.h:54
Jpeg2000TgtNode::parent
struct Jpeg2000TgtNode * parent
Definition: jpeg2000.h:131
Jpeg2000Band
Definition: jpeg2000.h:190
t1
#define t1
Definition: regdef.h:29
Jpeg2000Pass::rate
uint16_t rate
Definition: jpeg2000.h:157
ff_jpeg2000_xorbit_lut
uint8_t ff_jpeg2000_xorbit_lut[16][16]
Definition: jpeg2000.c:140
ff_jpeg2000_getrefctxno
static int ff_jpeg2000_getrefctxno(int flag)
Definition: jpeg2000.h:250
Jpeg2000Pass::flushed_len
int flushed_len
Definition: jpeg2000.h:160
Jpeg2000T1Context::mqc
MqcState mqc
Definition: jpeg2000.h:124
ff_jpeg2000_init_component
int ff_jpeg2000_init_component(Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int cbps, int dx, int dy, AVCodecContext *ctx)
Definition: jpeg2000.c:451
Jpeg2000CodingStyle::log2_cblk_width
uint8_t log2_cblk_width
Definition: jpeg2000.h:137
x
FFmpeg Automated Testing Environment ************************************Introduction Using FATE from your FFmpeg source directory Submitting the results to the FFmpeg result aggregation server Uploading new samples to the fate suite FATE makefile targets and variables Makefile targets Makefile variables Examples Introduction **************FATE is an extended regression suite on the client side and a means for results aggregation and presentation on the server side The first part of this document explains how you can use FATE from your FFmpeg source directory to test your ffmpeg binary The second part describes how you can run FATE to submit the results to FFmpeg’s FATE server In any way you can have a look at the publicly viewable FATE results by visiting this as it can be seen if some test on some platform broke with their recent contribution This usually happens on the platforms the developers could not test on The second part of this document describes how you can run FATE to submit your results to FFmpeg’s FATE server If you want to submit your results be sure to check that your combination of OS and compiler is not already listed on the above mentioned website In the third part you can find a comprehensive listing of FATE makefile targets and variables Using FATE from your FFmpeg source directory **********************************************If you want to run FATE on your machine you need to have the samples in place You can get the samples via the build target fate rsync Use this command from the top level source this will cause FATE to fail NOTE To use a custom wrapper to run the pass ‘ target exec’ to ‘configure’ or set the TARGET_EXEC Make variable Submitting the results to the FFmpeg result aggregation server ****************************************************************To submit your results to the server you should run fate through the shell script ‘tests fate sh’ from the FFmpeg sources This script needs to be invoked with a configuration file as its first argument tests fate sh path to fate_config A configuration file template with comments describing the individual configuration variables can be found at ‘doc fate_config sh template’ Create a configuration that suits your based on the configuration template The ‘slot’ configuration variable can be any string that is not yet but it is suggested that you name it adhering to the following pattern ‘ARCH OS COMPILER COMPILER VERSION’ The configuration file itself will be sourced in a shell therefore all shell features may be used This enables you to setup the environment as you need it for your build For your first test runs the ‘fate_recv’ variable should be empty or commented out This will run everything as normal except that it will omit the submission of the results to the server The following files should be present in $workdir as specified in the configuration it may help to try out the ‘ssh’ command with one or more ‘ v’ options You should get detailed output concerning your SSH configuration and the authentication process The only thing left is to automate the execution of the fate sh script and the synchronisation of the samples directory Uploading new samples to the fate suite *****************************************If you need a sample uploaded send a mail to samples request This is for developers who have an account on the fate suite server If you upload new please make sure they are as small as space on each network bandwidth and so on benefit from smaller test cases Also keep in mind older checkouts use existing sample that means in practice generally do not remove or overwrite files as it likely would break older checkouts or releases Also all needed samples for a commit should be ideally before the push If you need an account for frequently uploading samples or you wish to help others by doing that send a mail to ffmpeg devel rsync vauL Duo x
Definition: fate.txt:150
Jpeg2000Cblk::passes
Jpeg2000Pass * passes
Definition: jpeg2000.h:176
Jpeg2000CodingStyle::log2_prec_heights
uint8_t log2_prec_heights[JPEG2000_MAX_RESLEVELS]
Definition: jpeg2000.h:146
type
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Definition: writing_filters.txt:86
Jpeg2000T1Context
Definition: jpeg2000.h:121
Jpeg2000ResLevel
Definition: jpeg2000.h:198
Jpeg2000CodingStyle::cblk_style
uint8_t cblk_style
Definition: jpeg2000.h:143
Jpeg2000Pass::disto
int64_t disto
Definition: jpeg2000.h:158
ff_jpeg2000_sgnctxno_lut
uint8_t ff_jpeg2000_sgnctxno_lut[16][16]
Definition: jpeg2000.c:140
Jpeg2000QuantStyle::nguardbits
uint8_t nguardbits
Definition: jpeg2000.h:153
Jpeg2000CodingStyle::transform
uint8_t transform
Definition: jpeg2000.h:139
Jpeg2000ResLevel::band
Jpeg2000Band * band
Definition: jpeg2000.h:203
Jpeg2000Cblk::data
uint8_t * data
Definition: jpeg2000.h:171
Jpeg2000Band::coord
int coord[2][2]
Definition: jpeg2000.h:191
ctx
AVFormatContext * ctx
Definition: movenc.c:48
Jpeg2000Band::f_stepsize
float f_stepsize
Definition: jpeg2000.h:194
JPEG2000_COM
@ JPEG2000_COM
Definition: jpeg2000.h:53
JPEG2000_QSTY_SI
@ JPEG2000_QSTY_SI
Definition: jpeg2000.h:66
JPEG2000_CRG
@ JPEG2000_CRG
Definition: jpeg2000.h:52
Jpeg2000Component::reslevel
Jpeg2000ResLevel * reslevel
Definition: jpeg2000.h:207
JPEG2000_CBLK_BYPASS
#define JPEG2000_CBLK_BYPASS
Definition: jpeg2000.h:102
Jpeg2000Cblk::lblock
uint8_t lblock
Definition: jpeg2000.h:170
Jpeg2000CodingStyle::log2_prec_widths
uint8_t log2_prec_widths[JPEG2000_MAX_RESLEVELS]
Definition: jpeg2000.h:145
Jpeg2000Cblk::length
uint16_t length
Definition: jpeg2000.h:167
JPEG2000_PLM
@ JPEG2000_PLM
Definition: jpeg2000.h:44
Jpeg2000Band::prec
Jpeg2000Prec * prec
Definition: jpeg2000.h:195
Jpeg2000ResLevel::num_precincts_y
int num_precincts_y
Definition: jpeg2000.h:201
JPEG2000_EPH
@ JPEG2000_EPH
Definition: jpeg2000.h:56
Jpeg2000ResLevel::coord
int coord[2][2]
Definition: jpeg2000.h:200
JPEG2000_PPT
@ JPEG2000_PPT
Definition: jpeg2000.h:51
Jpeg2000Band::log2_cblk_height
uint16_t log2_cblk_height
Definition: jpeg2000.h:192
Jpeg2000Prec::nb_codeblocks_width
int nb_codeblocks_width
Definition: jpeg2000.h:181
Jpeg2000ResLevel::log2_prec_height
uint8_t log2_prec_height
Definition: jpeg2000.h:202
Jpeg2000Markers
Jpeg2000Markers
Definition: jpeg2000.h:38
Jpeg2000Component
Definition: jpeg2000.h:206
Jpeg2000Prec::cblkincl
Jpeg2000TgtNode * cblkincl
Definition: jpeg2000.h:184
Jpeg2000Component::i_data
int * i_data
Definition: jpeg2000.h:210
Jpeg2000Component::dwt
DWTContext dwt
Definition: jpeg2000.h:208
Jpeg2000ResLevel::nbands
uint8_t nbands
Definition: jpeg2000.h:199
Jpeg2000Cblk
Definition: jpeg2000.h:163
Jpeg2000Component::f_data
float * f_data
Definition: jpeg2000.h:209
Jpeg2000Cblk::ninclpasses
uint8_t ninclpasses
Definition: jpeg2000.h:165
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
JPEG2000_COD
@ JPEG2000_COD
Definition: jpeg2000.h:41
ff_jpeg2000_getsgnctxno
static int ff_jpeg2000_getsgnctxno(int flag, int *xorbit)
Definition: jpeg2000.h:259
Jpeg2000T1Context::stride
int stride
Definition: jpeg2000.h:125
Jpeg2000TgtNode
Definition: jpeg2000.h:128
Jpeg2000Cblk::data_start
int * data_start
Definition: jpeg2000.h:175
Jpeg2000CodingStyle::csty
uint8_t csty
Definition: jpeg2000.h:140
Jpeg2000CodingStyle::nlayers
uint8_t nlayers
Definition: jpeg2000.h:141
Jpeg2000CodingStyle::nreslevels
int nreslevels
Definition: jpeg2000.h:135
flag
#define flag(name)
Definition: cbs_av1.c:556
Jpeg2000Pass
Definition: jpeg2000.h:156
Jpeg2000CodingStyle::log2_cblk_height
uint8_t log2_cblk_height
Definition: jpeg2000.h:138
Jpeg2000ResLevel::num_precincts_x
int num_precincts_x
Definition: jpeg2000.h:201
JPEG2000_RGN
@ JPEG2000_RGN
Definition: jpeg2000.h:48
Jpeg2000QuantStyle::expn
uint8_t expn[JPEG2000_MAX_DECLEVELS *3]
Definition: jpeg2000.h:150
JPEG2000_SIZ
@ JPEG2000_SIZ
Definition: jpeg2000.h:40
uint8_t
uint8_t
Definition: audio_convert.c:194
Jpeg2000T1Context::data
int data[6144]
Definition: jpeg2000.h:122
Jpeg2000Band::log2_cblk_width
uint16_t log2_cblk_width
Definition: jpeg2000.h:192
ff_jpeg2000_getsigctxno
static int ff_jpeg2000_getsigctxno(int flag, int bandno)
Definition: jpeg2000.h:241
ff_jpeg2000_sigctxno_lut
uint8_t ff_jpeg2000_sigctxno_lut[256][4]
Definition: jpeg2000.c:95
DWTContext
Definition: dirac_dwt.h:54
Jpeg2000QuantStyle::mant
uint16_t mant[JPEG2000_MAX_DECLEVELS *3]
Definition: jpeg2000.h:151
avcodec.h
JPEG2000_PLT
@ JPEG2000_PLT
Definition: jpeg2000.h:45
JPEG2000_QSTY_SE
@ JPEG2000_QSTY_SE
Definition: jpeg2000.h:67
Jpeg2000Pass::flushed
uint8_t flushed[4]
Definition: jpeg2000.h:159
Jpeg2000T1Context::flags
uint16_t flags[6156]
Definition: jpeg2000.h:123
Jpeg2000Component::coord
int coord[2][2]
Definition: jpeg2000.h:211
AVCodecContext
main external API structure.
Definition: avcodec.h:526
ff_jpeg2000_ceildiv
static int ff_jpeg2000_ceildiv(int a, int b)
Definition: jpeg2000.h:222
ff_jpeg2000_ceildivpow2
static int ff_jpeg2000_ceildivpow2(int a, int b)
Definition: jpeg2000.h:217
Jpeg2000ResLevel::log2_prec_width
uint8_t log2_prec_width
Definition: jpeg2000.h:202
ff_jpeg2000_init_tier1_luts
void ff_jpeg2000_init_tier1_luts(void)
Definition: jpeg2000.c:159
Jpeg2000Cblk::nb_terminations
int nb_terminations
Definition: jpeg2000.h:173
jpeg2000dwt.h
JPEG2000_COC
@ JPEG2000_COC
Definition: jpeg2000.h:42
JPEG2000_MAX_DECLEVELS
#define JPEG2000_MAX_DECLEVELS
Definition: jpeg2000.h:70
refctxno_lut
static const uint8_t refctxno_lut[2][2]
Definition: jpeg2000.h:246
Jpeg2000Cblk::npasses
uint8_t npasses
Definition: jpeg2000.h:164
Jpeg2000CodingStyle::nreslevels2decode
int nreslevels2decode
Definition: jpeg2000.h:136
JPEG2000_QCC
@ JPEG2000_QCC
Definition: jpeg2000.h:47
Jpeg2000Component::roi_shift
uint8_t roi_shift
Definition: jpeg2000.h:213
Jpeg2000TgtNode::val
uint8_t val
Definition: jpeg2000.h:129
Jpeg2000TgtNode::vis
uint8_t vis
Definition: jpeg2000.h:130
Jpeg2000CodingStyle
Definition: jpeg2000.h:134
Jpeg2000Cblk::lengthinc
uint16_t * lengthinc
Definition: jpeg2000.h:168
Jpeg2000QuantStyle
Definition: jpeg2000.h:149
Jpeg2000Cblk::nonzerobits
uint8_t nonzerobits
Definition: jpeg2000.h:166
Jpeg2000Prec::cblk
Jpeg2000Cblk * cblk
Definition: jpeg2000.h:185
Jpeg2000Quantsty
Jpeg2000Quantsty
Definition: jpeg2000.h:64
ff_jpeg2000_cleanup
void ff_jpeg2000_cleanup(Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
Definition: jpeg2000.c:585
MqcState
Definition: mqc.h:40
Jpeg2000Component::coord_o
int coord_o[2][2]
Definition: jpeg2000.h:212
Jpeg2000Cblk::data_allocated
size_t data_allocated
Definition: jpeg2000.h:172
JPEG2000_TLM
@ JPEG2000_TLM
Definition: jpeg2000.h:43