FFmpeg
Data Structures | Macros | Functions | Variables
j2kenc.c File Reference

JPEG2000 image encoder. More...

#include <float.h>
#include "avcodec.h"
#include "encode.h"
#include "internal.h"
#include "bytestream.h"
#include "jpeg2000.h"
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/thread.h"

Go to the source code of this file.

Data Structures

struct  Jpeg2000Tile
 
struct  Jpeg2000EncoderContext
 

Macros

#define NMSEDEC_BITS   7
 
#define NMSEDEC_FRACBITS   (NMSEDEC_BITS-1)
 
#define WMSEDEC_SHIFT   13
 must be >= 13 More...
 
#define LAMBDA_SCALE   (100000000LL << (WMSEDEC_SHIFT - 13))
 
#define CODEC_JP2   1
 
#define CODEC_J2K   0
 
#define COPY_FRAME(D, PIXEL)
 
#define OFFSET(x)   offsetof(Jpeg2000EncoderContext, x)
 
#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static void put_bits (Jpeg2000EncoderContext *s, int val, int n)
 put n times val bit More...
 
static void put_num (Jpeg2000EncoderContext *s, int num, int n)
 put n least significant bits of a number num More...
 
static void j2k_flush (Jpeg2000EncoderContext *s)
 flush the bitstream More...
 
static void tag_tree_code (Jpeg2000EncoderContext *s, Jpeg2000TgtNode *node, int threshold)
 code the value stored in node More...
 
static void tag_tree_update (Jpeg2000TgtNode *node)
 update the value in node More...
 
static int put_siz (Jpeg2000EncoderContext *s)
 
static int put_cod (Jpeg2000EncoderContext *s)
 
static int put_qcd (Jpeg2000EncoderContext *s, int compno)
 
static int put_com (Jpeg2000EncoderContext *s, int compno)
 
static uint8_t * put_sot (Jpeg2000EncoderContext *s, int tileno)
 
static void compute_rates (Jpeg2000EncoderContext *s)
 
static int init_tiles (Jpeg2000EncoderContext *s)
 compute the sizes of tiles, resolution levels, bands, etc. More...
 
static void init_quantization (Jpeg2000EncoderContext *s)
 
static void init_luts (void)
 
static int getnmsedec_sig (int x, int bpno)
 
static int getnmsedec_ref (int x, int bpno)
 
static void encode_sigpass (Jpeg2000T1Context *t1, int width, int height, int bandno, int *nmsedec, int bpno)
 
static void encode_refpass (Jpeg2000T1Context *t1, int width, int height, int *nmsedec, int bpno)
 
static void encode_clnpass (Jpeg2000T1Context *t1, int width, int height, int bandno, int *nmsedec, int bpno)
 
static void encode_cblk (Jpeg2000EncoderContext *s, Jpeg2000T1Context *t1, Jpeg2000Cblk *cblk, Jpeg2000Tile *tile, int width, int height, int bandpos, int lev)
 
static void putnumpasses (Jpeg2000EncoderContext *s, int n)
 
static int encode_packet (Jpeg2000EncoderContext *s, Jpeg2000ResLevel *rlevel, int layno, int precno, uint8_t *expn, int numgbits, int packetno, int nlayers)
 
static int encode_packets (Jpeg2000EncoderContext *s, Jpeg2000Tile *tile, int tileno, int nlayers)
 
static void makelayer (Jpeg2000EncoderContext *s, int layno, double thresh, Jpeg2000Tile *tile, int final)
 
static void makelayers (Jpeg2000EncoderContext *s, Jpeg2000Tile *tile)
 
static int getcut (Jpeg2000Cblk *cblk, int64_t lambda, int dwt_norm)
 
static void truncpasses (Jpeg2000EncoderContext *s, Jpeg2000Tile *tile)
 
static int encode_tile (Jpeg2000EncoderContext *s, Jpeg2000Tile *tile, int tileno)
 
static void cleanup (Jpeg2000EncoderContext *s)
 
static void reinit (Jpeg2000EncoderContext *s)
 
static void update_size (uint8_t *size, const uint8_t *end)
 
static int encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
 
static int parse_layer_rates (Jpeg2000EncoderContext *s)
 
static av_cold int j2kenc_init (AVCodecContext *avctx)
 
static int j2kenc_destroy (AVCodecContext *avctx)
 

Variables

static int lut_nmsedec_ref [1<< NMSEDEC_BITS]
 
