OpenJPEG  2.5.0
j2kheader_manager.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  *
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
5  * Copyright (c) 2002-2014, Professor Benoit Macq
6  * Copyright (c) 2010-2011, Kaori Hagihara
7  * Copyright (c) 2011, Lucian Corlaciu, GSoC
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef J2KHEADER_MANAGER_H_
33 # define J2KHEADER_MANAGER_H_
34 
35 #include "byte_manager.h"
36 #include "index_manager.h"
37 
48 
59 OPJ_BOOL modify_mainheader(Byte_t *j2kstream, int numOfdecomp,
60  SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen);
61 
72 OPJ_BOOL modify_tileheader(Byte_t *j2kstream, Byte8_t SOToffset,
73  int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen);
74 
75 #endif /* !J2KHEADER_MANAGER_H_ */
SIZmarker_param::Lsiz
Byte2_t Lsiz
length of marker segment excluding the marker
Definition: index_manager.h:56
modify_tileheader
OPJ_BOOL modify_tileheader(Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
modify tile header in j2k codestream to fit with the tile part length, and new number of decompositio...
Definition: j2kheader_manager.c:256
CODmarker_param::numOflayers
Byte2_t numOflayers
number of layers
Definition: index_manager.h:79
CODmarker_param::Lcod
Byte2_t Lcod
length of marker segment excluding the marker
Definition: index_manager.h:76
SIZmarker_param::XTsiz
Byte4_t XTsiz
width of one reference tile with respect to the reference grid
Definition: index_manager.h:62
CODmarker_param::Scod
Byte_t Scod
Coding style for all components.
Definition: index_manager.h:77
SIZmarker_param::XTnum
Byte4_t XTnum
number of tiles in horizontal direction
Definition: index_manager.h:66
big4
Byte4_t big4(Byte_t *buf)
convert 4-byte big endian Byte codes to number
Definition: byte_manager.c:147
CODmarker_param::XPsiz
Byte4_t * XPsiz
dynamic array of precinct width at successive resolution level in order
Definition: index_manager.h:81
Byte_t
uint8_t Byte_t
Definition: byte_manager.h:37
FCGI_stderr
#define FCGI_stderr
Definition: j2kheader_manager.c:44
modify_SIZmkrstream
OPJ_BOOL modify_SIZmkrstream(SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream)
Definition: j2kheader_manager.c:187
modify_tileheader
OPJ_BOOL modify_tileheader(Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
modify tile header in j2k codestream to fit with the tile part length, and new number of decompositio...
Definition: j2kheader_manager.c:256
SIZmarker_param::Xsiz
Byte4_t Xsiz
width of the reference grid
Definition: index_manager.h:58
CODmarker_param::prog_order
OPJ_PROG_ORDER prog_order
progression order
Definition: index_manager.h:78
get_SIZmkrdata_from_j2kstream
SIZmarker_param_t get_SIZmkrdata_from_j2kstream(Byte_t *SIZstream)
Definition: j2kheader_manager.c:82
SIZmarker_param::Ysiz
Byte4_t Ysiz
height of the reference grid
Definition: index_manager.h:59
SIZmarker_param::XOsiz
Byte4_t XOsiz
horizontal offset from the origin of the reference grid to the left side of the image area
Definition: index_manager.h:60
SIZmarker_param::YRsiz
Byte_t YRsiz[3]
vertical separation of a sample of component with respect to the reference grid
Definition: index_manager.h:71
modify_4Bytecode
void modify_4Bytecode(Byte4_t code, Byte_t *stream)
modify 4Byte code in a codestream
Definition: byte_manager.c:159
SIZmarker_param::Ssiz
Byte_t Ssiz[3]
precision (depth) in bits and sign of the component samples
Definition: index_manager.h:69
j2kheader_manager.h
SIZmarker_param::YTnum
Byte4_t YTnum
number of tiles in vertical direction
Definition: index_manager.h:67
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:116
OPJ_SIZE_T
size_t OPJ_SIZE_T
Definition: openjpeg.h:139
SIZmarker_param::YOsiz
Byte4_t YOsiz
vertical offset from the origin of the reference grid to the top side of the image area
Definition: index_manager.h:61
SIZmarker_param::XRsiz
Byte_t XRsiz[3]
horizontal separation of a sample of component with respect to the reference grid
Definition: index_manager.h:70
get_mainheader_from_j2kstream
OPJ_BOOL get_mainheader_from_j2kstream(Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
get main header information from j2k codestream
Definition: j2kheader_manager.c:52
big2
Byte2_t big2(Byte_t *buf)
convert 2-byte big endian Byte codes to number
Definition: byte_manager.c:142
CODmarker_param
A.6.1 Coding style default (COD)
Definition: index_manager.h:75
modify_COCmkrstream
OPJ_BOOL modify_COCmkrstream(int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc)
Definition: j2kheader_manager.c:299
CODmarker_param::numOfdecomp
Byte_t numOfdecomp
number of decompositions levels
Definition: index_manager.h:80
SIZmarker_param::YTsiz
Byte4_t YTsiz
height of one reference tile with respect to the reference grid
Definition: index_manager.h:63
CODmarker_param::YPsiz
Byte4_t * YPsiz
dynamic array of precinct height at successive resolution level in order
Definition: index_manager.h:82
OPJ_TRUE
#define OPJ_TRUE
Definition: openjpeg.h:117
opj_malloc
void * opj_malloc(size_t size)
Allocate an uninitialized memory block.
Definition: opj_malloc.c:191
Byte4_t
uint32_t Byte4_t
Definition: byte_manager.h:39
get_mainheader_from_j2kstream
OPJ_BOOL get_mainheader_from_j2kstream(Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
get main header information from j2k codestream
Definition: j2kheader_manager.c:52
SIZmarker_param
progression order
Definition: index_manager.h:55
SIZmarker_param::Csiz
Byte2_t Csiz
number of the components in the image
Definition: index_manager.h:68
get_CODmkrdata_from_j2kstream
CODmarker_param_t get_CODmkrdata_from_j2kstream(Byte_t *CODstream)
Definition: j2kheader_manager.c:118
byte_manager.h
SIZmarker_param::XTOsiz
Byte4_t XTOsiz
horizontal offset from the origin of the reference grid to the left side of the first tile
Definition: index_manager.h:64
modify_mainheader
OPJ_BOOL modify_mainheader(Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
modify main header in j2k codestream to fit with the new number of decompositions
Definition: j2kheader_manager.c:161
Byte2_t
uint16_t Byte2_t
Definition: byte_manager.h:38
OPJ_FALSE
#define OPJ_FALSE
Definition: openjpeg.h:118
modify_CODmkrstream
Byte2_t modify_CODmkrstream(CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream)
Definition: j2kheader_manager.c:223
index_manager.h
Byte8_t
uint64_t Byte8_t
Definition: byte_manager.h:40
modify_mainheader
OPJ_BOOL modify_mainheader(Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
modify main header in j2k codestream to fit with the new number of decompositions
Definition: j2kheader_manager.c:161
SIZmarker_param::Rsiz
Byte2_t Rsiz
capabilities that a decoder needs
Definition: index_manager.h:57
SIZmarker_param::YTOsiz
Byte4_t YTOsiz
vertical offset from the origin of the reference grid to the top side of the first tile
Definition: index_manager.h:65