FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
j2k.h File Reference

JPEG 2000 structures and defines common to encoder and decoder. More...

#include <stdint.h>
#include "avcodec.h"
#include "mqc.h"
#include "jpeg2000dwt.h"

Go to the source code of this file.

Data Structures

struct  Jpeg2000T1Context
 
struct  Jpeg2000TgtNode
 
struct  Jpeg2000CodingStyle
 
struct  Jpeg2000QuantStyle
 
struct  Jpeg2000Pass
 
struct  Jpeg2000Cblk
 
struct  Jpeg2000Prec
 
struct  Jpeg2000Band
 
struct  Jpeg2000ResLevel
 
struct  Jpeg2000Component
 

Macros

#define JPEG2000_MAX_CBLKW   64
 
#define JPEG2000_MAX_CBLKH   64
 
#define JPEG2000_MAX_RESLEVELS   33
 
#define JPEG2000_T1_SIG_N   0x0001
 
#define JPEG2000_T1_SIG_E   0x0002
 
#define JPEG2000_T1_SIG_W   0x0004
 
#define JPEG2000_T1_SIG_S   0x0008
 
#define JPEG2000_T1_SIG_NE   0x0010
 
#define JPEG2000_T1_SIG_NW   0x0020
 
#define JPEG2000_T1_SIG_SE   0x0040
 
#define JPEG2000_T1_SIG_SW   0x0080
 
#define JPEG2000_T1_SIG_NB
 
#define JPEG2000_T1_SGN_N   0x0100
 
#define JPEG2000_T1_SGN_S   0x0200
 
#define JPEG2000_T1_SGN_W   0x0400
 
#define JPEG2000_T1_SGN_E   0x0800
 
#define JPEG2000_T1_VIS   0x1000
 
#define JPEG2000_T1_SIG   0x2000
 
#define JPEG2000_T1_REF   0x4000
 
#define JPEG2000_T1_SGN   0x8000
 
#define JPEG2000_CBLK_BYPASS   0x01
 
#define JPEG2000_CBLK_RESET   0x02
 
#define JPEG2000_CBLK_TERMALL   0x04
 
#define JPEG2000_CBLK_VSC   0x08
 
#define JPEG2000_CBLK_PREDTERM   0x10
 
#define JPEG2000_CBLK_SEGSYM   0x20
 
#define JPEG2000_CSTY_PREC   0x01
 
#define JPEG2000_CSTY_SOP   0x02
 
#define JPEG2000_CSTY_EPH   0x04
 
#define JPEG2000_PGOD_LRCP   0x00
 
#define JPEG2000_PGOD_RLCP   0x01
 
#define JPEG2000_PGOD_RPCL   0x02
 
#define JPEG2000_PGOD_PCRL   0x03
 
#define JPEG2000_PGOD_CPRL   0x04
 

Enumerations

enum  Jpeg2000Markers {
  JPEG2000_SOC = 0xff4f, JPEG2000_SIZ = 0xff51, JPEG2000_COD, JPEG2000_COC,
  JPEG2000_TLM = 0xff55, JPEG2000_PLM = 0xff57, JPEG2000_PLT, JPEG2000_QCD = 0xff5c,
  JPEG2000_QCC, JPEG2000_RGN, JPEG2000_POC, JPEG2000_PPM,
  JPEG2000_PPT, JPEG2000_CRG = 0xff63, JPEG2000_COM, JPEG2000_SOT = 0xff90,
  JPEG2000_SOP, JPEG2000_EPH, JPEG2000_SOD, JPEG2000_EOC = 0xffd9,
  JPEG2000_SOC = 0xff4f, JPEG2000_SIZ = 0xff51, JPEG2000_COD, JPEG2000_COC,
  JPEG2000_TLM = 0xff55, JPEG2000_PLM = 0xff57, JPEG2000_PLT, JPEG2000_QCD = 0xff5c,
  JPEG2000_QCC, JPEG2000_RGN, JPEG2000_POC, JPEG2000_PPM,
  JPEG2000_PPT, JPEG2000_CRG = 0xff63, JPEG2000_COM, JPEG2000_SOT = 0xff90,
  JPEG2000_SOP, JPEG2000_EPH, JPEG2000_SOD, JPEG2000_EOC = 0xffd9
}
 
enum  Jpeg2000Quantsty {
  JPEG2000_QSTY_NONE, JPEG2000_QSTY_SI, JPEG2000_QSTY_SE, JPEG2000_QSTY_NONE,
  JPEG2000_QSTY_SI, JPEG2000_QSTY_SE
}
 

Functions

static int ff_jpeg2000_ceildivpow2 (int a, int b)
 