static int lut_nmsedec_ref0 [1<< NMSEDEC_BITS]
 
static int lut_nmsedec_sig [1<< NMSEDEC_BITS]
 
static int lut_nmsedec_sig0 [1<< NMSEDEC_BITS]
 
static const int dwt_norms [2][4][10]
 
static const AVOption options []
 
static const AVClass j2k_class
 
const AVCodec ff_jpeg2000_encoder
 

Detailed Description

JPEG2000 image encoder.

Author
Kamil Nowosad

Definition in file j2kenc.c.

Macro Definition Documentation

◆ NMSEDEC_BITS

#define NMSEDEC_BITS   7

Definition at line 80 of file j2kenc.c.

◆ NMSEDEC_FRACBITS

#define NMSEDEC_FRACBITS   (NMSEDEC_BITS-1)

Definition at line 81 of file j2kenc.c.

◆ WMSEDEC_SHIFT

#define WMSEDEC_SHIFT   13

must be >= 13

Definition at line 82 of file j2kenc.c.

◆ LAMBDA_SCALE

#define LAMBDA_SCALE   (100000000LL << (WMSEDEC_SHIFT - 13))

Definition at line 83 of file j2kenc.c.

◆ CODEC_JP2

#define CODEC_JP2   1

Definition at line 85 of file j2kenc.c.

◆ CODEC_J2K

#define CODEC_J2K   0

Definition at line 86 of file j2kenc.c.

◆ COPY_FRAME

#define COPY_FRAME (   D,
  PIXEL 
)

Definition at line 507 of file j2kenc.c.

◆ OFFSET

#define OFFSET (   x)    offsetof(Jpeg2000EncoderContext, x)

Definition at line 1807 of file j2kenc.c.

◆ VE

Definition at line 1808 of file j2kenc.c.

Function Documentation

◆ put_bits()

static void put_bits ( Jpeg2000EncoderContext s,
int  val,
int  n 
)
static

put n times val bit

Definition at line 220 of file j2kenc.c.

