#include "opj_includes.h"
Functions | |
jpwl_esd_ms_t * | jpwl_esd_create (opj_j2k_t *j2k, int comps, unsigned char addrm, unsigned char ad_size, unsigned char senst, int se_size, int tileno, unsigned long int svalnum, void *sensval) |
create an EPC marker segment | |
int | jpwl_markcomp (const void *arg1, const void *arg2) |
this function is used to compare two JPWL markers based on their relevant wishlist position | |
void | jpwl_epb_write (opj_j2k_t *j2k, jpwl_epb_ms_t *epbmark, unsigned char *buf) |
write an EPB MS to a buffer | |
void | jpwl_epc_write (opj_j2k_t *j2k, jpwl_epc_ms_t *epcmark, unsigned char *buf) |
write an EPC MS to a buffer | |
void | jpwl_esd_write (opj_j2k_t *j2k, jpwl_esd_ms_t *esdmark, unsigned char *buf) |
write an ESD MS to a buffer | |
void | jpwl_encode (opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) |
Encode according to JPWL specs. | |
void | j2k_add_marker (opj_codestream_info_t *cstr_info, unsigned short int type, int pos, int len) |
void | jpwl_prepare_marks (opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) |
Prepare the list of JPWL markers, after the Part 1 codestream has been finalized (index struct is full). | |
void | jpwl_dump_marks (opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) |
Dump the list of JPWL markers, after it has been prepared. | |
void | j2k_read_epc (opj_j2k_t *j2k) |
Read the EPC marker (Error Protection Capability). | |
void | j2k_write_epc (opj_j2k_t *j2k) |
Write the EPC marker (Error Protection Capability), BUT the DL field is always set to 0 (this simplifies the management of EPBs and it is openly stated in the standard as a possible value, mening that the information is not available) and the informative techniques are not yet implemented. | |
void | j2k_read_epb (opj_j2k_t *j2k) |
Read the EPB marker (Error Protection Block). | |
void | j2k_write_epb (opj_j2k_t *j2k) |
Write the EPB marker (Error Protection Block). | |
void | j2k_read_esd (opj_j2k_t *j2k) |
Read the ESD marker (Error Sensitivity Descriptor). | |
void | j2k_read_red (opj_j2k_t *j2k) |
Read the RED marker (Residual Error Descriptor). | |
opj_bool | jpwl_check_tile (opj_j2k_t *j2k, opj_tcd_t *tcd, int tileno) |
check that a tile and its children have valid data | |
Local static functions | |
jpwl_epc_ms_t * | jpwl_epc_create (opj_j2k_t *j2k, opj_bool esd_on, opj_bool red_on, opj_bool epb_on, opj_bool info_on) |
create an EPC marker segment | |
Local static functions | |
void | j2k_read_sec (opj_j2k_t *j2k) |
Read the SEC marker (SEcured Codestream). | |
void | j2k_write_sec (opj_j2k_t *j2k) |
Write the SEC marker (SEcured Codestream). | |
void | j2k_read_insec (opj_j2k_t *j2k) |
Read the INSEC marker (SEcured Codestream). | |
Variables | |
Local static variables | |
static int | jwmarker_num |
number of JPWL prepared markers | |
static jpwl_marker_t | jwmarker [JPWL_MAX_NO_MARKERS] |
properties of JPWL markers to insert |
void jpwl_epb_write | ( | opj_j2k_t * | j2k, | |
jpwl_epb_ms_t * | epbmark, | |||
unsigned char * | buf | |||
) |
write an EPB MS to a buffer
j2k | J2K compressor handle | |
epbmark | pointer to the EPB MS | |
buf | pointer to the memory buffer |
References opj_j2k::cstr_info, jpwl_epb_ms::Depb, j2k_add_marker(), J2K_MS_EPB, jpwl_epb_ms::LDPepb, jpwl_epb_ms::Lepb, and jpwl_epb_ms::Pepb.
Referenced by jpwl_dump_marks().
jpwl_epc_ms_t* jpwl_epc_create | ( | opj_j2k_t * | j2k, | |
opj_bool | esd_on, | |||
opj_bool | red_on, | |||
opj_bool | epb_on, | |||
opj_bool | info_on | |||
) |
create an EPC marker segment
j2k | J2K compressor handle | |
esd_on | true if ESD is activated | |
red_on | true if RED is activated | |
epb_on | true if EPB is activated | |
info_on | true if informative techniques are activated |
References opj_j2k::cinfo, opj_j2k::cp, jpwl_epc_ms::DL, opj_cp::epb_on, jpwl_epc_ms::epb_on, opj_cp::esd_on, jpwl_epc_ms::esd_on, EVT_ERROR, opj_cp::info_on, jpwl_epc_ms::info_on, jpwl_epc_ms::Lepc, opj_event_msg(), opj_malloc, jpwl_epc_ms::Pcrc, jpwl_epc_ms::Pepc, opj_cp::red_on, and jpwl_epc_ms::red_on.
Referenced by jpwl_prepare_marks().
void jpwl_epc_write | ( | opj_j2k_t * | j2k, | |
jpwl_epc_ms_t * | epcmark, | |||
unsigned char * | buf | |||
) |
write an EPC MS to a buffer
j2k | J2K compressor handle | |
epcmark | pointer to the EPC MS | |
buf | pointer to the memory buffer |
References opj_j2k::cstr_info, jpwl_epc_ms::DL, j2k_add_marker(), J2K_MS_EPC, jpwl_epc_ms::Lepc, jpwl_epc_ms::Pcrc, and jpwl_epc_ms::Pepc.
Referenced by jpwl_dump_marks().
jpwl_esd_ms_t* jpwl_esd_create | ( | opj_j2k_t * | j2k, | |
int | comps, | |||
unsigned char | addrm, | |||
unsigned char | ad_size, | |||
unsigned char | senst, | |||
int | se_size, | |||
int | tileno, | |||
unsigned long int | svalnum, | |||
void * | sensval | |||
) |
create an EPC marker segment
j2k | J2K compressor handle | |
comps | considered component (-1=average, 0/1/2/...=component no.) | |
addrm | addressing mode (0=packet, 1=byte range, 2=packet range, 3=reserved) | |
ad_size | size of addresses (2/4 bytes) | |
senst | sensitivity type | |
se_size | sensitivity values size (1/2 bytes) | |
tileno | tile where this ESD lies (-1 means MH) | |
svalnum | number of sensitivity values (if 0, they will be automatically filled) | |
sensval | pointer to an array of sensitivity values (if NULL, they will be automatically filled) |
References jpwl_esd_ms::ad_size, jpwl_esd_ms::addrm, jpwl_esd_ms::Cesd, opj_j2k::cinfo, opj_codestream_info::codestream_size, opj_j2k::cstr_info, jpwl_esd_ms::data, EVT_ERROR, opj_j2k::image, jpwl_esd_ms::Lesd, opj_image::numcomps, jpwl_esd_ms::numcomps, opj_event_msg(), opj_malloc, opj_codestream_info::packno, jpwl_esd_ms::Pesd, jpwl_esd_ms::se_size, jpwl_esd_ms::senst, jpwl_esd_ms::sensval_size, jpwl_esd_ms::svalnum, opj_codestream_info::th, jpwl_esd_ms::tileno, and opj_codestream_info::tw.
Referenced by jpwl_prepare_marks().
void jpwl_esd_write | ( | opj_j2k_t * | j2k, | |
jpwl_esd_ms_t * | esdmark, | |||
unsigned char * | buf | |||
) |
write an ESD MS to a buffer
j2k | J2K compressor handle | |
esdmark | pointer to the ESD MS | |
buf | pointer to the memory buffer |
References jpwl_esd_ms::Cesd, opj_j2k::cstr_info, j2k_add_marker(), J2K_MS_ESD, jpwl_esd_ms::Lesd, jpwl_esd_ms::numcomps, and jpwl_esd_ms::Pesd.
Referenced by jpwl_dump_marks().
int jpwl_markcomp | ( | const void * | arg1, | |
const void * | arg2 | |||
) |
this function is used to compare two JPWL markers based on their relevant wishlist position
arg1 | pointer to first marker | |
arg2 | pointer to second marker |
Referenced by jpwl_dump_marks().