FFmpeg  4.0
Macros | Functions | Variables
jpeg2000.c File Reference

JPEG 2000 image encoder and decoder common functions. More...

#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/imgutils.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "internal.h"
#include "jpeg2000.h"

Go to the source code of this file.

Macros

#define SHL(a, n)   ((n) >= 0 ? (a) << (n) : (a) >> -(n))
 

Functions

static int32_t tag_tree_size (int w, int h)
 
static Jpeg2000TgtNodeff_jpeg2000_tag_tree_init (int w, int h)
 
static void tag_tree_zero (Jpeg2000TgtNode *t, int w, int h)
 
static int getsigctxno (int flag, int bandno)
 
static int getsgnctxno (int flag, uint8_t *xorbit)
 
void av_cold ff_jpeg2000_init_tier1_luts (void)
 
void ff_jpeg2000_set_significance (Jpeg2000T1Context *t1, int x, int y, int negative)
 
static void init_band_stepsize (AVCodecContext *avctx, Jpeg2000Band *band, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int bandno, int gbandno, int reslevelno, int cbps)
 
static int init_prec (Jpeg2000Band *band, Jpeg2000ResLevel *reslevel, Jpeg2000Component *comp, int precno, int bandno, int reslevelno, int log2_band_prec_width, int log2_band_prec_height)
 
static int init_band (AVCodecContext *avctx, Jpeg2000ResLevel *reslevel, Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int bandno, int gbandno, int reslevelno, int cbps, int dx, int dy)
 
int ff_jpeg2000_init_component (Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty, Jpeg2000QuantStyle *qntsty, int cbps, int dx, int dy, AVCodecContext *avctx)
 
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]
 
uint8_t ff_jpeg2000_sgnctxno_lut [16][16]
 
uint8_t ff_jpeg2000_xorbit_lut [16][16]
 
static const int contribtab [3][3] = { { 0, -1, 1 }, { -1, -1, 0 }, { 1, 0, 1 } }
 
static const int ctxlbltab [3][3] = { { 13, 12, 11 }, { 10, 9, 10 }, { 11, 12, 13 } }
 
static const int xorbittab [3][3] = { { 1, 1, 1 }, { 1, 0, 0 }, { 0, 0, 0 } }
 

Detailed Description

JPEG 2000 image encoder and decoder common functions.

Definition in file jpeg2000.c.

Macro Definition Documentation

◆ SHL

#define SHL (   a,
  n 
)    ((n) >= 0 ? (a) << (n) : (a) >> -(n))

Definition at line 37 of file jpeg2000.c.

Function Documentation

◆ tag_tree_size()

static int32_t tag_tree_size ( int  w,
int  h 
)
static

Definition at line 42 of file jpeg2000.c.

Referenced by ff_jpeg2000_tag_tree_init(), and tag_tree_zero().

◆ ff_jpeg2000_tag_tree_init()

static Jpeg2000TgtNode* ff_jpeg2000_tag_tree_init ( int  w,
int  h 
)
static

Definition at line 54 of file jpeg2000.c.

Referenced by init_prec().

◆ tag_tree_zero()

static void tag_tree_zero ( Jpeg2000TgtNode t,
int  w,
int  h 
)
static

Definition at line 85 of file jpeg2000.c.

Referenced by ff_jpeg2000_reinit().

◆ getsigctxno()

static int getsigctxno ( int  flag,
int  bandno 
)
static

Definition at line 97 of file jpeg2000.c.

Referenced by ff_jpeg2000_init_tier1_luts().

◆ getsgnctxno()

static int getsgnctxno ( int  flag,
uint8_t xorbit 
)
static

Definition at line 146 of file jpeg2000.c.

Referenced by ff_jpeg2000_init_tier1_luts().

◆ ff_jpeg2000_init_tier1_luts()

void av_cold ff_jpeg2000_init_tier1_luts ( void  )

Definition at line 159 of file jpeg2000.c.

Referenced by ff_jpeg2000_ceildiv(), j2kenc_init(), and jpeg2000_init_static_data().

◆ ff_jpeg2000_set_significance()

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

◆ init_band_stepsize()

static void init_band_stepsize ( AVCodecContext avctx,
Jpeg2000Band band,
Jpeg2000CodingStyle codsty,
Jpeg2000QuantStyle qntsty,
int  bandno,
int  gbandno,
int  reslevelno,
int  cbps 
)
static

Definition at line 196 of file jpeg2000.c.

Referenced by init_band().

◆ init_prec()

static int init_prec ( Jpeg2000Band band,
Jpeg2000ResLevel reslevel,
Jpeg2000Component comp,
int  precno,
int  bandno,
int  reslevelno,
int  log2_band_prec_width,
int  log2_band_prec_height 
)
static

Definition at line 258 of file jpeg2000.c.

Referenced by init_band().

◆ init_band()

static int init_band ( AVCodecContext avctx,
Jpeg2000ResLevel reslevel,
Jpeg2000Component comp,
Jpeg2000CodingStyle codsty,
Jpeg2000QuantStyle qntsty,
int  bandno,
int  gbandno,
int  reslevelno,
int  cbps,
int  dx,
int  dy 
)
static

Definition at line 368 of file jpeg2000.c.

Referenced by ff_jpeg2000_init_component().

◆ ff_jpeg2000_init_component()

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

Definition at line 446 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsgnctxno(), init_tile(), and init_tiles().

◆ ff_jpeg2000_reinit()

void ff_jpeg2000_reinit ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 559 of file jpeg2000.c.

Referenced by ff_jpeg2000_getsgnctxno(), and reinit().

◆ ff_jpeg2000_cleanup()

void ff_jpeg2000_cleanup ( Jpeg2000Component comp,
Jpeg2000CodingStyle codsty 
)

Definition at line 580 of file jpeg2000.c.

Referenced by cleanup(), ff_jpeg2000_getsgnctxno(), and jpeg2000_dec_cleanup().

Variable Documentation

◆ ff_jpeg2000_sigctxno_lut

uint8_t ff_jpeg2000_sigctxno_lut[256][4]

◆ ff_jpeg2000_sgnctxno_lut

uint8_t ff_jpeg2000_sgnctxno_lut[16][16]

◆ ff_jpeg2000_xorbit_lut

uint8_t ff_jpeg2000_xorbit_lut[16][16]

◆ contribtab

const int contribtab[3][3] = { { 0, -1, 1 }, { -1, -1, 0 }, { 1, 0, 1 } }
static

Definition at line 142 of file jpeg2000.c.

Referenced by getsgnctxno().

◆ ctxlbltab

const int ctxlbltab[3][3] = { { 13, 12, 11 }, { 10, 9, 10 }, { 11, 12, 13 } }
static

Definition at line 143 of file jpeg2000.c.

Referenced by getsgnctxno().

◆ xorbittab

const int xorbittab[3][3] = { { 1, 1, 1 }, { 1, 0, 0 }, { 0, 0, 0 } }
static

Definition at line 144 of file jpeg2000.c.

Referenced by getsgnctxno().