FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
jpeg2000.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_DECLEVELS   32
 
#define JPEG2000_MAX_RESLEVELS   (JPEG2000_MAX_DECLEVELS + 1)
 
#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
}
 
enum  Jpeg2000Quantsty { 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)
 
void ff_jpeg2000_init_tier1_luts (void)
 
void ff_jpeg2000_set_significance (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_jpeg2000_init_component (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int cbps, int dx, int dy, AVCodecContext *ctx)
 
void ff_jpeg2000_reinit (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
 
void ff_jpeg2000_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 jpeg2000.h.

Macro Definition Documentation

#define JPEG2000_MAX_CBLKW   64

Definition at line 67 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_MAX_CBLKH   64

Definition at line 68 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_MAX_DECLEVELS   32

Definition at line 71 of file jpeg2000.h.

Referenced by get_qcx().

#define JPEG2000_MAX_RESLEVELS   (JPEG2000_MAX_DECLEVELS + 1)

Definition at line 72 of file jpeg2000.h.

Referenced by get_cox().

#define JPEG2000_T1_SIG_N   0x0001

Definition at line 76 of file jpeg2000.h.

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

#define JPEG2000_T1_SIG_E   0x0002

Definition at line 77 of file jpeg2000.h.

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

#define JPEG2000_T1_SIG_W   0x0004

Definition at line 78 of file jpeg2000.h.

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

#define JPEG2000_T1_SIG_S   0x0008
#define JPEG2000_T1_SIG_NE   0x0010

Definition at line 80 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsigctxno().

#define JPEG2000_T1_SIG_NW   0x0020

Definition at line 81 of file jpeg2000.h.

Referenced by 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 84 of file jpeg2000.h.

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

#define JPEG2000_T1_SGN_N   0x0100

Definition at line 89 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_S   0x0200

Definition at line 90 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_W   0x0400

Definition at line 91 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_E   0x0800

Definition at line 92 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

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

Definition at line 96 of file jpeg2000.h.

Referenced by decode_refpass(), and encode_refpass().

#define JPEG2000_T1_SGN   0x8000

Definition at line 98 of file jpeg2000.h.

Referenced by encode_cblk().

#define JPEG2000_CBLK_BYPASS   0x01

Definition at line 101 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_RESET   0x02

Definition at line 102 of file jpeg2000.h.

#define JPEG2000_CBLK_TERMALL   0x04

Definition at line 103 of file jpeg2000.h.

#define JPEG2000_CBLK_VSC   0x08

Definition at line 104 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_PREDTERM   0x10

Definition at line 105 of file jpeg2000.h.

#define JPEG2000_CBLK_SEGSYM   0x20

Definition at line 106 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CSTY_PREC   0x01

Definition at line 109 of file jpeg2000.h.

Referenced by get_cox().

#define JPEG2000_CSTY_SOP   0x02

Definition at line 110 of file jpeg2000.h.

#define JPEG2000_CSTY_EPH   0x04

Definition at line 111 of file jpeg2000.h.

Referenced by jpeg2000_decode_packet().

#define JPEG2000_PGOD_LRCP   0x00

Definition at line 114 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets().

#define JPEG2000_PGOD_RLCP   0x01

Definition at line 115 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets().

#define JPEG2000_PGOD_RPCL   0x02

Definition at line 116 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets().

#define JPEG2000_PGOD_PCRL   0x03

Definition at line 117 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets().

#define JPEG2000_PGOD_CPRL   0x04

Definition at line 118 of file jpeg2000.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 

Definition at line 38 of file jpeg2000.h.

Enumerator:
JPEG2000_QSTY_NONE 
JPEG2000_QSTY_SI 
JPEG2000_QSTY_SE 

Definition at line 61 of file jpeg2000.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 212 of file jpeg2000.h.

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

void ff_jpeg2000_init_tier1_luts ( void  )

Definition at line 157 of file jpeg2000.c.

Referenced by j2kenc_init(), and jpeg2000_init_static_data().

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

Definition at line 169 of file jpeg2000.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 jpeg2000.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 jpeg2000.h.

Referenced by decode_refpass(), and encode_refpass().

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

Definition at line 249 of file jpeg2000.h.

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

int ff_jpeg2000_init_component ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty,
Jpeg2000QuantStyle qntsty,
int  cbps,
int  dx,
int  dy,
AVCodecContext ctx 
)

Definition at line 194 of file jpeg2000.c.

Referenced by init_tile(), and init_tiles().

void ff_jpeg2000_reinit ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 481 of file jpeg2000.c.

Referenced by reinit().

void ff_jpeg2000_cleanup ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 502 of file jpeg2000.c.

Referenced by cleanup(), and jpeg2000_dec_cleanup().

Variable Documentation

uint8_t ff_jpeg2000_sigctxno_lut[256][4]

Definition at line 93 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 jpeg2000.h.

Referenced by ff_jpeg2000_getrefctxno().

uint8_t ff_jpeg2000_sgnctxno_lut[16][16]

Definition at line 138 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 138 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsgnctxno(), and ff_jpeg2000_init_tier1_luts().