FFmpeg
Loading...
Searching...
No Matches
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/attributes.h"
#include "libavutil/common.h"
#include "libavutil/mem.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
 
#define LAMBDA_SCALE   (100000000LL << (WMSEDEC_SHIFT - 13))
 
#define CODEC_JP2   1
 
#define CODEC_J2K   0
 
#define COPY_FRAME(D, PIXEL)
 
#define OFFSET(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
 
static void put_num (Jpeg2000EncoderContext *s, int num, int n)
 put n least significant bits of a number num
 
static void j2k_flush (Jpeg2000EncoderContext *s)
 flush the bitstream
 
static void tag_tree_code (Jpeg2000EncoderContext *s, Jpeg2000TgtNode *node, int threshold)
 code the value stored in node
 
static void tag_tree_update (Jpeg2000TgtNode *node)
 update the value in node
 
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.
 
static void init_quantization (Jpeg2000EncoderContext *s)
 
static av_cold 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, const 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, uint64_t lambda)
 
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 83 of file j2kenc.c.

Referenced by getnmsedec_ref(), getnmsedec_sig(), and init_luts().

◆ NMSEDEC_FRACBITS

#define NMSEDEC_FRACBITS   (NMSEDEC_BITS-1)

◆ WMSEDEC_SHIFT

#define WMSEDEC_SHIFT   13

must be >= 13

Definition at line 85 of file j2kenc.c.

Referenced by truncpasses().

◆ LAMBDA_SCALE

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

Definition at line 86 of file j2kenc.c.

Referenced by encode_frame().

◆ CODEC_JP2

#define CODEC_JP2   1

Definition at line 88 of file j2kenc.c.

Referenced by encode_frame(), and j2kenc_init().

◆ CODEC_J2K

#define CODEC_J2K   0

Definition at line 89 of file j2kenc.c.

◆ COPY_FRAME

#define COPY_FRAME ( D,
PIXEL )

Definition at line 439 of file j2kenc.c.

◆ OFFSET

#define OFFSET ( x)
Value:

Definition at line 1738 of file j2kenc.c.

◆ VE

Definition at line 1739 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 154 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(), apv_write_vlc_spec(), asv1_encode_block(), asv1_put_level(), av_dynamic_hdr_plus_to_t35(), av_dynamic_hdr_smpte2094_app5_to_t35(), avpriv_dca_convert_bitstream(), binary_export(), bit_copy(), cbs_av1_write_obu(), cbs_mpeg2_write_slice(), cbs_vp9_write_increment(), cbs_vp9_write_le(), cbs_vp9_write_s(), cbs_write_multi_byte(), cfhd_encode_frame(), codebook_trellis_rate(), copy_bits(), 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(), eac3_output_frame_header(), encode_422_bitstream(), encode_aspect_ratio(), encode_bitstream(), encode_block(), encode_block(), encode_block(), encode_block(), encode_clean_area(), encode_color_spec(), encode_exp_vlc(), encode_ext_header(), encode_flush(), encode_four_color_block(), encode_frame(), encode_frame(), 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_plane_slice(), encode_pulses(), encode_quant_matrix(), encode_sample_fmt(), encode_scalar(), encode_scale_factors(), encode_scan_format(), encode_signal_range(), encode_subband(), encode_subbands(), encode_superframe(), encode_vlc_codeword(), encode_vlc_codeword(), encode_yuv422p10(), ff_aac_encode_tns_info(), ff_alloc_timecode_metadata_av1(), ff_alloc_timecode_sei(), ff_apv_entropy_build_decode_lut(), ff_cbs_h2645_write_slice_data(), ff_cbs_write_se_golomb(), ff_cbs_write_ue_golomb(), ff_copy_bits(), ff_dolby_e_convert_input(), ff_dovi_rpu_generate(), ff_flv_encode_picture_header(), ff_h263_encode_motion(), ff_hevc_encode_nal_vps(), ff_iamf_write_audio_frame(), 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_unescape_sos(), 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_motion(), ff_pce_copy_bits(), ff_put_string(), ff_rv20_encode_picture_header(), ff_write_quant_matrix(), floor_encode(), flv_write_aac_header(), generate_ext_v1(), generate_ext_v2(), h261_encode_block(), h261_encode_gob_header(), h261_encode_mb(), h261_encode_motion(), h261_encode_picture_header(), iamf_write_audio_element(), iamf_write_codec_config(), iamf_write_mixing_presentation(), 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_ac_coeffs(), mpeg4_encode_dc(), mpeg4_encode_gop_header(), mpeg4_encode_mb(), mpeg4_encode_picture_header(), mpeg4_encode_visual_object_header(), mpeg4_encode_vol_header(), msmpeg4_encode_dc(), msmpeg4_encode_mb(), msmpeg4_encode_picture_header(), msmpeg4v2_encode_motion(), output_audio_block(), pack_bitstream(), pack_float_sample(), pnm_decode_frame(), put_alpha_diff(), put_alpha_diff(), put_alpha_run(), 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_timecode_fields(), put_xsub_rle(), quantize_and_encode_band_cost_template(), ra144_encode_frame(), ra144_encode_subblock(), rpza_encode_stream(), rv10_encode_picture_header(), s302m_encode2_frame(), save_bits(), save_bits(), sbc_pack_frame(), scalable_channel_layout_config(), 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(), test_apv_entropy_decode_block(), tta_encode_frame(), update_extradata(), update_extradata(), vorbis_encode_frame(), vp9_raw_reorder_make_output(), vvcc_write(), wavpack_encode_sample(), wmv2_encode_mb(), wmv2_encode_picture_header(), 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_parameter_block(), 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 167 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 174 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 185 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 222 of file j2kenc.c.

