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_SOP_FIXED_BYTES   0xFF910004
 
#define JPEG2000_SOP_BYTE_LENGTH   6
 
#define JPEG2000_MAX_DECLEVELS   33
 
#define JPEG2000_MAX_RESLEVELS   (JPEG2000_MAX_DECLEVELS + 1)
 
#define JPEG2000_MAX_PASSES   100
 
#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)
 
static int needs_termination (int style, int passno)
 

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_SOP_FIXED_BYTES   0xFF910004

Definition at line 61 of file jpeg2000.h.

Referenced by jpeg2000_decode_packet().

#define JPEG2000_SOP_BYTE_LENGTH   6

Definition at line 62 of file jpeg2000.h.

Referenced by jpeg2000_decode_packet().

#define JPEG2000_MAX_DECLEVELS   33

Definition at line 70 of file jpeg2000.h.

Referenced by get_qcx().

#define JPEG2000_MAX_RESLEVELS   (JPEG2000_MAX_DECLEVELS + 1)

Definition at line 71 of file jpeg2000.h.

Referenced by get_cox().

#define JPEG2000_MAX_PASSES   100

Definition at line 73 of file jpeg2000.h.

Referenced by encode_tile(), and jpeg2000_decode_packet().

#define JPEG2000_T1_SIG_N   0x0001

Definition at line 77 of file jpeg2000.h.

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

#define JPEG2000_T1_SIG_E   0x0002

Definition at line 78 of file jpeg2000.h.

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

#define JPEG2000_T1_SIG_W   0x0004

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

Referenced by ff_jpeg2000_set_significance(), and getsigctxno().

#define JPEG2000_T1_SIG_NW   0x0020

Definition at line 82 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:
#define JPEG2000_T1_SIG_W
Definition: jpeg2000.h:79
#define JPEG2000_T1_SIG_NE
Definition: jpeg2000.h:81
#define JPEG2000_T1_SIG_SE
Definition: jpeg2000.h:83
#define JPEG2000_T1_SIG_N
Definition: jpeg2000.h:77
#define JPEG2000_T1_SIG_S
Definition: jpeg2000.h:80
#define JPEG2000_T1_SIG_SW
Definition: jpeg2000.h:84
#define JPEG2000_T1_SIG_E
Definition: jpeg2000.h:78
#define JPEG2000_T1_SIG_NW
Definition: jpeg2000.h:82

Definition at line 85 of file jpeg2000.h.

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

#define JPEG2000_T1_SGN_N   0x0100

Definition at line 90 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_S   0x0200
#define JPEG2000_T1_SGN_W   0x0400

Definition at line 92 of file jpeg2000.h.

Referenced by ff_jpeg2000_set_significance(), and getsgnctxno().

#define JPEG2000_T1_SGN_E   0x0800

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

Referenced by decode_refpass(), and encode_refpass().

#define JPEG2000_T1_SGN   0x8000

Definition at line 99 of file jpeg2000.h.

Referenced by encode_cblk().

#define JPEG2000_CBLK_BYPASS   0x01

Definition at line 102 of file jpeg2000.h.

Referenced by get_cox(), and needs_termination().

#define JPEG2000_CBLK_RESET   0x02

Definition at line 103 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_TERMALL   0x04

Definition at line 104 of file jpeg2000.h.

Referenced by needs_termination().

#define JPEG2000_CBLK_VSC   0x08

Definition at line 105 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CBLK_PREDTERM   0x10

Definition at line 106 of file jpeg2000.h.

#define JPEG2000_CBLK_SEGSYM   0x20

Definition at line 107 of file jpeg2000.h.

Referenced by decode_cblk().

#define JPEG2000_CSTY_PREC   0x01

Definition at line 110 of file jpeg2000.h.

Referenced by get_cox().

#define JPEG2000_CSTY_SOP   0x02

Definition at line 111 of file jpeg2000.h.

#define JPEG2000_CSTY_EPH   0x04

Definition at line 112 of file jpeg2000.h.

Referenced by jpeg2000_decode_packet().

#define JPEG2000_PGOD_LRCP   0x00

Definition at line 115 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets_po_iteration().

#define JPEG2000_PGOD_RLCP   0x01

Definition at line 116 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets_po_iteration().

#define JPEG2000_PGOD_RPCL   0x02

Definition at line 117 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets_po_iteration().

#define JPEG2000_PGOD_PCRL   0x03

Definition at line 118 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets_po_iteration().

#define JPEG2000_PGOD_CPRL   0x04

Definition at line 119 of file jpeg2000.h.

Referenced by jpeg2000_decode_packets_po_iteration().

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 64 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 221 of file jpeg2000.h.

Referenced by get_siz(), and init_tiles().

void ff_jpeg2000_init_tier1_luts ( void  )

Definition at line 159 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 171 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 240 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 249 of file jpeg2000.h.

Referenced by decode_refpass(), and encode_refpass().

static int ff_jpeg2000_getsgnctxno ( int  flag,
int xorbit 
)
inlinestatic

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

Referenced by init_tile(), and init_tiles().

void ff_jpeg2000_reinit ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 557 of file jpeg2000.c.

Referenced by reinit().

void ff_jpeg2000_cleanup ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 578 of file jpeg2000.c.

Referenced by cleanup(), and jpeg2000_dec_cleanup().

static int needs_termination ( int  style,
int  passno 
)
inlinestatic

Definition at line 274 of file jpeg2000.h.

Referenced by decode_cblk(), and jpeg2000_decode_packet().

Variable Documentation

uint8_t ff_jpeg2000_sigctxno_lut[256][4]

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

Referenced by ff_jpeg2000_getrefctxno().

uint8_t ff_jpeg2000_sgnctxno_lut[16][16]

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

Referenced by ff_jpeg2000_getsgnctxno(), and ff_jpeg2000_init_tier1_luts().