#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 |
Definition in file j2kdec.c.
#define HAD_COC 0x01 |
#define HAD_QCC 0x02 |
#define JP2_CODESTREAM 0x6A703263 |
#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().
static void cleanup | ( | J2kDecoderContext * | s | ) | [static] |
static int decode_cblk | ( | J2kDecoderContext * | s, | |
J2kCodingStyle * | codsty, | |||
J2kT1Context * | t1, | |||
J2kCblk * | cblk, | |||
int | width, | |||
int | height, | |||
int | bandpos | |||
) | [static] |
static void decode_clnpass | ( | J2kDecoderContext * | s, | |
J2kT1Context * | t1, | |||
int | width, | |||
int | height, | |||
int | bpno, | |||
int | bandno, | |||
int | seg_symbols | |||
) | [static] |
static int decode_codestream | ( | J2kDecoderContext * | s | ) | [static] |
static av_cold int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static int decode_packet | ( | J2kDecoderContext * | s, | |
J2kCodingStyle * | codsty, | |||
J2kResLevel * | rlevel, | |||
int | precno, | |||
int | layno, | |||
uint8_t * | expn, | |||
int | numgbits | |||
) | [static] |
static int decode_packets | ( | J2kDecoderContext * | s, | |
J2kTile * | tile | |||
) | [static] |
static void decode_refpass | ( | J2kT1Context * | t1, | |
int | width, | |||
int | height, | |||
int | bpno | |||
) | [static] |
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] |
static int decode_tile | ( | J2kDecoderContext * | s, | |
J2kTile * | tile | |||
) | [static] |
static int get_bits | ( | J2kDecoderContext * | s, | |
int | n | |||
) | [static] |
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 330 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 300 of file j2kdec.c.
Referenced by decode_codestream().
static int get_cox | ( | J2kDecoderContext * | s, | |
J2kCodingStyle * | c | |||
) | [static] |
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 405 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 391 of file j2kdec.c.
Referenced by decode_codestream().
static int get_qcx | ( | J2kDecoderContext * | s, | |
int | n, | |||
J2kQuantStyle * | q | |||
) | [static] |
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 418 of file j2kdec.c.
Referenced by decode_codestream().
static int getlblockinc | ( | J2kDecoderContext * | s | ) | [static] |
static int getnpasses | ( | J2kDecoderContext * | s | ) | [static] |
read the number of coding passes
Definition at line 470 of file j2kdec.c.
Referenced by decode_packet().
static int init_tile | ( | J2kDecoderContext * | s, | |
int | tileno | |||
) | [static] |
static void j2k_flush | ( | J2kDecoderContext * | s | ) | [static] |
static av_cold int j2kdec_init | ( | AVCodecContext * | avctx | ) | [static] |
static int jp2_find_codestream | ( | J2kDecoderContext * | s | ) | [static] |
static void mct_decode | ( | J2kDecoderContext * | s, | |
J2kTile * | tile | |||
) | [static] |
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().
Initial value:
{ "j2k", AVMEDIA_TYPE_VIDEO, CODEC_ID_JPEG2000, sizeof(J2kDecoderContext), j2kdec_init, NULL, decode_end, decode_frame, .capabilities = CODEC_CAP_EXPERIMENTAL, .pix_fmts = (enum PixelFormat[]) {PIX_FMT_GRAY8, PIX_FMT_RGB24, -1} }