OpenJPEG  1.5.1
Data Structures | Macros | Typedefs | Functions
jpwl.h File Reference

The JPEG-2000 Part11 (JPWL) marker segments manager. More...

#include "crc.h"
#include "rs.h"

Go to the source code of this file.

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...
 
union  jpwl_marker::jpwl_marks
 union keeping the pointer to the real marker struct 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_tjpwl_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 functions
void j2k_read_sec (opj_j2k_t *j2k)
 Read the SEC marker (SEcured Codestream) More...
 
void j2k_write_sec (opj_j2k_t *j2k)
 Write the SEC marker (SEcured Codestream) More...
 
void j2k_read_insec (opj_j2k_t *j2k)
 Read the INSEC marker (SEcured Codestream) More...
 

Detailed Description

The JPEG-2000 Part11 (JPWL) marker segments manager.

The functions in JPWL.C have for goal to read/write the markers added by JPWL.