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

JPEG2000 image encoder. More...

#include <float.h>
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "bytestream.h"
#include "jpeg2000.h"
#include "version.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 FFCodec 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 81 of file j2kenc.c.

◆ NMSEDEC_FRACBITS

#define NMSEDEC_FRACBITS   (NMSEDEC_BITS-1)

Definition at line 82 of file j2kenc.c.

◆ WMSEDEC_SHIFT

#define WMSEDEC_SHIFT   13

must be >= 13

Definition at line 83 of file j2kenc.c.

◆ LAMBDA_SCALE

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

Definition at line 84 of file j2kenc.c.

◆ CODEC_JP2

#define CODEC_JP2   1

Definition at line 86 of file j2kenc.c.

◆ CODEC_J2K

#define CODEC_J2K   0

Definition at line 87 of file j2kenc.c.

◆ COPY_FRAME

#define COPY_FRAME (   D,
  PIXEL 
)

Definition at line 506 of file j2kenc.c.

◆ OFFSET

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

Definition at line 1803 of file j2kenc.c.

◆ VE

Definition at line 1804 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 221 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(), dca_vlc_enc_alloc(), dca_vlc_enc_quant(), 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(), 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(), encode_yuv422p10(), 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_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_put_dvcc_dvvc(), 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_sr_golomb_flac(), 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_substr(), 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 234 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 241 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 252 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 289 of file j2kenc.c.

Referenced by encode_packet().

◆ put_siz()

static int put_siz ( Jpeg2000EncoderContext s)
static

Definition at line 299 of file j2kenc.c.

Referenced by encode_frame().

◆ put_cod()

static int put_cod ( Jpeg2000EncoderContext s)
static

Definition at line 328 of file j2kenc.c.

Referenced by encode_frame().

◆ put_qcd()

static int put_qcd ( Jpeg2000EncoderContext s,
int  compno 
)
static

Definition at line 360 of file j2kenc.c.

Referenced by encode_frame().

◆ put_com()

static int put_com ( Jpeg2000EncoderContext s,
int  compno 
)
static

Definition at line 386 of file j2kenc.c.

Referenced by encode_frame().

◆ put_sot()

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

Definition at line 405 of file j2kenc.c.

Referenced by encode_frame().

◆ compute_rates()

static void compute_rates ( Jpeg2000EncoderContext s)
static

Definition at line 424 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 454 of file j2kenc.c.

Referenced by j2kenc_init().

◆ init_quantization()

static void init_quantization ( Jpeg2000EncoderContext s)
static

Definition at line 550 of file j2kenc.c.

Referenced by j2kenc_init().

◆ init_luts()

static void init_luts ( void  )
static

Definition at line 580 of file j2kenc.c.

Referenced by j2kenc_init().

◆ getnmsedec_sig()

static int getnmsedec_sig ( int  x,
int  bpno 
)
static

Definition at line 599 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 606 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 613 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 635 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 649 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 704 of file j2kenc.c.

Referenced by encode_tile().

◆ putnumpasses()

static void putnumpasses ( Jpeg2000EncoderContext s,
int  n 
)
static

Definition at line 767 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 782 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 938 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 1184 of file j2kenc.c.

Referenced by makelayers().

◆ makelayers()

static void makelayers ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile 
)
static

Definition at line 1267 of file j2kenc.c.

Referenced by encode_tile().

◆ getcut()

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

Definition at line 1350 of file j2kenc.c.

Referenced by truncpasses().

◆ truncpasses()

static void truncpasses ( Jpeg2000EncoderContext s,
Jpeg2000Tile tile 
)
static

Definition at line 1368 of file j2kenc.c.

Referenced by encode_tile().

◆ encode_tile()

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

Definition at line 1402 of file j2kenc.c.

Referenced by encode_frame().

◆ cleanup()

static void cleanup ( Jpeg2000EncoderContext s)
static

Definition at line 1493 of file j2kenc.c.

Referenced by j2kenc_destroy().

◆ reinit()

static void reinit ( Jpeg2000EncoderContext s)
static

Definition at line 1513 of file j2kenc.c.

Referenced by encode_frame().

◆ update_size()

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

Definition at line 1523 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 1528 of file j2kenc.c.

◆ parse_layer_rates()

static int parse_layer_rates ( Jpeg2000EncoderContext s)
static

Definition at line 1666 of file j2kenc.c.

Referenced by j2kenc_init().

◆ j2kenc_init()

static av_cold int j2kenc_init ( AVCodecContext avctx)
static

Definition at line 1713 of file j2kenc.c.

◆ j2kenc_destroy()

static int j2kenc_destroy ( AVCodecContext avctx)
static

Definition at line 1793 of file j2kenc.c.

Variable Documentation

◆ lut_nmsedec_ref

int lut_nmsedec_ref[1<< NMSEDEC_BITS]
static

Definition at line 89 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 90 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 91 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 92 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 94 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, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_LRCP }, 0, 0, VE, "prog" },
{ "rlcp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RLCP }, 0, 0, VE, "prog" },
{ "rpcl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RPCL }, 0, 0, VE, "prog" },
{ "pcrl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_PCRL }, 0, 0, VE, "prog" },
{ "cprl", NULL, 0, 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 1805 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 1826 of file j2kenc.c.

◆ ff_jpeg2000_encoder

const FFCodec ff_jpeg2000_encoder
AVPixelFormat
AVPixelFormat
Pixel format.
Definition: pixfmt.h:64
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: codec_internal.h:42
options
static const AVOption options[]
Definition: j2kenc.c:1805
j2kenc_init
static av_cold int j2kenc_init(AVCodecContext *avctx)
Definition: j2kenc.c:1713
j2k_class
static const AVClass j2k_class
Definition: j2kenc.c:1826
CODEC_J2K
#define CODEC_J2K
Definition: j2kenc.c:87
encode_frame
static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: j2kenc.c:1528
j2kenc_destroy
static int j2kenc_destroy(AVCodecContext *avctx)
Definition: j2kenc.c:1793
AV_PIX_FMT_GRAY16
#define AV_PIX_FMT_GRAY16
Definition: pixfmt.h:443
FF_CODEC_ENCODE_CB
#define FF_CODEC_ENCODE_CB(func)
Definition: codec_internal.h:315
format
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts_bsf.c:365
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
This encoder can reorder user opaque values from input AVFrames and return them with corresponding ou...
Definition: codec.h:156
JPEG2000_PGOD_RPCL
#define JPEG2000_PGOD_RPCL
Definition: jpeg2000.h:119
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:121
CODEC_LONG_NAME
#define CODEC_LONG_NAME(str)
Definition: codec_internal.h:272
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:237
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
AV_CODEC_CAP_DR1
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition: codec.h:52
AV_PIX_FMT_RGB48
#define AV_PIX_FMT_RGB48
Definition: pixfmt.h:445
JPEG2000_PGOD_LRCP
#define JPEG2000_PGOD_LRCP
Definition: jpeg2000.h:117
OFFSET
#define OFFSET(x)
Definition: j2kenc.c:1803
JPEG2000_PGOD_RLCP
#define JPEG2000_PGOD_RLCP
Definition: jpeg2000.h:118
AV_CODEC_ID_JPEG2000
@ AV_CODEC_ID_JPEG2000
Definition: codec_id.h:140
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:86
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:1804
JPEG2000_PGOD_PCRL
#define JPEG2000_PGOD_PCRL
Definition: jpeg2000.h:120
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
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:111