OpenJPEG
1.5.1
|
Data Structures | |
struct | jpwl_epb_ms |
EPB (Error Protection Block) Marker segment. More... | |
struct | jpwl_epc_ms |
EPC (Error Protection Capability) Marker segment. More... | |
struct | jpwl_esd_ms |
ESD (Error Sensitivity Descriptor) Marker segment. More... | |
struct | jpwl_red_ms |
RED (Residual Error Descriptor) Marker segment. More... | |
struct | jpwl_marker |
Structure used to store JPWL markers temporary position and readyness. More... | |
Macros | |
#define | JPWL_ASSUME OPJ_TRUE |
Assume a basic codestream structure, so you can resort better from uncorrected errors. More... | |
#define | jpwl_updateCRC16(CRC, DATA) updateCRC16(CRC, DATA) |
Macro functions for CRC computation. More... | |
#define | jpwl_updateCRC32(CRC, DATA) updateCRC32(CRC, DATA) |
Computes the CRC-32, as stated in JPWL specs. More... | |
Typedefs | |
typedef struct jpwl_epb_ms | jpwl_epb_ms_t |
EPB (Error Protection Block) Marker segment. More... | |
typedef struct jpwl_epc_ms | jpwl_epc_ms_t |
EPC (Error Protection Capability) Marker segment. More... | |
typedef struct jpwl_esd_ms | jpwl_esd_ms_t |
ESD (Error Sensitivity Descriptor) Marker segment. More... | |
typedef struct jpwl_red_ms | jpwl_red_ms_t |
RED (Residual Error Descriptor) Marker segment. More... | |
typedef struct jpwl_marker | jpwl_marker_t |
Structure used to store JPWL markers temporary position and readyness. More... | |
Functions | |
void | jpwl_encode (opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) |
Encode according to JPWL specs. More... | |
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) More... | |
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. More... | |
void | j2k_read_epc (opj_j2k_t *j2k) |
Read the EPC marker (Error Protection Capability) More... | |
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. More... | |
void | j2k_read_epb (opj_j2k_t *j2k) |
Read the EPB marker (Error Protection Block) More... | |
void | j2k_write_epb (opj_j2k_t *j2k) |
Write the EPB marker (Error Protection Block) More... | |
void | j2k_read_esd (opj_j2k_t *j2k) |
Read the ESD marker (Error Sensitivity Descriptor) More... | |
void | j2k_read_red (opj_j2k_t *j2k) |
Read the RED marker (Residual Error Descriptor) More... | |
jpwl_epb_ms_t * | jpwl_epb_create (opj_j2k_t *j2k, opj_bool latest, opj_bool packed, int tileno, int idx, int hprot, unsigned long int pre_len, unsigned long int post_len) |
create an EPB marker segment More... | |
int | jpwl_epbs_add (opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int *jwmarker_num, opj_bool latest, opj_bool packed, opj_bool insideMH, int *idx, int hprot, double place_pos, int tileno, unsigned long int pre_len, unsigned long int post_len) |
add a number of EPB marker segments More... | |
int | jpwl_esds_add (opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int *jwmarker_num, int comps, unsigned char addrm, unsigned char ad_size, unsigned char senst, unsigned char se_size, double place_pos, int tileno) |
add a number of ESD marker segments More... | |
opj_bool | jpwl_update_info (opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int jwmarker_num) |
updates the information structure by modifying the positions and lengths More... | |
opj_bool | jpwl_esd_fill (opj_j2k_t *j2k, jpwl_esd_ms_t *esdmark, unsigned char *buf) |
opj_bool | jpwl_epb_fill (opj_j2k_t *j2k, jpwl_epb_ms_t *epbmark, unsigned char *buf, unsigned char *post_buf) |
void | j2k_add_marker (opj_codestream_info_t *cstr_info, unsigned short int type, int pos, int len) |
opj_bool | jpwl_correct (opj_j2k_t *j2k) |
corrects the data in the JPWL codestream More... | |
opj_bool | jpwl_epb_correct (opj_j2k_t *j2k, unsigned char *buffer, int type, int pre_len, int post_len, int *conn, unsigned char **L4_bufp) |
corrects the data protected by an EPB More... | |
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 More... | |
Local static variables | |
static int | jwmarker_num |
number of JPWL prepared markers More... | |
static jpwl_marker_t | jwmarker [JPWL_MAX_NO_MARKERS] |
properties of JPWL markers to insert More... | |
#define JPWL_ASSUME OPJ_TRUE |
Assume a basic codestream structure, so you can resort better from uncorrected errors.
Referenced by j2k_decode(), j2k_read_ppm(), j2k_read_qcc(), j2k_read_qcx(), j2k_read_rgn(), j2k_read_siz(), j2k_read_sot(), j2k_read_unk(), jpwl_check_tile(), and t2_decode_packet().
#define jpwl_updateCRC16 | ( | CRC, | |
DATA | |||
) | updateCRC16(CRC, DATA) |
Macro functions for CRC computation.
Computes the CRC-16, as stated in JPWL specs
CRC | two bytes containing the CRC value (must be initialized with 0x0000) |
DATA | byte for which the CRC is computed; call this on every byte of the sequence and get the CRC at the end |
Referenced by j2k_read_epc(), j2k_write_epc(), jpwl_dump_marks(), jpwl_epb_correct(), and jpwl_epb_fill().
#define jpwl_updateCRC32 | ( | CRC, | |
DATA | |||
) | updateCRC32(CRC, DATA) |
Computes the CRC-32, as stated in JPWL specs.
CRC | four bytes containing the CRC value (must be initialized with 0x00000000) |
DATA | byte for which the CRC is computed; call this on every byte of the sequence and get the CRC at the end |
Referenced by jpwl_epb_correct(), and jpwl_epb_fill().
typedef struct jpwl_epb_ms jpwl_epb_ms_t |
EPB (Error Protection Block) Marker segment.
typedef struct jpwl_epc_ms jpwl_epc_ms_t |
EPC (Error Protection Capability) Marker segment.
typedef struct jpwl_esd_ms jpwl_esd_ms_t |
ESD (Error Sensitivity Descriptor) Marker segment.
typedef struct jpwl_marker jpwl_marker_t |
Structure used to store JPWL markers temporary position and readyness.
typedef struct jpwl_red_ms jpwl_red_ms_t |
RED (Residual Error Descriptor) Marker segment.
void j2k_add_marker | ( | opj_codestream_info_t * | cstr_info, |
unsigned short int | type, | ||
int | pos, | ||
int | len | ||
) |
References opj_marker_info_t::len, opj_codestream_info::marker, opj_codestream_info::marknum, opj_codestream_info::maxmarknum, opj_realloc, opj_marker_info_t::pos, and opj_marker_info_t::type.
Referenced by j2k_write_eoc(), j2k_write_epb(), j2k_write_epc(), j2k_write_soc(), j2k_write_sod(), j2k_write_sot(), jpwl_epb_write(), jpwl_epc_write(), and jpwl_esd_write().
void j2k_read_epb | ( | opj_j2k_t * | j2k | ) |
Read the EPB marker (Error Protection Block)
j2k | J2K handle |
References opj_cio::bp, opj_j2k::cinfo, opj_j2k::cio, cio_read(), cio_seek(), cio_skip(), cio_tell(), opj_cp::correct, opj_j2k::cp, EVT_ERROR, EVT_INFO, opj_cp::exp_comps, J2K_STATE_MH, J2K_STATE_TPH, jpwl_epb_correct(), opj_event_msg(), OPJ_FALSE, OPJ_TRUE, and opj_j2k::state.
void j2k_read_epc | ( | opj_j2k_t * | j2k | ) |
Read the EPC marker (Error Protection Capability)
j2k | J2K handle |
References opj_j2k::cinfo, opj_j2k::cio, cio_read(), cio_seek(), cio_skip(), cio_tell(), EVT_INFO, jpwl_updateCRC16, and opj_event_msg().
void j2k_read_esd | ( | opj_j2k_t * | j2k | ) |
Read the ESD marker (Error Sensitivity Descriptor)
j2k | J2K handle |
References opj_j2k::cinfo, opj_j2k::cio, cio_read(), cio_skip(), cio_tell(), EVT_INFO, opj_j2k::image, opj_image::numcomps, and opj_event_msg().
void j2k_read_red | ( | opj_j2k_t * | j2k | ) |
Read the RED marker (Residual Error Descriptor)
j2k | J2K handle |
References opj_j2k::cinfo, opj_j2k::cio, cio_read(), cio_skip(), cio_tell(), EVT_INFO, and opj_event_msg().
void j2k_write_epb | ( | opj_j2k_t * | j2k | ) |
Write the EPB marker (Error Protection Block)
j2k | J2K handle |
References opj_j2k::cio, cio_seek(), cio_skip(), cio_tell(), cio_write(), opj_j2k::cstr_info, j2k_add_marker(), and J2K_MS_EPB.
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.
j2k | J2K handle |
References opj_j2k::cio, cio_read(), cio_seek(), cio_skip(), cio_tell(), cio_write(), opj_j2k::cstr_info, j2k_add_marker(), J2K_MS_EPC, and jpwl_updateCRC16.
check that a tile and its children have valid data
j2k | J2K decompressor handle |
tcd | Tile decompressor handle |
tileno | number of the tile to check |
References opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_j2k::cinfo, opj_tcd_tile::comps, opj_tcd_precinct::cw, EVT_ERROR, EVT_WARNING, JPWL_ASSUME, opj_tcd_resolution::numbands, opj_tcd_tile::numcomps, opj_tcd_tilecomp::numresolutions, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_tcd_resolution::ph, opj_tcd_band::precincts, opj_tcd_resolution::pw, opj_tcd_tilecomp::resolutions, opj_tcd::tcd_image, opj_tcd_image::tiles, opj_tcd_precinct::x0, and opj_tcd_precinct::x1.
corrects the data in the JPWL codestream
j2k | J2K compressor handle |
References opj_cio::bp, opj_j2k::cinfo, opj_j2k::cio, cio_read(), cio_seek(), cio_skip(), cio_tell(), opj_cp::correct, opj_j2k::cp, opj_cio::end, EVT_WARNING, opj_cp::exp_comps, J2K_MS_EOC, J2K_MS_EPB, J2K_MS_SIZ, J2K_MS_SOC, J2K_MS_SOD, J2K_MS_SOT, J2K_STATE_MH, J2K_STATE_MHSIZ, J2K_STATE_MHSOC, J2K_STATE_MT, J2K_STATE_TPH, jpwl_epb_correct(), opj_cio::length, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, and opj_j2k::state.
Referenced by j2k_decode().
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.
j2k | J2K handle |
cio | codestream handle |
image | image handle |
References opj_cio::bp, opj_cio::buffer, opj_j2k::cinfo, opj_cio::cinfo, cio_getbp(), cio_seek(), opj_codestream_info::codestream_size, opj_j2k::cp, opj_j2k::cstr_info, jpwl_epc_ms::DL, jpwl_marker::dpos, opj_cio::end, opj_cp::epb_on, jpwl_marker::jpwl_marks::epcmark, opj_cp::esd_on, EVT_ERROR, EVT_INFO, J2K_MS_EPB, J2K_MS_EPC, J2K_MS_ESD, J2K_MS_RED, jpwl_epb_fill(), jpwl_epb_write(), jpwl_epc_write(), jpwl_esd_fill(), jpwl_esd_write(), jpwl_markcomp(), jpwl_update_info(), jpwl_updateCRC16, jwmarker_num, jpwl_marker::len, opj_cio::length, jpwl_marker::m, opj_codestream_info::main_head_start, opj_codestream_info::marker, opj_codestream_info::marknum, opj_cio::openmode, opj_clock(), opj_event_msg(), opj_free, opj_malloc, jpwl_epc_ms::Pcrc, jpwl_marker::pos, opj_marker_info_t::pos, and opj_cio::start.
Referenced by jpwl_encode().
void jpwl_encode | ( | opj_j2k_t * | j2k, |
opj_cio_t * | cio, | ||
opj_image_t * | image | ||
) |
Encode according to JPWL specs.
j2k | J2K handle |
cio | codestream handle |
image | image handle |
References J2K_MS_EPB, J2K_MS_EPC, J2K_MS_ESD, J2K_MS_RED, jpwl_dump_marks(), JPWL_MAX_NO_MARKERS, jpwl_prepare_marks(), jwmarker_num, opj_free, and opj_j2k::pos_correction.
Referenced by j2k_encode().
opj_bool jpwl_epb_correct | ( | opj_j2k_t * | j2k, |
unsigned char * | buffer, | ||
int | type, | ||
int | pre_len, | ||
int | post_len, | ||
int * | conn, | ||
unsigned char ** | L4_bufp | ||
) |
corrects the data protected by an EPB
j2k | J2K compressor handle |
buffer | pointer to the EPB position |
type | type of EPB: 0=MH, 1=TPH, 2=other, 3=auto |
pre_len | length of pre-data |
post_len | length of post_data |
conn | is a pointer to the length of all connected (packed) EPBs |
L4_bufp | is a pointer to the buffer pointer of redundancy data |
References opj_cio::bp, opj_j2k::cinfo, opj_j2k::cio, cio_numbytesleft(), cio_read(), cio_seek(), cio_skip(), cio_tell(), eras_dec_rs(), EVT_ERROR, EVT_INFO, EVT_WARNING, init_rs(), jpwl_epb_correct(), jpwl_updateCRC16, jpwl_updateCRC32, NN, opj_event_msg(), OPJ_FALSE, and OPJ_TRUE.
Referenced by j2k_read_epb(), jpwl_correct(), and jpwl_epb_correct().
jpwl_epb_ms_t* jpwl_epb_create | ( | opj_j2k_t * | j2k, |
opj_bool | latest, | ||
opj_bool | packed, | ||
int | tileno, | ||
int | idx, | ||
int | hprot, | ||
unsigned long int | pre_len, | ||
unsigned long int | post_len | ||
) |
create an EPB marker segment
j2k | J2K compressor handle |
latest | it is the latest EPB in the header |
packed | EPB is in packed style |
tileno | tile number where the marker has been placed (-1 means MH) |
idx | current EPB running index |
hprot | applied protection type (-1/0,1,16,32,37-128) |
pre_len | length of pre-protected data |
post_len | length of post-protected data |
References opj_j2k::cinfo, jpwl_epb_ms::Depb, EVT_ERROR, jpwl_epb_ms::hprot, jpwl_epb_ms::k_post, jpwl_epb_ms::k_pre, jpwl_epb_ms::LDPepb, jpwl_epb_ms::Lepb, jpwl_epb_ms::n_post, jpwl_epb_ms::n_pre, opj_event_msg(), opj_malloc, jpwl_epb_ms::Pepb, jpwl_epb_ms::post_len, jpwl_epb_ms::pre_len, and jpwl_epb_ms::tileno.
Referenced by jpwl_epbs_add(), and jpwl_prepare_marks().
opj_bool jpwl_epb_fill | ( | opj_j2k_t * | j2k, |
jpwl_epb_ms_t * | epbmark, | ||
unsigned char * | buf, | ||
unsigned char * | post_buf | ||
) |
References opj_j2k::cinfo, encode_rs(), EVT_ERROR, EVT_WARNING, jpwl_epb_ms::hprot, init_rs(), jpwl_updateCRC16, jpwl_updateCRC32, jpwl_epb_ms::k_post, jpwl_epb_ms::k_pre, jpwl_epb_ms::Lepb, jpwl_epb_ms::n_post, jpwl_epb_ms::n_pre, NN, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, jpwl_epb_ms::post_len, and jpwl_epb_ms::pre_len.
Referenced by jpwl_dump_marks().
int jpwl_epbs_add | ( | opj_j2k_t * | j2k, |
jpwl_marker_t * | jwmarker, | ||
int * | jwmarker_num, | ||
opj_bool | latest, | ||
opj_bool | packed, | ||
opj_bool | insideMH, | ||
int * | idx, | ||
int | hprot, | ||
double | place_pos, | ||
int | tileno, | ||
unsigned long int | pre_len, | ||
unsigned long int | post_len | ||
) |
add a number of EPB marker segments
j2k | J2K compressor handle |
jwmarker | pointer to the JPWL markers list |
jwmarker_num | pointer to the number of JPWL markers (gets updated) |
latest | it is the latest group of EPBs in the header |
packed | EPBs are in packed style |
insideMH | it is in the MH |
idx | pointer to the starting EPB running index (gets updated) |
hprot | applied protection type (-1/0,1,16,32,37-128) |
place_pos | place in original codestream where EPBs should go |
tileno | tile number of these EPBs |
pre_len | length of pre-protected data |
post_len | length of post-protected data |
References opj_j2k::cinfo, jpwl_marker::data_ready, jpwl_marker::dpos, jpwl_marker::jpwl_marks::epbmark, EVT_ERROR, jpwl_marker::id, J2K_MS_EPB, jpwl_epb_create(), JPWL_MAX_NO_MARKERS, JPWL_MAXIMUM_EPB_ROOM, jwmarker_num, jpwl_marker::len, jpwl_marker::len_ready, jpwl_epb_ms::Lepb, jpwl_marker::m, min, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, jpwl_marker::parms_ready, jpwl_marker::pos, and jpwl_marker::pos_ready.
Referenced by jpwl_prepare_marks().
opj_bool jpwl_esd_fill | ( | opj_j2k_t * | j2k, |
jpwl_esd_ms_t * | esdmark, | ||
unsigned char * | buf | ||
) |
References jpwl_esd_ms::ad_size, jpwl_esd_ms::addrm, opj_image_comp::bpp, opj_j2k::cinfo, opj_image::comps, opj_j2k::cstr_info, jpwl_esd_ms::data, opj_packet_info::disto, opj_tile_info::distotile, opj_tile_info::end_header, opj_packet_info::end_pos, EVT_WARNING, opj_j2k::image, jpwl_double_to_pfp(), jpwl_pfp_to_double(), opj_codestream_info::main_head_end, MAX_V1, jpwl_esd_ms::numcomps, opj_image::numcomps, opj_tile_info::numpix, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_tile_info::packet, opj_codestream_info::packno, jpwl_esd_ms::se_size, jpwl_esd_ms::senst, opj_image_comp::sgnd, opj_packet_info::start_pos, opj_tile_info::start_pos, jpwl_esd_ms::svalnum, opj_codestream_info::th, opj_codestream_info::tile, jpwl_esd_ms::tileno, and opj_codestream_info::tw.
Referenced by jpwl_dump_marks().
int jpwl_esds_add | ( | opj_j2k_t * | j2k, |
jpwl_marker_t * | jwmarker, | ||
int * | jwmarker_num, | ||
int | comps, | ||
unsigned char | addrm, | ||
unsigned char | ad_size, | ||
unsigned char | senst, | ||
unsigned char | se_size, | ||
double | place_pos, | ||
int | tileno | ||
) |
add a number of ESD marker segments
j2k | J2K compressor handle |
jwmarker | pointer to the JPWL markers list |
jwmarker_num | pointer to the number of JPWL markers (gets updated) |
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) |
place_pos | place in original codestream where EPBs should go |
tileno | tile number of these EPBs |
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)
j2k | J2K handle |
cio | codestream handle |
image | image handle |
References opj_j2k::cinfo, cio_getbp(), cio_read(), cio_seek(), cio_skip(), cio_tell(), cio_write(), opj_j2k::cp, opj_j2k::cstr_info, jpwl_marker::data_ready, jpwl_epb_ms::Depb, jpwl_marker::dpos, opj_packet_info::end_pos, opj_cp::epb_on, jpwl_marker::jpwl_marks::epbmark, jpwl_marker::jpwl_marks::epcmark, opj_cp::esd_on, jpwl_marker::jpwl_marks::esdmark, EVT_ERROR, EVT_INFO, opj_cp::hprot_MH, opj_cp::hprot_TPH, opj_cp::hprot_TPH_tileno, jpwl_marker::id, J2K_MS_EPB, J2K_MS_EPC, J2K_MS_ESD, jpwl_epb_create(), jpwl_epbs_add(), jpwl_epc_create(), jpwl_esd_create(), JPWL_MAX_NO_MARKERS, JPWL_MAX_NO_PACKSPECS, JPWL_MAX_NO_TILESPECS, jwmarker_num, jpwl_marker::len, jpwl_marker::len_ready, jpwl_epb_ms::Lepb, jpwl_epc_ms::Lepc, jpwl_esd_ms::Lesd, jpwl_marker::m, opj_codestream_info::main_head_end, opj_codestream_info::main_head_start, opj_tile_info::num_tps, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_tile_info::packet, opj_codestream_info::packno, jpwl_marker::parms_ready, jpwl_marker::pos, jpwl_marker::pos_ready, opj_cp::pprot, opj_cp::pprot_packno, opj_cp::pprot_tileno, opj_cp::red_on, opj_cp::sens_addr, opj_cp::sens_MH, opj_cp::sens_range, opj_cp::sens_size, opj_cp::sens_TPH, opj_cp::sens_TPH_tileno, opj_packet_info::start_pos, opj_codestream_info::th, opj_codestream_info::tile, opj_tile_info::tp, opj_tp_info::tp_end_header, opj_tp_info::tp_numpacks, opj_tp_info::tp_start_pack, opj_tp_info::tp_start_pos, and opj_codestream_info::tw.
Referenced by jpwl_encode().
opj_bool jpwl_update_info | ( | opj_j2k_t * | j2k, |
jpwl_marker_t * | jwmarker, | ||
int | jwmarker_num | ||
) |
updates the information structure by modifying the positions and lengths
j2k | J2K compressor handle |
jwmarker | pointer to JPWL markers list |
jwmarker_num | number of JPWL markers |
References opj_j2k::cinfo, opj_codestream_info::codestream_size, opj_j2k::cstr_info, opj_tile_info::end_header, opj_packet_info::end_ph_pos, opj_packet_info::end_pos, opj_tile_info::end_pos, EVT_ERROR, jwmarker_num, jpwl_marker::len, opj_codestream_info::main_head_end, opj_tile_info::num_tps, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_tile_info::packet, opj_codestream_info::packno, opj_packet_info::start_pos, opj_tile_info::start_pos, opj_codestream_info::th, opj_codestream_info::tile, opj_tile_info::tp, opj_tp_info::tp_end_header, opj_tp_info::tp_end_pos, opj_tp_info::tp_start_pos, and opj_codestream_info::tw.
Referenced by jpwl_dump_marks().
|
static |
properties of JPWL markers to insert
|
static |
number of JPWL prepared markers
Referenced by jpwl_dump_marks(), jpwl_encode(), jpwl_epbs_add(), jpwl_prepare_marks(), and jpwl_update_info().