FFmpeg
Loading...
Searching...
No Matches
jpeg2000dec.c File Reference

JPEG 2000 image decoder. More...

#include <inttypes.h>
#include <math.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/imgutils.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "thread.h"
#include "jpeg2000.h"
#include "jpeg2000dsp.h"
#include "profiles.h"
#include "jpeg2000dec.h"
#include "jpeg2000htdec.h"

Go to the source code of this file.

Macros

#define JP2_SIG_TYPE   0x6A502020
 
#define JP2_SIG_VALUE   0x0D0A870A
 
#define JP2_CODESTREAM   0x6A703263
 
#define JP2_HEADER   0x6A703268
 
#define HAD_COC   0x01
 
#define HAD_QCC   0x02
 
#define HT_MIXED   0x80
 
#define RGB_PIXEL_FORMATS   AV_PIX_FMT_PAL8,AV_PIX_FMT_RGB24,AV_PIX_FMT_RGBA,AV_PIX_FMT_RGB48,AV_PIX_FMT_RGBA64
 
#define GRAY_PIXEL_FORMATS   AV_PIX_FMT_GRAY8,AV_PIX_FMT_GRAY8A,AV_PIX_FMT_GRAY16,AV_PIX_FMT_YA16
 
#define YUV_PIXEL_FORMATS
 
#define XYZ_PIXEL_FORMATS   AV_PIX_FMT_XYZ12
 
#define WRITE_FRAME(D, PIXEL)
 
#define OFFSET(x)
 
#define VD   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 

Enumerations

enum  HT_PLHD_STATUS { HT_PLHD_OFF , HT_PLHD_ON }
 

Functions

static int get_bits (Jpeg2000DecoderContext *s, int n)
 
static void jpeg2000_flush (Jpeg2000DecoderContext *s)
 
static int tag_tree_decode (Jpeg2000DecoderContext *s, Jpeg2000TgtNode *node, int threshold)
 
static int pix_fmt_match (enum AVPixelFormat pix_fmt, int components, int bpc, uint32_t log2_chroma_wh, int pal8)
 
static int get_siz (Jpeg2000DecoderContext *s)
 
static int get_cap (Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c)
 
static int get_cox (Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c)
 
static int get_cod (Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c, const uint8_t *properties)
 
static int get_coc (Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c, uint8_t *properties)
 
static int get_rgn (Jpeg2000DecoderContext *s, int n)
 
static int get_qcx (Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q)
 
static int get_qcd (Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q, const uint8_t *properties)
 
static int get_qcc (Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q, uint8_t *properties)
 
static int get_poc (Jpeg2000DecoderContext *s, int size, Jpeg2000POC *p)
 
static int get_sot (Jpeg2000DecoderContext *s, int n)
 
static int read_crg (Jpeg2000DecoderContext *s, int n)
 
static int read_cpf (Jpeg2000DecoderContext *s, int n)
 
static int get_tlm (Jpeg2000DecoderContext *s, int n)
 
static int get_plt (Jpeg2000DecoderContext *s, int n)
 
static int get_ppm (Jpeg2000DecoderContext *s, int n)
 
static int get_ppt (Jpeg2000DecoderContext *s, int n)
 
static int init_tile (Jpeg2000DecoderContext *s, int tileno)
 
static int getnpasses (Jpeg2000DecoderContext *s)
 
static int getlblockinc (Jpeg2000DecoderContext *s)
 
static void select_header (Jpeg2000DecoderContext *s, const Jpeg2000Tile *tile, int *tp_index)
 
static void select_stream (Jpeg2000DecoderContext *s, const Jpeg2000Tile *tile, int *tp_index, const Jpeg2000CodingStyle *codsty)
 
static int jpeg2000_decode_packet (Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, int *tp_index, const Jpeg2000CodingStyle *codsty, Jpeg2000ResLevel *rlevel, int precno, int layno, const uint8_t *expn, int numgbits)
 
