libavcodec/j2kdec.c File Reference

JPEG2000 image decoder. More...

#include "avcodec.h"
#include "bytestream.h"
#include "j2k.h"
#include "libavutil/common.h"

Go to the source code of this file.

Data Structures

struct  J2kTile
struct  J2kDecoderContext

Defines

#define JP2_SIG_TYPE   0x6A502020
#define JP2_SIG_VALUE   0x0D0A870A
#define JP2_CODESTREAM   0x6A703263
#define HAD_COC   0x01
#define HAD_QCC   0x02

Functions

static int get_bits (J2kDecoderContext *s, int n)
static void j2k_flush (J2kDecoderContext *s)
static int tag_tree_decode (J2kDecoderContext *s, J2kTgtNode *node, int threshold)
 decode the value stored in node
static int get_siz (J2kDecoderContext *s)
 get sizes and offsets of image, tiles; number of components
static int get_cox (J2kDecoderContext *s, J2kCodingStyle *c)
 get common part for COD and COC segments
static int get_cod (J2kDecoderContext *s, J2kCodingStyle *c, uint8_t *properties)
 get coding parameters for a particular tile or whole image
static int get_coc (J2kDecoderContext *s, J2kCodingStyle *c, uint8_t *properties)
 get coding parameters for a component in the whole image on a particular tile
static int get_qcx (J2kDecoderContext *s, int n, J2kQuantStyle *q)
 get common part for QCD and QCC segments
static int get_qcd (J2kDecoderContext *s, int n, J2kQuantStyle *q, uint8_t *properties)
 get quantization parameters for a particular tile or a whole image
static int get_qcc (J2kDecoderContext *s, int n, J2kQuantStyle *q, uint8_t *properties)
 get quantization parameters for a component in the whole image on in a particular tile
static uint8_t get_sot (J2kDecoderContext *s)
 get start of tile segment
static int init_tile (J2kDecoderContext *s, int tileno)
static int getnpasses (J2kDecoderContext *s)
 read the number of coding passes
static int getlblockinc (J2kDecoderContext *s)
static int decode_packet (J2kDecoderContext *s, J2kCodingStyle *codsty, J2kResLevel *rlevel, int precno, int layno, uint8_t *expn, int numgbits)
static int decode_packets (J2kDecoderContext *s, J2kTile *tile)
static void decode_sigpass (J2kT1Context *t1, int width, int height, int bpno, int bandno, int bpass_csty_symbol, int vert_causal_ctx_csty_symbol)
static void decode_refpass (J2kT1Context *t1, int width, int height, int bpno)
static void decode_clnpass (J2kDecoderContext *s, J2kT1Context *t1, int width, int height, int bpno, int bandno, int seg_symbols)
static int decode_cblk (J2kDecoderContext *s, J2kCodingStyle *codsty, J2kT1Context *t1, J2kCblk *cblk, int width, int height, int bandpos)
static void mct_decode (J2kDecoderContext *s, J2kTile *tile)
static int decode_tile (J2kDecoderContext *s, J2kTile *tile)
static void cleanup (J2kDecoderContext *s)
static int decode_codestream (J2kDecoderContext *s)
static int jp2_find_codestream (J2kDecoderContext *s)
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int j2kdec_init (AVCodecContext *avctx)
static av_cold int decode_end (AVCodecContext *avctx)

Variables

AVCodec ff_jpeg2000_decoder


Detailed Description

JPEG2000 image decoder.

Author:
Kamil Nowosad

Definition in file j2kdec.c.


Define Documentation

#define HAD_COC   0x01

Definition at line 37 of file j2kdec.c.

Referenced by get_coc(), and get_cod().

#define HAD_QCC   0x02

Definition at line 38 of file j2kdec.c.

Referenced by get_qcc(), and get_qcd().

#define JP2_CODESTREAM   0x6A703263

Definition at line 35 of file j2kdec.c.

Referenced by jp2_find_codestream().

#define JP2_SIG_TYPE   0x6A502020

Definition at line 33 of file j2kdec.c.

Referenced by decode_frame(), and libopenjpeg_decode_frame().

#define JP2_SIG_VALUE   0x0D0A870A

Definition at line 34 of file j2kdec.c.

Referenced by decode_frame(), and libopenjpeg_decode_frame().


Function Documentation

static void cleanup ( J2kDecoderContext s  )  [static]

Definition at line 893 of file j2kdec.c.

static int decode_cblk ( J2kDecoderContext s,
J2kCodingStyle codsty,
J2kT1Context t1,
J2kCblk cblk,
int  width,
int  height,
int  bandpos 
) [static]

Definition at line 701 of file j2kdec.c.

Referenced by decode_tile().

static void decode_clnpass ( J2kDecoderContext s,
J2kT1Context t1,
int  width,
int  height,
int  bpno,
int  bandno,
int  seg_symbols 
) [static]

Definition at line 651 of file j2kdec.c.

Referenced by decode_cblk().

static int decode_codestream ( J2kDecoderContext s  )  [static]

Definition at line 908 of file j2kdec.c.

Referenced by decode_frame().

static av_cold int decode_end ( AVCodecContext avctx  )  [static]

Definition at line 1068 of file j2kdec.c.