Referenced by aac_adtstoasc_filter(), aac_encode_frame(), ac3_output_frame_header(), adpcm_encode_frame(), adts_decode_extradata(), adts_write_frame_header(), asv1_encode_block(), asv1_put_level(), avpriv_dca_convert_bitstream(), binary_export(), bit_copy(), cbs_av1_write_increment(), cbs_av1_write_ns(), cbs_av1_write_uvlc(), cbs_h2645_write_slice_data(), cbs_mpeg2_write_slice(), cbs_vp9_write_increment(), cbs_vp9_write_le(), cbs_vp9_write_s(), cbs_write_se_golomb(), cbs_write_ue_golomb(), cfhd_encode_frame(), codebook_trellis_rate(), copy_bits(), dnxhd_encode_block(), dnxhd_encode_dc(), dnxhd_encode_thread(), dv_encode_ac(), dv_encode_video_segment(), encode_422_bitstream(), encode_ac_coeffs(), encode_aspect_ratio(), encode_bitstream(), encode_block(), encode_clean_area(), encode_codeword(), encode_color_spec(), encode_exp_vlc(), encode_ext_header(), encode_flush(), encode_four_color_block(), encode_frame(), encode_frame_rate(), encode_frame_size(), encode_hq_slice(), encode_individual_channel(), encode_line_TMPL(), encode_ms_info(), encode_packet(), encode_parse_info(), encode_picture_ls(), encode_pulses(), encode_quant_matrix(), encode_sample_fmt(), encode_scalar(), encode_scale_factors(), encode_scan_format(), encode_signal_range(), encode_slice(), encode_subband(), encode_superframe(), encode_table(), encode_vlc_codeword(), encode_window_bands_info(), ff_aac_encode_ltp_info(), ff_aac_encode_main_pred(), ff_aac_encode_tns_info(), ff_alloc_timecode_sei(), ff_cbs_write_unsigned(), ff_copy_bits(), ff_dca_vlc_enc_alloc(), ff_dca_vlc_enc_quant(), ff_dolby_e_convert_input(), ff_eac3_output_frame_header(), ff_flv2_encode_ac_esc(), ff_flv_encode_picture_header(), ff_h261_encode_mb(), ff_h261_encode_picture_header(), ff_h263_encode_gob_header(), ff_h263_encode_mb(), ff_h263_encode_mba(), ff_h263_encode_motion(), ff_h263_encode_picture_header(), ff_hevc_encode_nal_vps(), ff_isom_write_av1c(), ff_lzw_encode_flush(), ff_mjpeg_encode_dc(), ff_mjpeg_encode_picture_header(), ff_mjpeg_escape_FF(), ff_mjpeg_find_marker(), ff_mpeg4_encode_mb(), ff_mpeg4_encode_picture_header(), ff_mpeg4_encode_video_packet_header(), ff_mpeg4_merge_partitions(), ff_mpeg4_stuffing(), ff_mpv_encode_picture(), ff_msmpeg4_code012(), ff_msmpeg4_encode_block(), ff_msmpeg4_encode_ext_header(), ff_msmpeg4_encode_mb(), ff_msmpeg4_encode_motion(), ff_msmpeg4_encode_picture_header(), ff_pce_copy_bits(), ff_put_string(), ff_rv10_encode_picture_header(), ff_rv20_encode_picture_header(), ff_wmv2_encode_mb(), ff_wmv2_encode_picture_header(), ff_write_quant_matrix(), floor_encode(), flv_write_codec_header(), h261_encode_block(), h261_encode_gob_header(), h261_encode_motion(), h263_encode_block(), h263p_encode_umotion(), jpeg_put_comments(), jpeg_table_header(), latm_write_frame_header(), latm_write_packet(), ls_encode_run(), main(), mov_write_ac3_tag(), mov_write_dvc1_structs(), mov_write_eac3_tag(), mpeg4_encode_block(), mpeg4_encode_dc(), mpeg4_encode_gop_header(), mpeg4_encode_visual_object_header(), mpeg4_encode_vol_header(), msmpeg4_encode_dc(), msmpeg4v2_encode_motion(), output_audio_block(), pack_bitstream(), pack_float_sample(), pnm_decode_frame(), put_alpha_diff(), put_alpha_run(), put_audio_specific_config(), put_bitstream_info(), put_cabac_bit(), put_cabac_terminate(), put_codebook_header(), put_codeword(), put_floor_header(), put_frame_header(), put_huffman_table(), put_ics_info(), put_main_header(), put_marker(), put_num(), put_pack_header(), put_pce(), put_primary_audio_header(), put_residue_header(), put_runcode(), put_subframe(), put_subframe_samples(), put_swf_line_edge(), put_swf_matrix(), put_swf_rect(), put_system_header(), put_vc2_ue_uint(), put_xsub_rle(), quantize_and_encode_band_cost_template(), ra144_encode_frame(), ra144_encode_subblock(), rpza_encode_stream(), s302m_encode2_frame(), save_bits(), sbc_pack_frame(), send_mode_a(), send_mode_b(), set_te_golomb(), set_ue_golomb(), set_ue_golomb_long(), set_ur_golomb(), set_ur_golomb_jpegls(), svq1_encode_frame(), svq1_encode_plane(), svq1_write_header(), swf_write_header(), tag_tree_code(), tta_encode_frame(), vorbis_encode_frame(), vp9_raw_reorder_make_output(), wavpack_encode_sample(), write_block_data(), write_decoding_params(), write_element(), write_element_header(), write_filter_params(), write_frame(), write_frame_footer(), write_frame_header(), write_header(), write_huff_codes(), write_major_sync(), write_matrix_params(), write_ptl(), write_ptl_layer(), write_restart_header(), write_streaminfo(), write_subframes(), write_substrs(), write_utf8(), and writeCode().

◆ put_num()

static void put_num ( Jpeg2000EncoderContext s,
int  num,
int  n 
)
static

put n least significant bits of a number num

Definition at line 233 of file j2kenc.c.

Referenced by encode_packet(), and putnumpasses().

◆ j2k_flush()

static void j2k_flush ( Jpeg2000EncoderContext s)
static

flush the bitstream

Definition at line 240 of file j2kenc.c.

Referenced by encode_packet().

◆ tag_tree_code()

static void tag_tree_code ( Jpeg2000EncoderContext s,
Jpeg2000TgtNode node,
int  threshold 
)
static

code the value stored in node

Definition at line 251 of file j2kenc.c.

Referenced by encode_packet().

◆ tag_tree_update()

static void tag_tree_update ( Jpeg2000TgtNode node)
static

update the value in node

Definition at line 288 of file j2kenc.c.

Referenced by encode_packet().

◆ put_siz()

static int put_siz ( Jpeg2000EncoderContext s)
static