static int jpeg2000_decode_packets_po_iteration (Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, int RSpoc, int CSpoc, int LYEpoc, int REpoc, int CEpoc, int Ppoc, int *tp_index)
 
static int jpeg2000_decode_packets (Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
 
static void decode_sigpass (Jpeg2000T1Context *t1, int width, int height, int bpno, int bandno, int vert_causal_ctx_csty_symbol)
 
static void decode_refpass (Jpeg2000T1Context *t1, int width, int height, int bpno, int vert_causal_ctx_csty_symbol)
 
static void decode_clnpass (const Jpeg2000DecoderContext *s, Jpeg2000T1Context *t1, int width, int height, int bpno, int bandno, int seg_symbols, int vert_causal_ctx_csty_symbol)
 
static int decode_cblk (const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty, Jpeg2000T1Context *t1, Jpeg2000Cblk *cblk, int width, int height, int bandpos, uint8_t roi_shift, const int M_b)
 
static void dequantization_float (int x, int y, Jpeg2000Cblk *cblk, Jpeg2000Component *comp, Jpeg2000T1Context *t1, Jpeg2000Band *band, const int M_b)
 
static void dequantization_int (int x, int y, Jpeg2000Cblk *cblk, Jpeg2000Component *comp, Jpeg2000T1Context *t1, Jpeg2000Band *band, const int M_b)
 
static void dequantization_int_97 (int x, int y, Jpeg2000Cblk *cblk, Jpeg2000Component *comp, Jpeg2000T1Context *t1, Jpeg2000Band *band, const int M_b)
 
static void mct_decode (const Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
 
static int tile_codeblocks (const Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
 
static int jpeg2000_decode_tile (AVCodecContext *avctx, void *td, int jobnr, int threadnr)
 
static void jpeg2000_dec_cleanup (Jpeg2000DecoderContext *s)
 
static int jpeg2000_read_main_headers (Jpeg2000DecoderContext *s)
 
static int jpeg2000_read_bitstream_packets (Jpeg2000DecoderContext *s)
 
static int jp2_find_codestream (Jpeg2000DecoderContext *s)
 
static av_cold int jpeg2000_decode_init (AVCodecContext *avctx)
 
static int jpeg2000_decode_frame (AVCodecContext *avctx, AVFrame *picture, int *got_frame, AVPacket *avpkt)
 

Variables

static enum AVPixelFormat rgb_pix_fmts [] = {RGB_PIXEL_FORMATS}
 
static enum AVPixelFormat gray_pix_fmts [] = {GRAY_PIXEL_FORMATS}
 
static enum AVPixelFormat yuv_pix_fmts [] = {YUV_PIXEL_FORMATS}
 
static enum AVPixelFormat xyz_pix_fmts []
 
static enum AVPixelFormat all_pix_fmts []
 
static const AVOption options []
 
static const AVClass jpeg2000_class
 
const FFCodec ff_jpeg2000_decoder
 

Detailed Description

JPEG 2000 image decoder.

Definition in file jpeg2000dec.c.

Macro Definition Documentation

◆ JP2_SIG_TYPE

#define JP2_SIG_TYPE   0x6A502020

Definition at line 49 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ JP2_SIG_VALUE

#define JP2_SIG_VALUE   0x0D0A870A

Definition at line 50 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ JP2_CODESTREAM

#define JP2_CODESTREAM   0x6A703263

Definition at line 51 of file jpeg2000dec.c.

Referenced by jp2_find_codestream().

◆ JP2_HEADER

#define JP2_HEADER   0x6A703268

Definition at line 52 of file jpeg2000dec.c.

Referenced by jp2_find_codestream().

◆ HAD_COC

#define HAD_COC   0x01

Definition at line 54 of file jpeg2000dec.c.

Referenced by get_coc(), and get_cod().

◆ HAD_QCC

#define HAD_QCC   0x02

Definition at line 55 of file jpeg2000dec.c.

Referenced by get_qcc(), and get_qcd().

◆ HT_MIXED

#define HT_MIXED   0x80

Definition at line 63 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ RGB_PIXEL_FORMATS

Definition at line 173 of file jpeg2000dec.c.

◆ GRAY_PIXEL_FORMATS

Definition at line 174 of file jpeg2000dec.c.

◆ YUV_PIXEL_FORMATS

#define YUV_PIXEL_FORMATS
Value:
#define AV_PIX_FMT_YUV420P16
Definition pixfmt.h:556
#define AV_PIX_FMT_YUV444P12
Definition pixfmt.h:552
#define AV_PIX_FMT_YUV444P9
Definition pixfmt.h:544
#define AV_PIX_FMT_YUV420P10
Definition pixfmt.h:545
#define AV_PIX_FMT_YUV422P9
Definition pixfmt.h:543
#define AV_PIX_FMT_YUVA444P10
Definition pixfmt.h:598
#define AV_PIX_FMT_YUVA420P16
Definition pixfmt.h:601
#define AV_PIX_FMT_YUV420P12
Definition pixfmt.h:549
#define AV_PIX_FMT_YUVA420P10
Definition pixfmt.h:596
#define AV_PIX_FMT_YUVA422P9
Definition pixfmt.h:594
#define AV_PIX_FMT_YUV422P12
Definition pixfmt.h:550
#define AV_PIX_FMT_YUV422P10
Definition pixfmt.h:546
#define AV_PIX_FMT_YUV420P9
Definition pixfmt.h:542
#define AV_PIX_FMT_YUVA420P9
Definition pixfmt.h:593
#define AV_PIX_FMT_YUVA422P10
Definition pixfmt.h:597
#define AV_PIX_FMT_YUV420P14
Definition pixfmt.h:553
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition pixfmt.h:73
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
Definition pixfmt.h:106
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:77
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Definition pixfmt.h:108
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
Definition pixfmt.h:79
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
Definition pixfmt.h:80
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition pixfmt.h:78
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Definition pixfmt.h:174
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
Definition pixfmt.h:173
#define AV_PIX_FMT_YUV422P14
Definition pixfmt.h:554
#define AV_PIX_FMT_YUV422P16
Definition pixfmt.h:557
#define AV_PIX_FMT_YUVA444P16
Definition pixfmt.h:603
#define AV_PIX_FMT_YUVA422P16
Definition pixfmt.h:602
#define AV_PIX_FMT_YUV444P14
Definition pixfmt.h:555
#define AV_PIX_FMT_YUVA444P9
Definition pixfmt.h:595
#define AV_PIX_FMT_YUV444P16
Definition pixfmt.h:558
#define AV_PIX_FMT_YUV444P10
Definition pixfmt.h:548

Definition at line 175 of file jpeg2000dec.c.

◆ XYZ_PIXEL_FORMATS

#define XYZ_PIXEL_FORMATS   AV_PIX_FMT_XYZ12

Definition at line 186 of file jpeg2000dec.c.

◆ WRITE_FRAME

#define WRITE_FRAME ( D,
PIXEL )

Definition at line 2324 of file jpeg2000dec.c.

◆ OFFSET

#define OFFSET ( x)
Value:

Definition at line 2935 of file jpeg2000dec.c.

◆ VD

Definition at line 2936 of file jpeg2000dec.c.

Enumeration Type Documentation

◆ HT_PLHD_STATUS

Enumerator
HT_PLHD_OFF 
HT_PLHD_ON 

Definition at line 58 of file jpeg2000dec.c.

Function Documentation

◆ get_bits()

static int get_bits ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 70 of file jpeg2000dec.c.

Referenced by getlblockinc(), getnpasses(), jpeg2000_decode_packet(), and tag_tree_decode().

◆ jpeg2000_flush()

static void jpeg2000_flush ( Jpeg2000DecoderContext * s)
static

Definition at line 85 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ tag_tree_decode()

static int tag_tree_decode ( Jpeg2000DecoderContext * s,
Jpeg2000TgtNode * node,
int threshold )
static

Definition at line 93 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ pix_fmt_match()

static int pix_fmt_match ( enum AVPixelFormat pix_fmt,
int components,
int bpc,
uint32_t log2_chroma_wh,
int pal8 )
static

Definition at line 133 of file jpeg2000dec.c.

Referenced by get_siz().

◆ get_siz()

static int get_siz ( Jpeg2000DecoderContext * s)
static

Definition at line 200 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_cap()

static int get_cap ( Jpeg2000DecoderContext * s,
Jpeg2000CodingStyle * c )
static

Definition at line 448 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_cox()

static int get_cox ( Jpeg2000DecoderContext * s,
Jpeg2000CodingStyle * c )
static

Definition at line 516 of file jpeg2000dec.c.

Referenced by get_coc(), and get_cod().

◆ get_cod()

static int get_cod ( Jpeg2000DecoderContext * s,
Jpeg2000CodingStyle * c,
const uint8_t * properties )
static

Definition at line 592 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_coc()

static int get_coc ( Jpeg2000DecoderContext * s,
Jpeg2000CodingStyle * c,
uint8_t * properties )
static

Definition at line 629 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_rgn()

static int get_rgn ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 664 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_qcx()

static int get_qcx ( Jpeg2000DecoderContext * s,
int n,
Jpeg2000QuantStyle * q )
static

Definition at line 697 of file jpeg2000dec.c.

Referenced by get_qcc(), and get_qcd().

◆ get_qcd()

static int get_qcd ( Jpeg2000DecoderContext * s,
int n,
Jpeg2000QuantStyle * q,
const uint8_t * properties )
static

Definition at line 742 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_qcc()

static int get_qcc ( Jpeg2000DecoderContext * s,
int n,
Jpeg2000QuantStyle * q,
uint8_t * properties )
static

Definition at line 760 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_poc()

static int get_poc ( Jpeg2000DecoderContext * s,
int size,
Jpeg2000POC * p )
static

Definition at line 781 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_sot()

static int get_sot ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 843 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ read_crg()

static int read_crg ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 896 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ read_cpf()

static int read_cpf ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 906 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_tlm()

static int get_tlm ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 922 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_plt()

static int get_plt ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 957 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_ppm()

static int get_ppm ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 979 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ get_ppt()

static int get_ppt ( Jpeg2000DecoderContext * s,
int n )
static

Definition at line 1003 of file jpeg2000dec.c.

Referenced by jpeg2000_read_main_headers().

◆ init_tile()

static int init_tile ( Jpeg2000DecoderContext * s,
int tileno )
static

Definition at line 1037 of file jpeg2000dec.c.

Referenced by jpeg2000_read_bitstream_packets().

◆ getnpasses()

static int getnpasses ( Jpeg2000DecoderContext * s)
static

Definition at line 1094 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ getlblockinc()

static int getlblockinc ( Jpeg2000DecoderContext * s)
static

Definition at line 1109 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ select_header()

static void select_header ( Jpeg2000DecoderContext * s,
const Jpeg2000Tile * tile,
int * tp_index )
inlinestatic

Definition at line 1120 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ select_stream()

static void select_stream ( Jpeg2000DecoderContext * s,
const Jpeg2000Tile * tile,
int * tp_index,
const Jpeg2000CodingStyle * codsty )
inlinestatic

Definition at line 1132 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packet().

◆ jpeg2000_decode_packet()

static int jpeg2000_decode_packet ( Jpeg2000DecoderContext * s,
Jpeg2000Tile * tile,
int * tp_index,
const Jpeg2000CodingStyle * codsty,
Jpeg2000ResLevel * rlevel,
int precno,
int layno,
const uint8_t * expn,
int numgbits )
static

Definition at line 1157 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packets_po_iteration().

◆ jpeg2000_decode_packets_po_iteration()

static int jpeg2000_decode_packets_po_iteration ( Jpeg2000DecoderContext * s,
Jpeg2000Tile * tile,
int RSpoc,
int CSpoc,
int LYEpoc,
int REpoc,
int CEpoc,
int Ppoc,
int * tp_index )
static

Definition at line 1567 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_packets().

◆ jpeg2000_decode_packets()

static int jpeg2000_decode_packets ( Jpeg2000DecoderContext * s,
Jpeg2000Tile * tile )
static

Definition at line 1858 of file jpeg2000dec.c.

Referenced by jpeg2000_read_bitstream_packets().

◆ decode_sigpass()

static void decode_sigpass ( Jpeg2000T1Context * t1,
int width,
int height,
int bpno,
int bandno,
int vert_causal_ctx_csty_symbol )
static

Definition at line 1895 of file jpeg2000dec.c.

Referenced by decode_cblk().

◆ decode_refpass()

static void decode_refpass ( Jpeg2000T1Context * t1,
int width,
int height,
int bpno,
int vert_causal_ctx_csty_symbol )
static

Definition at line 1926 of file jpeg2000dec.c.

Referenced by decode_cblk().

◆ decode_clnpass()

static void decode_clnpass ( const Jpeg2000DecoderContext * s,
Jpeg2000T1Context * t1,
int width,
int height,
int bpno,
int bandno,
int seg_symbols,
int vert_causal_ctx_csty_symbol )
static

Definition at line 1952 of file jpeg2000dec.c.

Referenced by decode_cblk().

◆ decode_cblk()

static int decode_cblk ( const Jpeg2000DecoderContext * s,
Jpeg2000CodingStyle * codsty,
Jpeg2000T1Context * t1,
Jpeg2000Cblk * cblk,
int width,
int height,
int bandpos,
uint8_t roi_shift,
const int M_b )
static

Definition at line 2016 of file jpeg2000dec.c.

Referenced by tile_codeblocks().

◆ dequantization_float()

static void dequantization_float ( int x,
int y,
Jpeg2000Cblk * cblk,
Jpeg2000Component * comp,
Jpeg2000T1Context * t1,
Jpeg2000Band * band,
const int M_b )
static

Definition at line 2121 of file jpeg2000dec.c.

Referenced by tile_codeblocks().

◆ dequantization_int()

static void dequantization_int ( int x,
int y,
Jpeg2000Cblk * cblk,
Jpeg2000Component * comp,
Jpeg2000T1Context * t1,
Jpeg2000Band * band,
const int M_b )
static

Definition at line 2143 of file jpeg2000dec.c.

Referenced by tile_codeblocks().

◆ dequantization_int_97()

static void dequantization_int_97 ( int x,
int y,
Jpeg2000Cblk * cblk,
Jpeg2000Component * comp,
Jpeg2000T1Context * t1,
Jpeg2000Band * band,
const int M_b )
static

Definition at line 2176 of file jpeg2000dec.c.

Referenced by tile_codeblocks().

◆ mct_decode()

static void mct_decode ( const Jpeg2000DecoderContext * s,
Jpeg2000Tile * tile )
inlinestatic

Definition at line 2206 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_tile().

◆ tile_codeblocks()

static int tile_codeblocks ( const Jpeg2000DecoderContext * s,
Jpeg2000Tile * tile )
inlinestatic

Definition at line 2235 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_tile().

◆ jpeg2000_decode_tile()

static int jpeg2000_decode_tile ( AVCodecContext * avctx,
void * td,
int jobnr,
int threadnr )
static

Definition at line 2394 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ jpeg2000_dec_cleanup()

static void jpeg2000_dec_cleanup ( Jpeg2000DecoderContext * s)
static

Definition at line 2423 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ jpeg2000_read_main_headers()

static int jpeg2000_read_main_headers ( Jpeg2000DecoderContext * s)
static

Definition at line 2457 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ jpeg2000_read_bitstream_packets()

static int jpeg2000_read_bitstream_packets ( Jpeg2000DecoderContext * s)
static

Definition at line 2672 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ jp2_find_codestream()

static int jp2_find_codestream ( Jpeg2000DecoderContext * s)
static

Definition at line 2690 of file jpeg2000dec.c.

Referenced by jpeg2000_decode_frame().

◆ jpeg2000_decode_init()

static av_cold int jpeg2000_decode_init ( AVCodecContext * avctx)
static

Definition at line 2839 of file jpeg2000dec.c.

◆ jpeg2000_decode_frame()

static int jpeg2000_decode_frame ( AVCodecContext * avctx,
AVFrame * picture,
int * got_frame,
AVPacket * avpkt )
static

Definition at line 2857 of file jpeg2000dec.c.

Variable Documentation

◆ rgb_pix_fmts

enum AVPixelFormat rgb_pix_fmts[] = {RGB_PIXEL_FORMATS}
static

Definition at line 188 of file jpeg2000dec.c.

Referenced by config_props(), geq_query_formats(), get_siz(), and query_formats().

◆ gray_pix_fmts

enum AVPixelFormat gray_pix_fmts[] = {GRAY_PIXEL_FORMATS}
static

Definition at line 189 of file jpeg2000dec.c.

Referenced by get_siz(), and query_formats().

◆ yuv_pix_fmts

enum AVPixelFormat yuv_pix_fmts[] = {YUV_PIXEL_FORMATS}
static

Definition at line 190 of file jpeg2000dec.c.

Referenced by config_props(), geq_query_formats(), get_siz(), and query_formats().

◆ xyz_pix_fmts

enum AVPixelFormat xyz_pix_fmts[]
static
Initial value:
#define YUV_PIXEL_FORMATS
#define XYZ_PIXEL_FORMATS

Definition at line 191 of file jpeg2000dec.c.

Referenced by get_siz().

◆ all_pix_fmts

enum AVPixelFormat all_pix_fmts[]
static
Initial value:

Definition at line 193 of file jpeg2000dec.c.

Referenced by get_siz(), query_formats(), and query_formats().

◆ options

const AVOption options[]
static
Initial value:
= {
{ "lowres", "Lower the decoding resolution by a power of two",
OFFSET(reduction_factor), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, JPEG2000_MAX_RESLEVELS - 1, VD },
{ NULL },
}
#define VD
Definition amfdec.c:787
#define NULL
Definition coverity.c:32
#define OFFSET(x)
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258
#define JPEG2000_MAX_RESLEVELS
Definition jpeg2000.h:79

Definition at line 2938 of file jpeg2000dec.c.

◆ jpeg2000_class

const AVClass jpeg2000_class
static
Initial value:
= {
.class_name = "jpeg2000",
.item_name = av_default_item_name,
.option = options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85

Definition at line 2944 of file jpeg2000dec.c.

◆ ff_jpeg2000_decoder

const FFCodec ff_jpeg2000_decoder
Initial value:
= {
.p.name = "jpeg2000",
CODEC_LONG_NAME("JPEG 2000"),
.p.type = AVMEDIA_TYPE_VIDEO,
.priv_data_size = sizeof(Jpeg2000DecoderContext),
.p.priv_class = &jpeg2000_class,
.p.max_lowres = 5,
}
#define FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
The decoder extracts and fills its parameters even if the frame is skipped due to the skip_frame sett...
#define FF_CODEC_DECODE_CB(func)
#define CODEC_LONG_NAME(str)
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition codec.h:49
#define AV_CODEC_CAP_SLICE_THREADS
Codec supports slice-based (or partition-based) multithreading.
Definition codec.h:102
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition codec.h:98
@ AV_CODEC_ID_JPEG2000
Definition codec_id.h:138
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
static const AVClass jpeg2000_class
static av_cold int jpeg2000_decode_init(AVCodecContext *avctx)
static int jpeg2000_decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_frame, AVPacket *avpkt)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
const AVProfile ff_jpeg2000_profiles[]
Definition profiles.c:107

Definition at line 2951 of file jpeg2000dec.c.