static int decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
AVPacket avpkt 
) [static]

Definition at line 1000 of file j2kdec.c.

static int decode_packet ( J2kDecoderContext s,
J2kCodingStyle codsty,
J2kResLevel rlevel,
int  precno,
int  layno,
uint8_t *  expn,
int  numgbits 
) [static]

Definition at line 502 of file j2kdec.c.

Referenced by decode_packets().

static int decode_packets ( J2kDecoderContext s,
J2kTile tile 
) [static]

Definition at line 577 of file j2kdec.c.

Referenced by decode_codestream().

static void decode_refpass ( J2kT1Context t1,
int  width,
int  height,
int  bpno 
) [static]

Definition at line 631 of file j2kdec.c.

Referenced by decode_cblk().

static void decode_sigpass ( J2kT1Context t1,
int  width,
int  height,
int  bpno,
int  bandno,
int  bpass_csty_symbol,
int  vert_causal_ctx_csty_symbol 
) [static]

Definition at line 604 of file j2kdec.c.

Referenced by decode_cblk().

static int decode_tile ( J2kDecoderContext s,
J2kTile tile 
) [static]

Definition at line 775 of file j2kdec.c.

Referenced by decode_frame().

static int get_bits ( J2kDecoderContext s,
int  n 
) [static]

Definition at line 77 of file j2kdec.c.

static int get_coc ( J2kDecoderContext s,
J2kCodingStyle c,
uint8_t *  properties 
) [static]

get coding parameters for a component in the whole image on a particular tile

Definition at line 336 of file j2kdec.c.

Referenced by decode_codestream().

static int get_cod ( J2kDecoderContext s,
J2kCodingStyle c,
uint8_t *  properties 
) [static]

get coding parameters for a particular tile or whole image

Definition at line 306 of file j2kdec.c.

Referenced by decode_codestream().

static int get_cox ( J2kDecoderContext s,
J2kCodingStyle c 
) [static]

get common part for COD and COC segments

Definition at line 284 of file j2kdec.c.

Referenced by get_coc(), and get_cod().

static int get_qcc ( J2kDecoderContext s,
int  n,
J2kQuantStyle q,
uint8_t *  properties 
) [static]

get quantization parameters for a component in the whole image on in a particular tile

Definition at line 411 of file j2kdec.c.

Referenced by decode_codestream().

static int get_qcd ( J2kDecoderContext s,
int  n,
J2kQuantStyle q,
uint8_t *  properties 
) [static]

get quantization parameters for a particular tile or a whole image

Definition at line 397 of file j2kdec.c.

Referenced by decode_codestream().

static int get_qcx ( J2kDecoderContext s,
int  n,
J2kQuantStyle q 
) [static]

get common part for QCD and QCC segments

Definition at line 354 of file j2kdec.c.

Referenced by get_qcc(), and get_qcd().

static int get_siz ( J2kDecoderContext s  )  [static]

get sizes and offsets of image, tiles; number of components

Definition at line 204 of file j2kdec.c.

Referenced by decode_codestream().

static uint8_t get_sot ( J2kDecoderContext s  )  [static]

get start of tile segment

< Isot

< Psot (ignored)

< TPsot

< TNsot

Definition at line 424 of file j2kdec.c.

Referenced by decode_codestream().

static int getlblockinc ( J2kDecoderContext s  )  [static]

Definition at line 491 of file j2kdec.c.

Referenced by decode_packet().

static int getnpasses ( J2kDecoderContext s  )  [static]

read the number of coding passes

Definition at line 476 of file j2kdec.c.

Referenced by decode_packet().

static int init_tile ( J2kDecoderContext s,
int  tileno 
) [static]

Definition at line 449 of file j2kdec.c.

Referenced by decode_codestream().

static void j2k_flush ( J2kDecoderContext s  )  [static]

Definition at line 94 of file j2kdec.c.

Referenced by decode_packet(), and encode_packet().

static av_cold int j2kdec_init ( AVCodecContext avctx  )  [static]

Definition at line 1059 of file j2kdec.c.

static int jp2_find_codestream ( J2kDecoderContext s  )  [static]

Definition at line 974 of file j2kdec.c.

Referenced by decode_frame().

static void mct_decode ( J2kDecoderContext s,
J2kTile tile 
) [static]

Definition at line 744 of file j2kdec.c.

Referenced by decode_tile().

static int tag_tree_decode ( J2kDecoderContext s,
J2kTgtNode node,
int  threshold 
) [static]

decode the value stored in node

Definition at line 168 of file j2kdec.c.

Referenced by decode_packet().


Variable Documentation

Initial value:

 {
    .name           = "j2k",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_JPEG2000,
    .priv_data_size = sizeof(J2kDecoderContext),
    .init           = j2kdec_init,
    .close          = decode_end,
    .decode         = decode_frame,
    .capabilities = CODEC_CAP_EXPERIMENTAL,
    .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
    .pix_fmts =
        (const enum PixelFormat[]) {PIX_FMT_GRAY8, PIX_FMT_RGB24, PIX_FMT_NONE}
}

Definition at line 1078 of file j2kdec.c.


Generated on Fri Oct 26 02:46:09 2012 for FFmpeg by  doxygen 1.5.8