Definition at line 300 of file j2kenc.c.

Referenced by encode_frame().

◆ put_cod()

static int put_cod ( Jpeg2000EncoderContext s)
static

Definition at line 329 of file j2kenc.c.

Referenced by encode_frame().

◆ put_qcd()

static int put_qcd ( Jpeg2000EncoderContext s,
int  compno 
)
static

Definition at line 361 of file j2kenc.c.

Referenced by encode_frame().

◆ put_com()

static int put_com ( Jpeg2000EncoderContext s,
int  compno 
)
static

Definition at line 387 of file j2kenc.c.

Referenced by encode_frame().

◆ put_sot()

static uint8_t* put_sot ( Jpeg2000EncoderContext s,
int  tileno 
)
static

Definition at line 406 of file j2kenc.c.

Referenced by encode_frame().

◆ compute_rates()

static void compute_rates ( Jpeg2000EncoderContext s)
static

Definition at line 425 of file j2kenc.c.

Referenced by init_tiles().

◆ init_tiles()

static int init_tiles ( Jpeg2000EncoderContext s)
static

compute the sizes of tiles, resolution levels, bands, etc.

allocate memory for them divide the input image into tile-components

Definition at line 455 of file j2kenc.c.

Referenced by j2kenc_init().

◆ init_quantization()

static void init_quantization ( Jpeg2000EncoderContext s)
static

Definition at line 551 of file j2kenc.c.

Referenced by j2kenc_init().

◆ init_luts()

static void init_luts ( void  )
static

Definition at line 581 of file j2kenc.c.

Referenced by j2kenc_init().

◆ getnmsedec_sig()

static int getnmsedec_sig ( int  x,
int  bpno 
)
static

Definition at line 600 of file j2kenc.c.

Referenced by encode_clnpass(), and encode_sigpass().

◆ getnmsedec_ref()

static int getnmsedec_ref ( int  x,
int  bpno 
)
static

Definition at line 607 of file j2kenc.c.

Referenced by encode_refpass().

◆ encode_sigpass()

static void encode_sigpass ( Jpeg2000T1Context t1,
int  width,
int  height,
int  bandno,
int nmsedec,
int  bpno 
)
static

Definition at line 614 of file j2kenc.c.

Referenced by encode_cblk().

◆ encode_refpass()

static void encode_refpass ( Jpeg2000T1Context t1,
int  width,
int  height,
int nmsedec,
int  bpno 
)
static

Definition at line 636 of file j2kenc.c.

Referenced by encode_cblk().

◆ encode_clnpass()

static void encode_clnpass ( Jpeg2000T1Context t1,
int  width,
int  height,
int  bandno,
int nmsedec,
int  bpno 
)
static

Definition at line 650 of file j2kenc.c.

Referenced by encode_cblk().

◆ encode_cblk()

static void encode_cblk ( Jpeg2000EncoderContext s,
Jpeg2000T1Context t1,
Jpeg2000Cblk cblk,
Jpeg2000Tile tile,
int  width,
int  height,
int  bandpos,
int  lev 
)
static

Definition at line 705 of file j2kenc.c.

Referenced by encode_tile().

◆ putnumpasses()

static void putnumpasses ( Jpeg2000EncoderContext s,
int  n 
)
static

Definition at line 768 of file j2kenc.c.

Referenced by encode_packet().

◆ encode_packet()

static int encode_packet ( Jpeg2000EncoderContext s,
Jpeg2000ResLevel rlevel,
int  layno,
int  precno,
uint8_t *  expn,
int  numgbits,
int  packetno,
int  nlayers 
)
static

Definition at line 783 of file j2kenc.c.

Referenced by encode_packets().

◆ encode_packets()

static int encode_packets ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile,
int  tileno,
int  nlayers 
)
static

Definition at line 939 of file j2kenc.c.

Referenced by encode_tile(), and makelayers().

◆ makelayer()

static void makelayer ( Jpeg2000EncoderContext s,
int  layno,
double  thresh,
Jpeg2000Tile tile,
int  final 
)
static

Definition at line 1185 of file j2kenc.c.

Referenced by makelayers().

◆ makelayers()

static void makelayers ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile 
)
static

Definition at line 1268 of file j2kenc.c.

Referenced by encode_tile().

◆ getcut()

static int getcut ( Jpeg2000Cblk cblk,
int64_t  lambda,
int  dwt_norm 
)
static