static int ff_jpeg2000_ceildiv (int a, int b)
 
Jpeg2000TgtNodeff_j2k_tag_tree_init (int w, int h)
 
void ff_jpeg2000_init_tier1_luts (void)
 
void ff_j2k_set_significant (Jpeg2000T1Context *t1, int x, int y, int negative)
 
static int ff_jpeg2000_getsigctxno (int flag, int bandno)
 
static int ff_jpeg2000_getrefctxno (int flag)
 
static int ff_jpeg2000_getsgnctxno (int flag, int *xorbit)
 
int ff_j2k_init_component (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int cbps, int dx, int dy, AVCodecContext *avctx)
 
void ff_j2k_reinit (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
 
void ff_j2k_cleanup (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
 

Variables

uint8_t ff_jpeg2000_sigctxno_lut [256][4]
 
static const uint8_t refctxno_lut [2][2] = { { 14, 15 }, { 16, 16 } }
 
uint8_t ff_jpeg2000_sgnctxno_lut [16][16]
 
uint8_t ff_jpeg2000_xorbit_lut [16][16]
 

Detailed Description

JPEG 2000 structures and defines common to encoder and decoder.

Definition in file j2k.h.

Macro Definition Documentation

#define JPEG2000_MAX_CBLKW   64

Definition at line 67 of file j2k.h.

#define JPEG2000_MAX_CBLKH   64

Definition at line 68 of file j2k.h.

#define JPEG2000_MAX_RESLEVELS   33

Definition at line 70 of file j2k.h.

Referenced by get_cox().

#define JPEG2000_T1_SIG_N   0x0001
#define JPEG2000_T1_SIG_E   0x0002
#define JPEG2000_T1_SIG_W   0x0004
#define JPEG2000_T1_SIG_S   0x0008
#define JPEG2000_T1_SIG_NE   0x0010

Definition at line 78 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsigctxno().

#define JPEG2000_T1_SIG_NW   0x0020

Definition at line 79 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsigctxno().

#define JPEG2000_T1_SIG_SE   0x0040
#define JPEG2000_T1_SIG_SW   0x0080
#define JPEG2000_T1_SIG_NB
Value:
JPEG2000_T1_SIG_S | JPEG2000_T1_SIG_W | \
JPEG2000_T1_SIG_NE | JPEG2000_T1_SIG_NW | \
JPEG2000_T1_SIG_SE | JPEG2000_T1_SIG_SW)

Definition at line 82 of file j2k.h.

Referenced by decode_clnpass(), decode_sigpass(), encode_clnpass(), and encode_sigpass().

#define JPEG2000_T1_SGN_N   0x0100

Definition at line 87 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_S   0x0200

Definition at line 88 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_W   0x0400

Definition at line 89 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_E   0x0800

Definition at line 90 of file j2k.h.

Referenced by ff_j2k_set_significant(), ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_VIS   0x1000
#define JPEG2000_T1_SIG   0x2000
#define JPEG2000_T1_REF   0x4000

Definition at line 94 of file j2k.h.

Referenced by decode_refpass(), and encode_refpass().

#define JPEG2000_T1_SGN   0x8000

Definition at line 96 of file j2k.h.

Referenced by encode_cblk().

#define JPEG2000_CBLK_BYPASS   0x01

Definition at line 99 of file j2k.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_RESET   0x02

Definition at line 100 of file j2k.h.

#define JPEG2000_CBLK_TERMALL   0x04

Definition at line 101 of file j2k.h.

#define JPEG2000_CBLK_VSC   0x08

Definition at line 102 of file j2k.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_PREDTERM   0x10

Definition at line 103 of file j2k.h.

#define JPEG2000_CBLK_SEGSYM   0x20

Definition at line 104 of file j2k.h.

Referenced by decode_cblk().

#define JPEG2000_CSTY_PREC   0x01

Definition at line 107 of file j2k.h.

Referenced by get_cox().

#define JPEG2000_CSTY_SOP   0x02

Definition at line 108 of file j2k.h.

#define JPEG2000_CSTY_EPH   0x04

Definition at line 109 of file j2k.h.

Referenced by decode_packet(), and jpeg2000_decode_packet().

#define JPEG2000_PGOD_LRCP   0x00

Definition at line 112 of file j2k.h.

Referenced by jpeg2000_decode_packets().

#define JPEG2000_PGOD_RLCP   0x01

Definition at line 113 of file j2k.h.

#define JPEG2000_PGOD_RPCL   0x02

Definition at line 114 of file j2k.h.

#define JPEG2000_PGOD_PCRL   0x03

Definition at line 115 of file j2k.h.

#define JPEG2000_PGOD_CPRL   0x04

Definition at line 116 of file j2k.h.

Referenced by jpeg2000_decode_packets().

Enumeration Type Documentation

Enumerator:
JPEG2000_SOC 
JPEG2000_SIZ 
JPEG2000_COD 
JPEG2000_COC 
JPEG2000_TLM 
JPEG2000_PLM 
JPEG2000_PLT 
JPEG2000_QCD 
JPEG2000_QCC 
JPEG2000_RGN 
JPEG2000_POC 
JPEG2000_PPM 
JPEG2000_PPT 
JPEG2000_CRG 
JPEG2000_COM 
JPEG2000_SOT 
JPEG2000_SOP 
JPEG2000_EPH 
JPEG2000_SOD 
JPEG2000_EOC 
JPEG2000_SOC 
JPEG2000_SIZ 
JPEG2000_COD 
JPEG2000_COC 
JPEG2000_TLM 
JPEG2000_PLM 
JPEG2000_PLT 
JPEG2000_QCD 
JPEG2000_QCC 
JPEG2000_RGN 
JPEG2000_POC 
JPEG2000_PPM 
JPEG2000_PPT 
JPEG2000_CRG 
JPEG2000_COM 
JPEG2000_SOT 
JPEG2000_SOP 
JPEG2000_EPH 
JPEG2000_SOD 
JPEG2000_EOC 

Definition at line 38 of file j2k.h.

Enumerator:
JPEG2000_QSTY_NONE 
JPEG2000_QSTY_SI 
JPEG2000_QSTY_SE 
JPEG2000_QSTY_NONE 
JPEG2000_QSTY_SI 
JPEG2000_QSTY_SE 

Definition at line 61 of file j2k.h.

Function Documentation

static int ff_jpeg2000_ceildivpow2 ( int  a,
int  b 
)
inlinestatic
static int ff_jpeg2000_ceildiv ( int  a,
int  b 
)
inlinestatic

Definition at line 209 of file j2k.h.

Referenced by ff_j2k_init_component(), get_siz(), and init_tiles().

Jpeg2000TgtNode* ff_j2k_tag_tree_init ( int  w,
int  h 
)

Definition at line 51 of file j2k.c.

Referenced by ff_j2k_init_component().

void ff_jpeg2000_init_tier1_luts ( void  )

Definition at line 148 of file jpeg2000.c.

Referenced by j2kenc_init(), and jpeg2000_init_static_data().

void ff_j2k_set_significant ( Jpeg2000T1Context t1,
int  x,
int  y,
int  negative 
)

Definition at line 153 of file j2k.c.

Referenced by decode_clnpass(), decode_sigpass(), encode_clnpass(), and encode_sigpass().

static int ff_jpeg2000_getsigctxno ( int  flag,
int  bandno 
)
inlinestatic

Definition at line 231 of file j2k.h.

Referenced by decode_clnpass(), decode_sigpass(), encode_clnpass(), and encode_sigpass().

static int ff_jpeg2000_getrefctxno ( int  flag)
inlinestatic

Definition at line 240 of file j2k.h.

Referenced by decode_refpass(), and encode_refpass().

static int ff_jpeg2000_getsgnctxno ( int  flag,
int *  xorbit 
)
inlinestatic

Definition at line 249 of file j2k.h.

Referenced by decode_clnpass(), decode_sigpass(), encode_clnpass(), and encode_sigpass().

int ff_j2k_init_component ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty,
Jpeg2000QuantStyle qntsty,
int  cbps,
int  dx,
int  dy,
AVCodecContext avctx 
)

Definition at line 178 of file j2k.c.

Referenced by init_tile(), and init_tiles().

void ff_j2k_reinit ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 444 of file j2k.c.

Referenced by reinit().

void ff_j2k_cleanup ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 465 of file j2k.c.

Referenced by cleanup(), and jpeg2000_dec_cleanup().

Variable Documentation

uint8_t ff_jpeg2000_sigctxno_lut[256][4]

Definition at line 84 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsigctxno(), and ff_jpeg2000_init_tier1_luts().

const uint8_t refctxno_lut[2][2] = { { 14, 15 }, { 16, 16 } }
static

Definition at line 236 of file j2k.h.

Referenced by ff_jpeg2000_getrefctxno().

uint8_t ff_jpeg2000_sgnctxno_lut[16][16]

Definition at line 129 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsgnctxno(), and ff_jpeg2000_init_tier1_luts().

uint8_t ff_jpeg2000_xorbit_lut[16][16]

Definition at line 129 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsgnctxno(), and ff_jpeg2000_init_tier1_luts().