Referenced by encode_packet().

◆ put_siz()

static int put_siz ( Jpeg2000EncoderContext * s)
static

Definition at line 232 of file j2kenc.c.

Referenced by encode_frame().

◆ put_cod()

static int put_cod ( Jpeg2000EncoderContext * s)
static

Definition at line 261 of file j2kenc.c.

Referenced by encode_frame().

◆ put_qcd()

static int put_qcd ( Jpeg2000EncoderContext * s,
int compno )
static

Definition at line 293 of file j2kenc.c.

Referenced by encode_frame().

◆ put_com()

static int put_com ( Jpeg2000EncoderContext * s,
int compno )
static

Definition at line 319 of file j2kenc.c.

Referenced by encode_frame().

◆ put_sot()

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

Definition at line 338 of file j2kenc.c.

Referenced by encode_frame().

◆ compute_rates()

static void compute_rates ( Jpeg2000EncoderContext * s)
static

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

Referenced by j2kenc_init().

◆ init_quantization()

static void init_quantization ( Jpeg2000EncoderContext * s)
static

Definition at line 484 of file j2kenc.c.

Referenced by init_quantization(), and j2kenc_init().

◆ init_luts()

static av_cold void init_luts ( void )
static

Definition at line 514 of file j2kenc.c.

Referenced by j2kenc_init().

◆ getnmsedec_sig()

static int getnmsedec_sig ( int x,
int bpno )
static

Definition at line 533 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 540 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 547 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 569 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 583 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 638 of file j2kenc.c.

Referenced by encode_tile().

◆ putnumpasses()

static void putnumpasses ( Jpeg2000EncoderContext * s,
int n )
static

Definition at line 700 of file j2kenc.c.

Referenced by encode_packet().

◆ encode_packet()

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

Definition at line 715 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 871 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 1117 of file j2kenc.c.

Referenced by makelayers().

◆ makelayers()

static void makelayers ( Jpeg2000EncoderContext * s,
Jpeg2000Tile * tile )
static

Definition at line 1200 of file j2kenc.c.

Referenced by encode_tile().

◆ getcut()

static int getcut ( Jpeg2000Cblk * cblk,
uint64_t lambda )
static

Definition at line 1283 of file j2kenc.c.

Referenced by truncpasses().

◆ truncpasses()

static void truncpasses ( Jpeg2000EncoderContext * s,
Jpeg2000Tile * tile )
static

Definition at line 1301 of file j2kenc.c.

Referenced by encode_tile().

◆ encode_tile()

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

Definition at line 1336 of file j2kenc.c.

Referenced by encode_frame().

◆ cleanup()

static void cleanup ( Jpeg2000EncoderContext * s)
static

Definition at line 1427 of file j2kenc.c.

Referenced by j2kenc_destroy().

◆ reinit()

static void reinit ( Jpeg2000EncoderContext * s)
static

Definition at line 1447 of file j2kenc.c.

Referenced by check_reinit(), and encode_frame().

◆ update_size()

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

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

◆ parse_layer_rates()

static int parse_layer_rates ( Jpeg2000EncoderContext * s)
static

Definition at line 1601 of file j2kenc.c.

Referenced by j2kenc_init().

◆ j2kenc_init()

static av_cold int j2kenc_init ( AVCodecContext * avctx)
static

Definition at line 1648 of file j2kenc.c.

◆ j2kenc_destroy()

static int j2kenc_destroy ( AVCodecContext * avctx)
static

Definition at line 1728 of file j2kenc.c.

Variable Documentation

◆ lut_nmsedec_ref

int lut_nmsedec_ref[1<< NMSEDEC_BITS]
static

Definition at line 91 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 92 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 93 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 94 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 96 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, .unit = "format" },
{ "j2k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_J2K }, 0, 0, VE, .unit = "format" },
{ "jp2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_JP2 }, 0, 0, VE, .unit = "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, .unit = "pred" },
{ "dwt97int", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, .unit = "pred" },
{ "dwt53", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, .unit = "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, .unit = "prog" },
{ "lrcp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_LRCP }, 0, 0, VE, .unit = "prog" },
{ "rlcp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RLCP }, 0, 0, VE, .unit = "prog" },
{ "rpcl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_RPCL }, 0, 0, VE, .unit = "prog" },
{ "pcrl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_PCRL }, 0, 0, VE, .unit = "prog" },
{ "cprl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = JPEG2000_PGOD_CPRL }, 0, 0, VE, .unit = "prog" },
{ "layer_rates", "Layer Rates", OFFSET(lr_str), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, VE },
{ NULL }
}
static const char *const format[]
Definition af_aiir.c:444
#define VE
Definition amfenc_av1.c:30
#define NULL
Definition coverity.c:32
#define OFFSET(x)
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
Definition opt.h:298
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...
Definition opt.h:275
#define CODEC_JP2
Definition j2kenc.c:88
#define CODEC_J2K
Definition j2kenc.c:89
#define JPEG2000_PGOD_PCRL
Definition jpeg2000.h:128
#define JPEG2000_PGOD_CPRL
Definition jpeg2000.h:129
#define JPEG2000_PGOD_RPCL
Definition jpeg2000.h:127
#define JPEG2000_PGOD_RLCP
Definition jpeg2000.h:126
#define JPEG2000_PGOD_LRCP
Definition jpeg2000.h:125
static const float pred[4]
Definition siprdata.h:259

Definition at line 1740 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,
}
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 1761 of file j2kenc.c.

◆ ff_jpeg2000_encoder

const FFCodec ff_jpeg2000_encoder

Definition at line 1768 of file j2kenc.c.