Definition at line 1353 of file j2kenc.c.

Referenced by truncpasses().

◆ truncpasses()

static void truncpasses ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile 
)
static

Definition at line 1371 of file j2kenc.c.

Referenced by encode_tile().

◆ encode_tile()

static int encode_tile ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile,
int  tileno 
)
static

Definition at line 1405 of file j2kenc.c.

Referenced by encode_frame().

◆ cleanup()

static void cleanup ( Jpeg2000EncoderContext s)
static

Definition at line 1496 of file j2kenc.c.

Referenced by j2kenc_destroy().

◆ reinit()

static void reinit ( Jpeg2000EncoderContext s)
static

Definition at line 1516 of file j2kenc.c.

Referenced by encode_frame(), and v4l2_handle_event().

◆ update_size()

static void update_size ( uint8_t *  size,
const uint8_t *  end 
)
static

Definition at line 1526 of file j2kenc.c.

Referenced by encode_frame().

◆ encode_frame()

static int encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame pict,
int got_packet 
)
static

Definition at line 1531 of file j2kenc.c.

◆ parse_layer_rates()

static int parse_layer_rates ( Jpeg2000EncoderContext s)
static

Definition at line 1670 of file j2kenc.c.

Referenced by j2kenc_init().

◆ j2kenc_init()

static av_cold int j2kenc_init ( AVCodecContext avctx)
static

Definition at line 1717 of file j2kenc.c.

◆ j2kenc_destroy()

static int j2kenc_destroy ( AVCodecContext avctx)
static

Definition at line 1797 of file j2kenc.c.

Variable Documentation

◆ lut_nmsedec_ref

int lut_nmsedec_ref[1<< NMSEDEC_BITS]
static

Definition at line 88 of file j2kenc.c.

Referenced by getnmsedec_ref(), and init_luts().

◆ lut_nmsedec_ref0

int lut_nmsedec_ref0[1<< NMSEDEC_BITS]
static

Definition at line 89 of file j2kenc.c.

Referenced by getnmsedec_ref(), and init_luts().

◆ lut_nmsedec_sig

int lut_nmsedec_sig[1<< NMSEDEC_BITS]
static

Definition at line 90 of file j2kenc.c.

Referenced by getnmsedec_sig(), and init_luts().

◆ lut_nmsedec_sig0

int lut_nmsedec_sig0[1<< NMSEDEC_BITS]
static

Definition at line 91 of file j2kenc.c.

Referenced by getnmsedec_sig(), and init_luts().

◆ dwt_norms

const int dwt_norms[2][4][10]
static
Initial value:
= {
{{10000, 19650, 41770, 84030, 169000, 338400, 676900, 1353000, 2706000, 5409000},
{20220, 39890, 83550, 170400, 342700, 686300, 1373000, 2746000, 5490000},
{20220, 39890, 83550, 170400, 342700, 686300, 1373000, 2746000, 5490000},
{20800, 38650, 83070, 171800, 347100, 695900, 1393000, 2786000, 5572000}},
{{10000, 15000, 27500, 53750, 106800, 213400, 426700, 853300, 1707000, 3413000},
{10380, 15920, 29190, 57030, 113300, 226400, 452500, 904800, 1809000},
{10380, 15920, 29190, 57030, 113300, 226400, 452500, 904800, 1809000},
{ 7186, 9218, 15860, 30430, 60190, 120100, 240000, 479700, 959300}}
}

Definition at line 93 of file j2kenc.c.

Referenced by init_quantization(), and truncpasses().

◆ options

const AVOption options[]
static
Initial value:
= {
{ "format", "Codec Format", OFFSET(format), AV_OPT_TYPE_INT, { .i64 = CODEC_JP2 }, CODEC_J2K, CODEC_JP2, VE, "format" },
{ "j2k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_J2K }, 0, 0, VE, "format" },
{ "jp2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_JP2 }, 0, 0, VE, "format" },
{ "tile_width", "Tile Width", OFFSET(tile_width), AV_OPT_TYPE_INT, { .i64 = 256 }, 1, 1<<30, VE, },
{ "tile_height", "Tile Height", OFFSET(tile_height), AV_OPT_TYPE_INT, { .i64 = 256 }, 1, 1<<30, VE, },
{ "pred", "DWT Type", OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, "pred" },
{ "dwt97int", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" },
{ "dwt53", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" },
{ "sop", "SOP marker", OFFSET(sop), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, },
{ "eph", "EPH marker", OFFSET(eph), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, },
{ "prog", "Progression Order", OFFSET(prog), AV_OPT_TYPE_INT, { .i64 = 0 }, JPEG2000_PGOD_LRCP, JPEG2000_PGOD_CPRL, VE, "prog" },
{ "lrcp", NULL, OFFSET(prog), AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_LRCP }, 0, 0, VE, "prog" },
{ "rlcp", NULL, OFFSET(prog), AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RLCP }, 0, 0, VE, "prog" },
{ "rpcl", NULL, OFFSET(prog), AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RPCL }, 0, 0, VE, "prog" },
{ "pcrl", NULL, OFFSET(prog), AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_PCRL }, 0, 0, VE, "prog" },
{ "cprl", NULL, OFFSET(prog), AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_CPRL }, 0, 0, VE, "prog" },
{ "layer_rates", "Layer Rates", OFFSET(lr_str), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, VE },
{ NULL }
}

Definition at line 1809 of file j2kenc.c.

◆ j2k_class

const AVClass j2k_class
static
Initial value:
= {
.class_name = "jpeg 2000 encoder",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 1830 of file j2kenc.c.

◆ ff_jpeg2000_encoder

const AVCodec ff_jpeg2000_encoder
FF_CODEC_CAP_INIT_THREADSAFE
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
Definition: internal.h:41
AVPixelFormat
AVPixelFormat
Pixel format.
Definition: pixfmt.h:64
init
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:31
options
static const AVOption options[]
Definition: j2kenc.c:1809
j2kenc_init
static av_cold int j2kenc_init(AVCodecContext *avctx)
Definition: j2kenc.c:1717
j2k_class
static const AVClass j2k_class
Definition: j2kenc.c:1830
CODEC_J2K
#define CODEC_J2K
Definition: j2kenc.c:86
encode_frame
static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: j2kenc.c:1531
j2kenc_destroy
static int j2kenc_destroy(AVCodecContext *avctx)
Definition: j2kenc.c:1797
AV_PIX_FMT_GRAY16
#define AV_PIX_FMT_GRAY16
Definition: pixfmt.h:373
JPEG2000_PGOD_RPCL
#define JPEG2000_PGOD_RPCL
Definition: jpeg2000.h:117
pix_fmts
static enum AVPixelFormat pix_fmts[]
Definition: libkvazaar.c:290
AV_PIX_FMT_YUV420P
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:66
JPEG2000_PGOD_CPRL
#define JPEG2000_PGOD_CPRL
Definition: jpeg2000.h:119
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:235
AV_PIX_FMT_GRAY8
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition: pixfmt.h:74
AV_PIX_FMT_RGB24
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:68
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:117
AV_PIX_FMT_RGB48
#define AV_PIX_FMT_RGB48
Definition: pixfmt.h:375
JPEG2000_PGOD_LRCP
#define JPEG2000_PGOD_LRCP
Definition: jpeg2000.h:115
OFFSET
#define OFFSET(x)
Definition: j2kenc.c:1807
JPEG2000_PGOD_RLCP
#define JPEG2000_PGOD_RLCP
Definition: jpeg2000.h:116
FF_CODEC_CAP_INIT_CLEANUP
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
Definition: internal.h:49
AV_CODEC_ID_JPEG2000
@ AV_CODEC_ID_JPEG2000
Definition: codec_id.h:138
AV_PIX_FMT_PAL8
@ AV_PIX_FMT_PAL8
8 bits with AV_PIX_FMT_RGB32 palette
Definition: pixfmt.h:77
pred
static const float pred[4]
Definition: siprdata.h:259
CODEC_JP2
#define CODEC_JP2
Definition: j2kenc.c:85
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:65
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:225
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:71
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AV_PIX_FMT_YUV422P
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:70
VE
#define VE
Definition: j2kenc.c:1808
JPEG2000_PGOD_PCRL
#define JPEG2000_PGOD_PCRL
Definition: jpeg2000.h:118
AV_PIX_FMT_YUV411P
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
Definition: pixfmt.h:73
format
fg outputs[0] format
Definition: ffmpeg_filter.c:175
AV_PIX_FMT_YUV410P
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
Definition: pixfmt.h:72
AV_OPT_TYPE_STRING
@ AV_OPT_TYPE_STRING
Definition: opt.h:229
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:234
Jpeg2000EncoderContext
Definition: j2kenc.c:110