Grok
9.5.0
|
#include "grk_config.h"
#include <stdint.h>
#include <stdio.h>
#include <stdbool.h>
#include <limits.h>
Go to the source code of this file.
Classes | |
struct | _grk_object |
Base Grok ref-counted object. More... | |
struct | _grk_progression |
Progression order change. More... | |
struct | _grk_raw_comp_cparameters |
struct | _grk_raw_cparameters |
struct | _grk_cparameters |
Compress parameters. More... | |
struct | _grk_channel_description |
Channel definition: channel index, type, association. More... | |
struct | _grk_channel_definition |
Channel definitions and number of definitions. More... | |
struct | _grk_component_mapping_comp |
Component mappings: component index, mapping type, palette column. More... | |
struct | _grk_palette_data |
Palette data. More... | |
struct | grk_color |
ICC profile, palette, channel definition. More... | |
struct | grk_asoc |
struct | _grk_header_info |
Header info. More... | |
struct | _grk_dparameters |
Core decompress parameters. More... | |
struct | _grk_prec |
Precision. More... | |
struct | _grk_decompress_params |
Decompress parameters. More... | |
struct | _grk_image_comp |
Image component. More... | |
struct | _grk_image_meta |
struct | _grk_image |
struct | _grk_image_comptparm |
Image component parameters. More... | |
struct | _grk_plugin_pass |
Plugin pass. More... | |
struct | _grk_plugin_code_block |
Plugin code block. More... | |
struct | _grk_plugin_precinct |
Plugin precinct. More... | |
struct | _grk_plugin_band |
Plugin band. More... | |
struct | _grk_plugin_resolution |
Plugin resolution. More... | |
struct | grk_plugin_tile_component |
Plugin tile component. More... | |
struct | _grk_plugin_tile |
Plugin tile. More... | |
struct | _grk_plugin_load_info |
struct | _grk_plugin_init_info |
struct | grk_plugin_compress_user_callback_info |
struct | _grk_plugin_decompress_callback_info |
Macros | |
#define | GRK_DEPRECATED(func) func |
#define | GRK_API __attribute__((visibility("default"))) |
#define | GRK_CALLCONV |
#define | GRK_PATH_LEN 4096 |
Maximum allowed size for filenames. More... | |
#define | GRK_MAX_LAYERS 100 |
#define | GRK_MAX_SUPPORTED_IMAGE_PRECISION 16 |
#define | GRK_J2K_MAX_DECOMP_LVLS 32 |
Maximum number of decomposition levels authorized. More... | |
#define | GRK_J2K_MAXRLVLS (GRK_J2K_MAX_DECOMP_LVLS + 1) |
Maximum number of resolution levels authorized. More... | |
#define | GRK_J2K_MAXBANDS (3 * GRK_J2K_MAXRLVLS - 2) |
Maximum number of sub-bands. More... | |
#define | GRK_IMG_INFO 1 |
Basic image information provided to the user. More... | |
#define | GRK_J2K_MH_INFO 2 |
Codestream information based only on the main header. More... | |
#define | GRK_J2K_TH_INFO 4 |
Tile information based on the current tile header. More... | |
#define | GRK_J2K_TCH_INFO 8 |
Tile/Component information of all tiles. More... | |
#define | GRK_J2K_MH_IND 16 |
Codestream index based only on the main header. More... | |
#define | GRK_J2K_TH_IND 32 |
Tile index based on the current tile. More... | |
#define | GRK_JP2_INFO 128 |
JP2 file information. More... | |
#define | GRK_JP2_IND 256 |
JP2 file index. More... | |
#define | GRK_CBLKSTY_LAZY 0x001 |
Selective arithmetic coding bypass. More... | |
#define | GRK_CBLKSTY_RESET 0x002 |
Reset context probabilities on coding pass boundaries. More... | |
#define | GRK_CBLKSTY_TERMALL 0x004 |
Termination on each coding pass. More... | |
#define | GRK_CBLKSTY_VSC 0x008 |
Vertical stripe causal context. More... | |
#define | GRK_CBLKSTY_PTERM 0x010 |
Predictable termination. More... | |
#define | GRK_CBLKSTY_SEGSYM 0x020 |
Segmentation symbols are used. More... | |
#define | GRK_CBLKSTY_HT 0x040 |
high throughput block coding More... | |
#define | GRK_CBLKSTY_HT_MIXED 0x080 |
high throughput block coding - mixed More... | |
#define | GRK_CBLKSTY_HT_PHLD 0x100 |
high throughput block coding - placeholder More... | |
#define | GRK_JPH_RSIZ_FLAG 0x4000 |
for JPH, bit 14 of RSIZ must be set to 1 More... | |
#define | GRK_PROFILE_NONE 0x0000 /** no profile, conform to 15444-1 */ |
JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMDs) More... | |
#define | GRK_PROFILE_0 0x0001 /** Profile 0 as described in 15444-1,Table A.45 */ |
#define | GRK_PROFILE_1 0x0002 /** Profile 1 as described in 15444-1,Table A.45 */ |
#define | GRK_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 15444-1 AMD1 */ |
#define | GRK_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */ |
#define | GRK_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */ |
#define | GRK_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defined in 15444-1 AMD2 */ |
#define | GRK_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */ |
#define | GRK_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile defined in 15444-1 AMD3 */ |
#define | GRK_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile defined in 15444-1 AMD3 */ |
#define | GRK_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */ |
#define | GRK_PROFILE_BC_MASK 0x030F /** Mask for broadcast profile including main level */ |
#define | GRK_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_IMF_4K 0x0500 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_IMF_8K 0x0600 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_IMF_2K_R 0x0700 /** 2K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_IMF_8K_R 0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define | GRK_PROFILE_MASK 0x0FFF /** Mask for profile bits */ |
#define | GRK_PROFILE_PART2 0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */ |
#define | GRK_PROFILE_PART2_EXTENSIONS_MASK 0x3FFF |
#define | GRK_EXTENSION_NONE 0x0000 /** No Part-2 extension */ |
JPEG 2000 Part-2 extensions. More... | |
#define | GRK_EXTENSION_MCT 0x0100 /** Custom MCT support */ |
#define | GRK_IS_PART2(v) ((v)&GRK_PROFILE_PART2) |
#define | GRK_IS_CINEMA(v) (((v) >= GRK_PROFILE_CINEMA_2K) && ((v) <= GRK_PROFILE_CINEMA_S4K)) |
#define | GRK_IS_STORAGE(v) ((v) == GRK_PROFILE_CINEMA_LTS) |
#define | GRK_GET_IMF_OR_BROADCAST_PROFILE(v) ((v)&0x0f00) |
Extract profile without mainlevel/sublevel. More... | |
#define | GRK_LEVEL_MAX 11U /** Maximum (main) level */ |
#define | GRK_GET_LEVEL(v) ((v)&0xf) /** Extract (main) level */ |
#define | GRK_IS_BROADCAST(v) |
#define | GRK_BROADCAST_LEVEL_1_MBITSSEC 200U /** Mbits/sec for level 1 */ |
#define | GRK_BROADCAST_LEVEL_2_MBITSSEC 200U /** Mbits/sec for level 2 */ |
#define | GRK_BROADCAST_LEVEL_3_MBITSSEC 200U /** Mbits/sec for level 3 */ |
#define | GRK_BROADCAST_LEVEL_4_MBITSSEC 400U /** Mbits/sec for level 4 */ |
#define | GRK_BROADCAST_LEVEL_5_MBITSSEC 800U /** Mbits/sec for level 5 */ |
#define | GRK_BROADCAST_LEVEL_6_MBITSSEC 1600U /** Mbits/sec for level 6 */ |
#define | GRK_BROADCAST_LEVEL_7_MBITSSEC 3200U /** Mbits/sec for level 7 */ |
#define | GRK_BROADCAST_LEVEL_8_MBITSSEC 6400U /** Mbits/sec for level 8 */ |
#define | GRK_BROADCAST_LEVEL_9_MBITSSEC 12800U /** Mbits/sec for level 9 */ |
#define | GRK_BROADCAST_LEVEL_10_MBITSSEC 25600U /** Mbits/sec for level 10 */ |
#define | GRK_BROADCAST_LEVEL_11_MBITSSEC 51200U /** Mbits/sec for level 11 */ |
#define | GRK_BROADCAST_LEVEL_1_MSAMPLESSEC 64U /** MSamples/sec for level 1 */ |
#define | GRK_BROADCAST_LEVEL_2_MSAMPLESSEC 130U /** MSamples/sec for level 2 */ |
#define | GRK_BROADCAST_LEVEL_3_MSAMPLESSEC 195U /** MSamples/sec for level 3 */ |
#define | GRK_BROADCAST_LEVEL_4_MSAMPLESSEC 260U /** MSamples/sec for level 4 */ |
#define | GRK_BROADCAST_LEVEL_5_MSAMPLESSEC 520U /** MSamples/sec for level 5 */ |
#define | GRK_BROADCAST_LEVEL_6_MSAMPLESSEC 1200U /** MSamples/sec for level 6 */ |
#define | GRK_BROADCAST_LEVEL_7_MSAMPLESSEC 2400U /** MSamples/sec for level 7 */ |
#define | GRK_BROADCAST_LEVEL_8_MSAMPLESSEC 4800U /** MSamples/sec for level 8 */ |
#define | GRK_BROADCAST_LEVEL_9_MSAMPLESSEC 9600U /** MSamples/sec for level 9 */ |
#define | GRK_BROADCAST_LEVEL_10_MSAMPLESSEC 19200U /** MSamples/sec for level 10 */ |
#define | GRK_BROADCAST_LEVEL_11_MSAMPLESSEC 38400U /** MSamples/sec for level 11 */ |
#define | GRK_IS_IMF(v) |
#define | GRK_IMF_MAINLEVEL_1_MSAMPLESSEC 65U /** MSamples/sec for main level 1 */ |
#define | GRK_IMF_MAINLEVEL_2_MSAMPLESSEC 130U /** MSamples/sec for main level 2 */ |
#define | GRK_IMF_MAINLEVEL_3_MSAMPLESSEC 195U /** MSamples/sec for main level 3 */ |
#define | GRK_IMF_MAINLEVEL_4_MSAMPLESSEC 260U /** MSamples/sec for main level 4 */ |
#define | GRK_IMF_MAINLEVEL_5_MSAMPLESSEC 520U /** MSamples/sec for main level 5 */ |
#define | GRK_IMF_MAINLEVEL_6_MSAMPLESSEC 1200U /** MSamples/sec for main level 6 */ |
#define | GRK_IMF_MAINLEVEL_7_MSAMPLESSEC 2400U /** MSamples/sec for main level 7 */ |
#define | GRK_IMF_MAINLEVEL_8_MSAMPLESSEC 4800U /** MSamples/sec for main level 8 */ |
#define | GRK_IMF_MAINLEVEL_9_MSAMPLESSEC 9600U /** MSamples/sec for main level 9 */ |
#define | GRK_IMF_MAINLEVEL_10_MSAMPLESSEC 19200U /** MSamples/sec for main level 10 */ |
#define | GRK_IMF_MAINLEVEL_11_MSAMPLESSEC 38400U /** MSamples/sec for main level 11 */ |
#define | GRK_IMF_SUBLEVEL_MAX 9U /** Maximum IMF sublevel */ |
#define | GRK_GET_IMF_SUBLEVEL(v) (((v) >> 4) & 0xf) /** Extract IMF sub level */ |
#define | GRK_IMF_SUBLEVEL_1_MBITSSEC 200U /** Mbits/s for IMF sub level 1 */ |
Maximum compressed bit rate (Mbits/s) per IMF sub level. More... | |
#define | GRK_IMF_SUBLEVEL_2_MBITSSEC 400U /** Mbits/s for IMF sub level 2 */ |
#define | GRK_IMF_SUBLEVEL_3_MBITSSEC 800U /** Mbits/s for IMF sub level 3 */ |
#define | GRK_IMF_SUBLEVEL_4_MBITSSEC 1600U /** Mbits/s for IMF sub level 4 */ |
#define | GRK_IMF_SUBLEVEL_5_MBITSSEC 3200U /** Mbits/s for IMF sub level 5 */ |
#define | GRK_IMF_SUBLEVEL_6_MBITSSEC 6400U /** Mbits/s for IMF sub level 6 */ |
#define | GRK_IMF_SUBLEVEL_7_MBITSSEC 12800U /** Mbits/s for IMF sub level 7 */ |
#define | GRK_IMF_SUBLEVEL_8_MBITSSEC 25600U /** Mbits/s for IMF sub level 8 */ |
#define | GRK_IMF_SUBLEVEL_9_MBITSSEC 51200U /** Mbits/s for IMF sub level 9 */ |
#define | GRK_CINEMA_24_CS 1302083U /** Maximum code stream length @ 24fps */ |
JPEG 2000 cinema profile code stream and component size limits. More... | |
#define | GRK_CINEMA_48_CS 651041U /** Maximum code stream length @ 48fps */ |
#define | GRK_CINEMA_24_COMP 1041666U /** Maximum size per color component @ 24fps */ |
#define | GRK_CINEMA_48_COMP 520833U /** Maximum size per color component @ 48fps */ |
#define | GRK_CUSTOM_CIELAB_SPACE 0x0 |
#define | GRK_DEFAULT_CIELAB_SPACE 0x44454600 |
#define | GRK_CIE_DAY ((((uint32_t)'C') << 24) + (((uint32_t)'T') << 16)) |
#define | GRK_CIE_D50 ((uint32_t)0x00443530) |
#define | GRK_CIE_D65 ((uint32_t)0x00443635) |
#define | GRK_CIE_D75 ((uint32_t)0x00443735) |
#define | GRK_CIE_SA ((uint32_t)0x00005341) |
#define | GRK_CIE_SC ((uint32_t)0x00005343) |
#define | GRK_CIE_F2 ((uint32_t)0x00004632) |
#define | GRK_CIE_F7 ((uint32_t)0x00004637) |
#define | GRK_CIE_F11 ((uint32_t)0x00463131) |
#define | GRK_NUM_COMMENTS_SUPPORTED 256 |
#define | GRK_NUM_ASOC_BOXES_SUPPORTED 256 |
#define | GRK_MAX_COMMENT_LENGTH (UINT16_MAX - 2) |
Typedefs | |
typedef enum GRK_RATE_CONTROL_ALGORITHM | GRK_RATE_CONTROL_ALGORITHM |
typedef enum GRK_SUPPORTED_FILE_FMT | GRK_SUPPORTED_FILE_FMT |
typedef enum _GRK_PROG_ORDER | GRK_PROG_ORDER |
Progression order. More... | |
typedef enum _GRK_COLOR_SPACE | GRK_COLOR_SPACE |
Supported color spaces. More... | |
typedef enum GRK_ENUM_COLOUR_SPACE | GRK_ENUM_COLOUR_SPACE |
typedef enum _GRK_CODEC_FORMAT | GRK_CODEC_FORMAT |
Supported codecs. More... | |
typedef enum GRK_TILE_CACHE_STRATEGY | GRK_TILE_CACHE_STRATEGY |
typedef void(* | grk_msg_callback) (const char *msg, void *client_data) |
Callback function prototype for logging. More... | |
typedef struct _grk_object | grk_object |
Base Grok ref-counted object. More... | |
typedef struct _grk_progression | grk_progression |
Progression order change. More... | |
RAW component compress parameters | |
typedef struct _grk_raw_comp_cparameters | grk_raw_comp_cparameters |
#define GRK_API __attribute__((visibility("default"))) |
#define GRK_BROADCAST_LEVEL_10_MBITSSEC 25600U /** Mbits/sec for level 10 */ |
#define GRK_BROADCAST_LEVEL_10_MSAMPLESSEC 19200U /** MSamples/sec for level 10 */ |
#define GRK_BROADCAST_LEVEL_11_MBITSSEC 51200U /** Mbits/sec for level 11 */ |
#define GRK_BROADCAST_LEVEL_11_MSAMPLESSEC 38400U /** MSamples/sec for level 11 */ |
#define GRK_BROADCAST_LEVEL_1_MBITSSEC 200U /** Mbits/sec for level 1 */ |
#define GRK_BROADCAST_LEVEL_1_MSAMPLESSEC 64U /** MSamples/sec for level 1 */ |
#define GRK_BROADCAST_LEVEL_2_MBITSSEC 200U /** Mbits/sec for level 2 */ |
#define GRK_BROADCAST_LEVEL_2_MSAMPLESSEC 130U /** MSamples/sec for level 2 */ |
#define GRK_BROADCAST_LEVEL_3_MBITSSEC 200U /** Mbits/sec for level 3 */ |
#define GRK_BROADCAST_LEVEL_3_MSAMPLESSEC 195U /** MSamples/sec for level 3 */ |
#define GRK_BROADCAST_LEVEL_4_MBITSSEC 400U /** Mbits/sec for level 4 */ |
#define GRK_BROADCAST_LEVEL_4_MSAMPLESSEC 260U /** MSamples/sec for level 4 */ |
#define GRK_BROADCAST_LEVEL_5_MBITSSEC 800U /** Mbits/sec for level 5 */ |
#define GRK_BROADCAST_LEVEL_5_MSAMPLESSEC 520U /** MSamples/sec for level 5 */ |
#define GRK_BROADCAST_LEVEL_6_MBITSSEC 1600U /** Mbits/sec for level 6 */ |
#define GRK_BROADCAST_LEVEL_6_MSAMPLESSEC 1200U /** MSamples/sec for level 6 */ |
#define GRK_BROADCAST_LEVEL_7_MBITSSEC 3200U /** Mbits/sec for level 7 */ |
#define GRK_BROADCAST_LEVEL_7_MSAMPLESSEC 2400U /** MSamples/sec for level 7 */ |
#define GRK_BROADCAST_LEVEL_8_MBITSSEC 6400U /** Mbits/sec for level 8 */ |
#define GRK_BROADCAST_LEVEL_8_MSAMPLESSEC 4800U /** MSamples/sec for level 8 */ |
#define GRK_BROADCAST_LEVEL_9_MBITSSEC 12800U /** Mbits/sec for level 9 */ |
#define GRK_BROADCAST_LEVEL_9_MSAMPLESSEC 9600U /** MSamples/sec for level 9 */ |
#define GRK_CALLCONV |
#define GRK_CBLKSTY_HT 0x040 |
high throughput block coding
#define GRK_CBLKSTY_HT_MIXED 0x080 |
high throughput block coding - mixed
#define GRK_CBLKSTY_HT_PHLD 0x100 |
high throughput block coding - placeholder
#define GRK_CBLKSTY_LAZY 0x001 |
Selective arithmetic coding bypass.
#define GRK_CBLKSTY_PTERM 0x010 |
Predictable termination.
#define GRK_CBLKSTY_RESET 0x002 |
Reset context probabilities on coding pass boundaries.
#define GRK_CBLKSTY_SEGSYM 0x020 |
Segmentation symbols are used.
#define GRK_CBLKSTY_TERMALL 0x004 |
Termination on each coding pass.
#define GRK_CBLKSTY_VSC 0x008 |
Vertical stripe causal context.
#define GRK_CIE_D50 ((uint32_t)0x00443530) |
#define GRK_CIE_D65 ((uint32_t)0x00443635) |
#define GRK_CIE_D75 ((uint32_t)0x00443735) |
#define GRK_CIE_DAY ((((uint32_t)'C') << 24) + (((uint32_t)'T') << 16)) |
#define GRK_CIE_F11 ((uint32_t)0x00463131) |
#define GRK_CIE_F2 ((uint32_t)0x00004632) |
#define GRK_CIE_F7 ((uint32_t)0x00004637) |
#define GRK_CIE_SA ((uint32_t)0x00005341) |
#define GRK_CIE_SC ((uint32_t)0x00005343) |
#define GRK_CINEMA_24_COMP 1041666U /** Maximum size per color component @ 24fps */ |
#define GRK_CINEMA_24_CS 1302083U /** Maximum code stream length @ 24fps */ |
JPEG 2000 cinema profile code stream and component size limits.
#define GRK_CINEMA_48_COMP 520833U /** Maximum size per color component @ 48fps */ |
#define GRK_CINEMA_48_CS 651041U /** Maximum code stream length @ 48fps */ |
#define GRK_CUSTOM_CIELAB_SPACE 0x0 |
#define GRK_DECODE_ALL |
#define GRK_DECODE_HEADER (1 << 0) |
#define GRK_DECODE_POST_T1 (1 << 3) |
#define GRK_DECODE_T1 (1 << 2) |
#define GRK_DECODE_T2 (1 << 1) |
#define GRK_DECOMPRESS_COMPRESSION_LEVEL_DEFAULT (UINT_MAX) |
#define GRK_DEFAULT_CIELAB_SPACE 0x44454600 |
#define GRK_DEPRECATED | ( | func | ) | func |
#define GRK_EXTENSION_MCT 0x0100 /** Custom MCT support */ |
#define GRK_EXTENSION_NONE 0x0000 /** No Part-2 extension */ |
JPEG 2000 Part-2 extensions.
#define GRK_GET_IMF_OR_BROADCAST_PROFILE | ( | v | ) | ((v)&0x0f00) |
Extract profile without mainlevel/sublevel.
#define GRK_GET_IMF_SUBLEVEL | ( | v | ) | (((v) >> 4) & 0xf) /** Extract IMF sub level */ |
#define GRK_GET_LEVEL | ( | v | ) | ((v)&0xf) /** Extract (main) level */ |
#define GRK_IMF_MAINLEVEL_10_MSAMPLESSEC 19200U /** MSamples/sec for main level 10 */ |
#define GRK_IMF_MAINLEVEL_11_MSAMPLESSEC 38400U /** MSamples/sec for main level 11 */ |
#define GRK_IMF_MAINLEVEL_1_MSAMPLESSEC 65U /** MSamples/sec for main level 1 */ |
#define GRK_IMF_MAINLEVEL_2_MSAMPLESSEC 130U /** MSamples/sec for main level 2 */ |
#define GRK_IMF_MAINLEVEL_3_MSAMPLESSEC 195U /** MSamples/sec for main level 3 */ |
#define GRK_IMF_MAINLEVEL_4_MSAMPLESSEC 260U /** MSamples/sec for main level 4 */ |
#define GRK_IMF_MAINLEVEL_5_MSAMPLESSEC 520U /** MSamples/sec for main level 5 */ |
#define GRK_IMF_MAINLEVEL_6_MSAMPLESSEC 1200U /** MSamples/sec for main level 6 */ |
#define GRK_IMF_MAINLEVEL_7_MSAMPLESSEC 2400U /** MSamples/sec for main level 7 */ |
#define GRK_IMF_MAINLEVEL_8_MSAMPLESSEC 4800U /** MSamples/sec for main level 8 */ |
#define GRK_IMF_MAINLEVEL_9_MSAMPLESSEC 9600U /** MSamples/sec for main level 9 */ |
#define GRK_IMF_SUBLEVEL_1_MBITSSEC 200U /** Mbits/s for IMF sub level 1 */ |
Maximum compressed bit rate (Mbits/s) per IMF sub level.
#define GRK_IMF_SUBLEVEL_2_MBITSSEC 400U /** Mbits/s for IMF sub level 2 */ |
#define GRK_IMF_SUBLEVEL_3_MBITSSEC 800U /** Mbits/s for IMF sub level 3 */ |
#define GRK_IMF_SUBLEVEL_4_MBITSSEC 1600U /** Mbits/s for IMF sub level 4 */ |
#define GRK_IMF_SUBLEVEL_5_MBITSSEC 3200U /** Mbits/s for IMF sub level 5 */ |
#define GRK_IMF_SUBLEVEL_6_MBITSSEC 6400U /** Mbits/s for IMF sub level 6 */ |
#define GRK_IMF_SUBLEVEL_7_MBITSSEC 12800U /** Mbits/s for IMF sub level 7 */ |
#define GRK_IMF_SUBLEVEL_8_MBITSSEC 25600U /** Mbits/s for IMF sub level 8 */ |
#define GRK_IMF_SUBLEVEL_9_MBITSSEC 51200U /** Mbits/s for IMF sub level 9 */ |
#define GRK_IMF_SUBLEVEL_MAX 9U /** Maximum IMF sublevel */ |
#define GRK_IMG_INFO 1 |
Basic image information provided to the user.
#define GRK_IS_BROADCAST | ( | v | ) |
#define GRK_IS_CINEMA | ( | v | ) | (((v) >= GRK_PROFILE_CINEMA_2K) && ((v) <= GRK_PROFILE_CINEMA_S4K)) |
#define GRK_IS_IMF | ( | v | ) |
#define GRK_IS_PART2 | ( | v | ) | ((v)&GRK_PROFILE_PART2) |
#define GRK_IS_STORAGE | ( | v | ) | ((v) == GRK_PROFILE_CINEMA_LTS) |
#define GRK_J2K_MAX_DECOMP_LVLS 32 |
Maximum number of decomposition levels authorized.
#define GRK_J2K_MAXBANDS (3 * GRK_J2K_MAXRLVLS - 2) |
Maximum number of sub-bands.
#define GRK_J2K_MAXRLVLS (GRK_J2K_MAX_DECOMP_LVLS + 1) |
Maximum number of resolution levels authorized.
#define GRK_J2K_MH_IND 16 |
Codestream index based only on the main header.
#define GRK_J2K_MH_INFO 2 |
Codestream information based only on the main header.
#define GRK_J2K_TCH_INFO 8 |
Tile/Component information of all tiles.
#define GRK_J2K_TH_IND 32 |
Tile index based on the current tile.
#define GRK_J2K_TH_INFO 4 |
Tile information based on the current tile header.
#define GRK_JP2_IND 256 |
JP2 file index.
#define GRK_JP2_INFO 128 |
JP2 file information.
#define GRK_JPH_RSIZ_FLAG 0x4000 |
for JPH, bit 14 of RSIZ must be set to 1
#define GRK_LEVEL_MAX 11U /** Maximum (main) level */ |
#define GRK_MAX_COMMENT_LENGTH (UINT16_MAX - 2) |
#define GRK_MAX_LAYERS 100 |
#define GRK_MAX_SUPPORTED_IMAGE_PRECISION 16 |
#define GRK_NUM_ASOC_BOXES_SUPPORTED 256 |
#define GRK_NUM_COMMENTS_SUPPORTED 256 |
#define GRK_PATH_LEN 4096 |
Maximum allowed size for filenames.
#define GRK_PLUGIN_DECODE_CLEAN (1 << 4) |
#define GRK_PLUGIN_STATE_DEBUG 0x1 |
#define GRK_PLUGIN_STATE_DWT_QUANTIZATION 0x4 |
#define GRK_PLUGIN_STATE_MCT_ONLY 0x8 |
#define GRK_PLUGIN_STATE_NO_DEBUG 0x0 |
#define GRK_PLUGIN_STATE_PRE_TR1 0x2 |
#define GRK_PROFILE_0 0x0001 /** Profile 0 as described in 15444-1,Table A.45 */ |
#define GRK_PROFILE_1 0x0002 /** Profile 1 as described in 15444-1,Table A.45 */ |
#define GRK_PROFILE_BC_MASK 0x030F /** Mask for broadcast profile including main level */ |
#define GRK_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile defined in 15444-1 AMD3 */ |
#define GRK_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */ |
#define GRK_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile defined in 15444-1 AMD3 */ |
#define GRK_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 15444-1 AMD1 */ |
#define GRK_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */ |
#define GRK_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */ |
#define GRK_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */ |
#define GRK_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defined in 15444-1 AMD2 */ |
#define GRK_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_IMF_2K_R 0x0700 /** 2K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_IMF_4K 0x0500 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_IMF_8K 0x0600 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_IMF_8K_R 0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */ |
#define GRK_PROFILE_MASK 0x0FFF /** Mask for profile bits */ |
#define GRK_PROFILE_NONE 0x0000 /** no profile, conform to 15444-1 */ |
JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMDs)
These values help choose the RSIZ value for the JPEG 2000 code stream. The RSIZ value forces various compressing options, as detailed in Table A.10. If GRK_PROFILE_PART2 is chosen, it must be combined with one or more extensions described below.
Example: rsiz = GRK_PROFILE_PART2 | GRK_EXTENSION_MCT;
For broadcast profiles, the GRK_PROFILE_X value has to be combined with the target level (3-0 LSB, value between 0 and 11): Example: rsiz = GRK_PROFILE_BC_MULTI | 0x0005; //level equals 5
For IMF profiles, the GRK_PROFILE_X value has to be combined with the target main-level (3-0 LSB, value between 0 and 11) and sub-level (7-4 LSB, value between 0 and 9): Example: rsiz = GRK_PROFILE_IMF_2K | 0x0040 | 0x0005; // main-level equals 5 and sub-level equals 4
#define GRK_PROFILE_PART2 0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */ |
#define GRK_PROFILE_PART2_EXTENSIONS_MASK 0x3FFF |
typedef struct _grk_channel_definition grk_channel_definition |
Channel definitions and number of definitions.
typedef struct _grk_channel_description grk_channel_description |
Channel definition: channel index, type, association.
typedef grk_object grk_codec |
typedef enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT |
Supported codecs.
typedef enum _GRK_COLOR_SPACE GRK_COLOR_SPACE |
Supported color spaces.
typedef enum GRK_COMPONENT_ASSOC GRK_COMPONENT_ASSOC |
typedef struct _grk_component_mapping_comp grk_component_mapping_comp |
Component mappings: component index, mapping type, palette column.
typedef enum GRK_COMPONENT_TYPE GRK_COMPONENT_TYPE |
typedef struct _grk_cparameters grk_cparameters |
Compress parameters.
typedef struct _grk_decompress_params grk_decompress_parameters |
Decompress parameters.
typedef struct _grk_dparameters grk_dparameters |
Core decompress parameters.
typedef enum GRK_ENUM_COLOUR_SPACE GRK_ENUM_COLOUR_SPACE |
typedef struct _grk_header_info grk_header_info |
Header info.
typedef struct _grk_image grk_image |
typedef struct _grk_image_comptparm grk_image_cmptparm |
Image component parameters.
typedef struct _grk_image_comp grk_image_comp |
Image component.
typedef struct _grk_image_meta grk_image_meta |
typedef void(* grk_msg_callback) (const char *msg, void *client_data) |
Callback function prototype for logging.
msg | Event message |
client_data | Client object where will be return the event message |
typedef struct _grk_object grk_object |
Base Grok ref-counted object.
typedef struct _grk_palette_data grk_palette_data |
Palette data.
typedef struct _grk_plugin_band grk_plugin_band |
Plugin band.
typedef struct _grk_plugin_code_block grk_plugin_code_block |
Plugin code block.
typedef bool(* GRK_PLUGIN_COMPRESS_USER_CALLBACK) (grk_plugin_compress_user_callback_info *info) |
typedef int32_t(* grk_plugin_decompress_callback) (grk_plugin_decompress_callback_info *info) |
typedef struct _grk_plugin_init_info grk_plugin_init_info |
typedef struct _grk_plugin_load_info grk_plugin_load_info |
typedef struct _grk_plugin_pass grk_plugin_pass |
Plugin pass.
typedef struct _grk_plugin_precinct grk_plugin_precinct |
Plugin precinct.
typedef struct _grk_plugin_resolution grk_plugin_resolution |
Plugin resolution.
typedef struct _grk_plugin_tile grk_plugin_tile |
Plugin tile.
typedef struct grk_plugin_tile_component grk_plugin_tile_component |
Plugin tile component.
typedef struct _grk_prec grk_precision |
Precision.
typedef enum grk_prec_mode grk_precision_mode |
Precision mode.
typedef enum _GRK_PROG_ORDER GRK_PROG_ORDER |
Progression order.
typedef struct _grk_progression grk_progression |
Progression order change.
typedef enum GRK_RATE_CONTROL_ALGORITHM GRK_RATE_CONTROL_ALGORITHM |
typedef struct _grk_raw_comp_cparameters grk_raw_comp_cparameters |
typedef struct _grk_raw_cparameters grk_raw_cparameters |
typedef grk_object grk_stream |
typedef void(* grk_stream_free_user_data_fn) (void *user_data) |
typedef size_t(* grk_stream_read_fn) (void *buffer, size_t numBytes, void *user_data) |
typedef bool(* grk_stream_seek_fn) (uint64_t numBytes, void *user_data) |
typedef size_t(* grk_stream_write_fn) (void *buffer, size_t numBytes, void *user_data) |
typedef enum GRK_SUPPORTED_FILE_FMT GRK_SUPPORTED_FILE_FMT |
typedef enum GRK_TILE_CACHE_STRATEGY GRK_TILE_CACHE_STRATEGY |
typedef int(* GROK_INIT_DECOMPRESSORS) (grk_header_info *header_info, grk_image *image) |
enum _GRK_CODEC_FORMAT |
enum _GRK_COLOR_SPACE |
enum _GRK_PROG_ORDER |
Progression order.
enum GRK_COMPONENT_ASSOC |
enum GRK_COMPONENT_TYPE |
enum grk_prec_mode |
GRK_API bool GRK_CALLCONV grk_compress | ( | grk_codec * | codec | ) |
Encode an image into a JPEG 2000 code stream.
codec | compressor handle |
References grk_compress_with_plugin().
GRK_API grk_codec* GRK_CALLCONV grk_compress_create | ( | GRK_CODEC_FORMAT | format, |
grk_stream * | stream | ||
) |
Creates a J2K/JP2 compression structure.
format | Coder to select |
stream | the JPEG 2000 stream. |
References GRK_CODEC_J2K, GRK_CODEC_JP2, GRK_CODEC_UNKNOWN, and grk::grkFree().
GRK_API bool GRK_CALLCONV grk_compress_end | ( | grk_codec * | codec | ) |
End to compress the current image.
codec | Compressor handle |
References GrkCodec::getImpl().
GRK_API bool GRK_CALLCONV grk_compress_init | ( | grk_codec * | codec, |
grk_cparameters * | parameters, | ||
grk_image * | image | ||
) |
Set up the compressor parameters using the current image and user parameters.
codec | JPEG 2000 code stream |
parameters | compression parameters |
image | input image |
References GrkCodec::getImpl().
GRK_API void GRK_CALLCONV grk_compress_set_default_params | ( | grk_cparameters * | parameters | ) |
Set compressing parameters to default values, that means :
Lossless Single tile Size of precinct : 2^15 x 2^15 (i.e. single precinct) Size of code block : 64 x 64 Number of resolutions: 6 No SOP marker in the code stream No EPH marker in the code stream No sub-sampling in x or y direction No mode switch activated Progression order: LRCP No index file No ROI upshifted Image origin lies at (0,0) Tile origin lies at (0,0) Reversible DWT 5-3 transform
parameters | Compression parameters |
References _grk_cparameters::allocationByQuality, _grk_cparameters::allocationByRateDistoration, _grk_cparameters::cblockh_init, _grk_cparameters::cblockw_init, _grk_cparameters::cod_format, _grk_cparameters::decod_format, _grk_cparameters::deviceId, _grk_cparameters::enableTilePartGeneration, grk::GRK_COMP_PARAM_DEFAULT_CBLOCKH, grk::GRK_COMP_PARAM_DEFAULT_CBLOCKW, grk::GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION, grk::GRK_COMP_PARAM_DEFAULT_PROG_ORDER, GRK_PROFILE_NONE, GRK_UNK_FMT, ThreadPool::hardware_concurrency(), _grk_cparameters::layer_rate, _grk_cparameters::max_comp_size, _grk_cparameters::numgbits, _grk_cparameters::numlayers, _grk_cparameters::numresolution, _grk_cparameters::numThreads, _grk_cparameters::prog_order, _grk_cparameters::repeats, _grk_cparameters::roi_compno, _grk_cparameters::rsiz, _grk_cparameters::subsampling_dx, _grk_cparameters::subsampling_dy, _grk_cparameters::writePLT, and _grk_cparameters::writeTLM.
GRK_API bool GRK_CALLCONV grk_compress_start | ( | grk_codec * | codec | ) |
GRK_API bool GRK_CALLCONV grk_compress_tile | ( | grk_codec * | codec, |
uint16_t | tileIndex, | ||
uint8_t * | data, | ||
uint64_t | data_size | ||
) |
Compress uncompressed data stored in a buffer.
This method should be called right after grk_compress_start, and before grk_end_compress.
codec | JPEG 2000 code stream |
tileIndex | the index of the tile to write. At the moment, the tiles must be written from 0 to n-1 in sequence. |
data | pointer to the data to write. Data is arranged in planar sequence, data_comp0, data_comp1 etc, The data should NOT BE INTERLEAVED. |
data_size | this value is used to ensure the data being written is correct. The size must be equal to the sum for each component of tile_width * tile_height * component_size. component_size can be 1 or 2 bytes, depending on the precision of the given component. |
References GrkCodec::getImpl().
GRK_API bool GRK_CALLCONV grk_compress_with_plugin | ( | grk_codec * | codec, |
grk_plugin_tile * | tile | ||
) |
Encode an image into a JPEG 2000 code stream using plugin.
codec | compressor handle |
tile | plugin tile |
References GrkCodec::getImpl().
Referenced by grk_compress().
GRK_API bool GRK_CALLCONV grk_decompress | ( | grk_codec * | p_decompressor, |
grk_plugin_tile * | tile | ||
) |
Decompress image from a JPEG 2000 code stream.
p_decompressor | decompressor handle |
tile | tile struct from plugin |
References GrkCodec::getImpl().
GRK_API grk_codec* GRK_CALLCONV grk_decompress_create | ( | GRK_CODEC_FORMAT | format, |
grk_stream * | stream | ||
) |
Create J2K/JP2 decompression structure.
format | JPEG 2000 format |
stream | JPEG 2000 stream. |
References GRK_CODEC_J2K, GRK_CODEC_JP2, GRK_CODEC_UNKNOWN, and grk::grkFree().
GRK_API bool GRK_CALLCONV grk_decompress_end | ( | grk_codec * | codec | ) |
GRK_API grk_image* GRK_CALLCONV grk_decompress_get_composited_image | ( | grk_codec * | codec | ) |
Get decompressed composite image.
codec | JPEG 2000 code stream to read. |
References GrkCodec::getImpl().
GRK_API grk_image* GRK_CALLCONV grk_decompress_get_tile_image | ( | grk_codec * | codec, |
uint16_t | tileIndex | ||
) |
Get decompressed tile image.
codec | JPEG 2000 code stream to read. |
tileIndex | tile index |
References GrkCodec::getImpl().
GRK_API bool GRK_CALLCONV grk_decompress_init | ( | grk_codec * | codec, |
grk_dparameters * | parameters | ||
) |
Set up the decompressor with decompress parameters.
codec | decompressor handler |
parameters | decompression parameters |
References GrkCodec::getImpl().
GRK_API bool GRK_CALLCONV grk_decompress_read_header | ( | grk_codec * | codec, |
grk_header_info * | header_info | ||
) |
Decompress JPEG 2000 header.
codec | JPEG 2000 code stream to read. |
header_info | information read from JPEG 2000 header. |
image | the image structure initialized with the characteristics of encoded image. |
References GrkCodec::getImpl().
GRK_API void GRK_CALLCONV grk_decompress_set_default_params | ( | grk_dparameters * | parameters | ) |
Initialize decompress parameters with default values.
parameters | decompression parameters |
References GRK_TILE_CACHE_NONE, and _grk_dparameters::tileCacheStrategy.
GRK_API bool GRK_CALLCONV grk_decompress_set_window | ( | grk_codec * | codec, |
uint32_t | start_x, | ||
uint32_t | start_y, | ||
uint32_t | end_x, | ||
uint32_t | end_y | ||
) |
Set the given area to be decompressed.
This function should be called right after grk_decompress_read_header is called, and before any tile header is read.
codec | JPEG 2000 code stream. |
start_x | left position of the rectangle to decompress (in image coordinates). |
end_x | the right position of the rectangle to decompress (in image coordinates). |
start_y | up position of the rectangle to decompress (in image coordinates). |
end_y | bottom position of the rectangle to decompress (in image coordinates). |
References GrkCodec::getImpl().
GRK_API bool GRK_CALLCONV grk_decompress_tile | ( | grk_codec * | codec, |
uint16_t | tileIndex | ||
) |
Decompress a specific tile.
codec | JPEG 2000 code stream |
tileIndex | index of the tile to be decompressed |
References GrkCodec::getImpl().
GRK_API void GRK_CALLCONV grk_deinitialize | ( | ) |
De-initialize library.
References grk_plugin_cleanup(), and ThreadPool::release().
Referenced by main().
GRK_API void GRK_CALLCONV grk_dump_codec | ( | grk_codec * | codec, |
uint32_t | info_flag, | ||
FILE * | output_stream | ||
) |
Dump codec information to file.
codec | JPEG 2000 code stream. |
info_flag | type of information dump. |
output_stream | output stream where dump the information get from the codec. |
References GrkCodec::getImpl().
GRK_API void GRK_CALLCONV grk_image_all_components_data_free | ( | grk_image * | image | ) |
Deallocate all component data for an image.
image | image |
References _grk_image::comps, grk_image_single_component_data_free(), and _grk_image::numcomps.
Referenced by grk::GrkImage::copyHeader(), and grk::GrkImage::~GrkImage().
GRK_API grk_image_meta* GRK_CALLCONV grk_image_meta_new | ( | void | ) |
GRK_API grk_image* GRK_CALLCONV grk_image_new | ( | uint16_t | numcmpts, |
grk_image_cmptparm * | cmptparms, | ||
GRK_COLOR_SPACE | clrspc, | ||
bool | allocData | ||
) |
Create image.
numcmpts | number of components |
cmptparms | component parameters |
clrspc | image color space |
allocData | true if data is to be allocated, otherwise false |
GRK_API void GRK_CALLCONV grk_image_single_component_data_free | ( | grk_image_comp * | image | ) |
Deallocate data for single image component.
image | image |
References _grk_image_comp::data, and grk::grkAlignedFree().
Referenced by grk::GrkImage::allocData(), grk::FileFormatDecompress::apply_palette_clr(), grk_image_all_components_data_free(), and grk::GrkImage::transferDataTo().
GRK_API bool GRK_CALLCONV grk_initialize | ( | const char * | pluginPath, |
uint32_t | numthreads | ||
) |
Initialize library.
pluginPath | path to plugin |
numthreads | number of threads to use for compress/decompress |
References grk_plugin_load(), ojph::info, ThreadPool::instance(), and is_plugin_initialized.
Referenced by main().
GRK_API void GRK_CALLCONV grk_object_ref | ( | grk_object * | obj | ) |
Increment ref count.
References grk::GrkObjectWrapper::ref(), and _grk_object::wrapper.
Referenced by grk::GrkImage::copyHeader().
GRK_API void GRK_CALLCONV grk_object_unref | ( | grk_object * | obj | ) |
References grk::GrkObjectWrapper::unref(), and _grk_object::wrapper.
Referenced by grk::CodeStreamDecompress::allocateProcessor(), grk::TileProcessor::generateImage(), grk::CodeStream::~CodeStream(), grk::CodeStreamDecompress::~CodeStreamDecompress(), grk::GrkImage::~GrkImage(), grk::TileCache::~TileCache(), and grk::TileProcessor::~TileProcessor().
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_compress | ( | const char * | input_dir, |
const char * | output_dir, | ||
grk_cparameters * | compress_parameters, | ||
GRK_PLUGIN_COMPRESS_USER_CALLBACK | callback | ||
) |
Batch compress with plugin.
input_dir | directory holding input images |
output_dir | directory holding compressed output images |
compress_parameters | compress parameters |
callback | callback |
References grk_plugin_internal_encode_callback(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_batch_encode_method_name, pluginLoaded, and userEncodeCallback.
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_decompress | ( | void | ) |
Batch decompress.
References grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_batch_decode_method_name, and pluginLoaded.
GRK_API void GRK_CALLCONV grk_plugin_cleanup | ( | void | ) |
Release plugin resources.
References grk::minpf_cleanup_plugin_manager(), and pluginLoaded.
Referenced by grk_deinitialize().
GRK_API int32_t GRK_CALLCONV grk_plugin_compress | ( | grk_cparameters * | compress_parameters, |
GRK_PLUGIN_COMPRESS_USER_CALLBACK | callback | ||
) |
Compress with plugin.
compress_parameters | compress parameters |
callback | callback |
References grk_plugin_internal_encode_callback(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_encode_method_name, pluginLoaded, and userEncodeCallback.
GRK_API int32_t GRK_CALLCONV grk_plugin_decompress | ( | grk_decompress_parameters * | decompress_parameters, |
grk_plugin_decompress_callback | callback | ||
) |
Decompress with plugin.
decompress_parameters | decompress parameters |
callback | callback |
References decodeCallback, grk_plugin_internal_decode_callback(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_decode_method_name, and pluginLoaded.
GRK_API uint32_t GRK_CALLCONV grk_plugin_get_debug_state | ( | ) |
Get debug state of plugin.
References GRK_PLUGIN_STATE_NO_DEBUG, grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_get_debug_state_method_name, and pluginLoaded.
Referenced by grk::compress_synch_with_plugin(), grk::TileProcessor::doCompress(), grk::TileProcessor::init(), grk::TileProcessor::pcrdBisectFeasible(), grk::TileProcessor::pcrdBisectSimple(), and grk::tile_equals().
GRK_API bool GRK_CALLCONV grk_plugin_init | ( | grk_plugin_init_info | initInfo | ) |
Initialize plugin.
References grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_init_method_name, and pluginLoaded.
GRK_API int32_t GRK_CALLCONV grk_plugin_init_batch_decompress | ( | const char * | input_dir, |
const char * | output_dir, | ||
grk_decompress_parameters * | decompress_parameters, | ||
grk_plugin_decompress_callback | callback | ||
) |
Initialize batch decompress.
input_dir | input directory holding compressed images |
output_dir | output directory holding decompressed images |
decompress_parameters | decompress parameters |
callback | callback |
References decodeCallback, grk_plugin_internal_decode_callback(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_init_batch_decode_method_name, and pluginLoaded.
GRK_API bool GRK_CALLCONV grk_plugin_is_batch_complete | ( | void | ) |
Check if batch job is complete.
References funcPluginIsBatchComplete, grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_is_batch_complete_method_name, and pluginLoaded.
GRK_API bool GRK_CALLCONV grk_plugin_load | ( | grk_plugin_load_info | info | ) |
Load plugin.
info | plugin loading info |
References ojph::info, grk::minpf_cleanup_plugin_manager(), grk::minpf_get_dynamic_library_extension(), grk::minpf_load_from_path(), pathSeparator(), and pluginLoaded.
Referenced by grk_initialize().
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_compress | ( | void | ) |
Stop batch compress.
References grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_stop_batch_encode_method_name, and pluginLoaded.
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_decompress | ( | void | ) |
Stop batch decompress.
References grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_stop_batch_decode_method_name, and pluginLoaded.
GRK_API bool GRK_CALLCONV grk_set_error_handler | ( | grk_msg_callback | p_callback, |
void * | user_data | ||
) |
Set error handler.
p_callback | the callback function which will be used |
user_data | client object where will be returned the message |
GRK_API bool GRK_CALLCONV grk_set_info_handler | ( | grk_msg_callback | p_callback, |
void * | user_data | ||
) |
Set info handler.
p_callback | the callback function which will be used |
user_data | client object where will be returned the message |
GRK_API bool GRK_CALLCONV grk_set_MCT | ( | grk_cparameters * | parameters, |
float * | pEncodingMatrix, | ||
int32_t * | p_dc_shift, | ||
uint32_t | pNbComp | ||
) |
Set the MCT matrix to use.
parameters | the parameters to change. |
pEncodingMatrix | the compressing matrix. |
p_dc_shift | the dc shift coefficients to use. |
pNbComp | the number of components of the image. |
References GRK_EXTENSION_MCT, GRK_IS_PART2, GRK_PROFILE_PART2, grk::grkMalloc(), _grk_cparameters::irreversible, _grk_cparameters::mct, _grk_cparameters::mct_data, and _grk_cparameters::rsiz.
GRK_API bool GRK_CALLCONV grk_set_warning_handler | ( | grk_msg_callback | p_callback, |
void * | user_data | ||
) |
Set warning handler.
p_callback | the callback function which will be used |
user_data | client object where will be returned the message |
GRK_API grk_stream* GRK_CALLCONV grk_stream_create_file_stream | ( | const char * | fname, |
size_t | buffer_size, | ||
bool | is_read_stream | ||
) |
Create stream from a file identified with its filename with a specific buffer size.
fname | the filename of the file to stream |
buffer_size | size of the chunk used to stream |
is_read_stream | whether the stream is a read stream (true) or not (false) |
References grk_get_data_length_from_file(), grk_read_from_file(), grk_seek_in_file(), grk_stream_new(), grk_stream_set_read_function(), grk_stream_set_seek_function(), grk_stream_set_user_data(), grk_stream_set_user_data_length(), grk_stream_set_write_function(), grk_write_to_file(), and grkFree_file().
GRK_API grk_stream* GRK_CALLCONV grk_stream_create_mapped_file_stream | ( | const char * | fname, |
bool | read_stream | ||
) |
Create mapped file stream.
fname | file name |
read_stream | true if this is a read stream, otherwise false |
References grk::create_mapped_file_read_stream(), and grk::create_mapped_file_write_stream().
GRK_API grk_stream* GRK_CALLCONV grk_stream_create_mem_stream | ( | uint8_t * | buf, |
size_t | buffer_len, | ||
bool | ownsBuffer, | ||
bool | is_read_stream | ||
) |
Create stream from buffer.
buf | buffer |
buffer_len | length of buffer |
ownsBuffer | if true, library will delete[] buffer. Otherwise, it is the caller's responsibility to delete the buffer |
is_read_stream | whether the stream is a read stream (true) or not (false) |
References grk::create_mem_stream().
GRK_API size_t GRK_CALLCONV grk_stream_get_write_mem_stream_length | ( | grk_stream * | stream | ) |
Get length of memory stream.
stream | memory stream |
References grk::get_mem_stream_offset().
GRK_API grk_stream* GRK_CALLCONV grk_stream_new | ( | size_t | buffer_size, |
bool | is_input | ||
) |
Create an abstract stream.
This function does nothing except allocate memory and initialize abstract stream.
buffer_size | size of stream's double-buffer |
is_input | if set to true then the stream will be an input stream, an output stream else. |
Referenced by grk_stream_create_file_stream().
GRK_API void GRK_CALLCONV grk_stream_set_read_function | ( | grk_stream * | stream, |
grk_stream_read_fn | p_function | ||
) |
Set the given function to be used as a read function.
stream | the stream to modify |
p_function | the function to use a read function. |
References GROK_STREAM_STATUS_INPUT.
Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().
GRK_API void GRK_CALLCONV grk_stream_set_seek_function | ( | grk_stream * | stream, |
grk_stream_seek_fn | p_function | ||
) |
Set the given function to be used as a seek function, the stream is then seekable.
stream | the stream to modify |
p_function | the function to use a skip function. |
Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().
GRK_API void GRK_CALLCONV grk_stream_set_user_data | ( | grk_stream * | stream, |
void * | data, | ||
grk_stream_free_user_data_fn | p_function | ||
) |
Set the given data to be used as a user data for the stream.
stream | the stream to modify |
data | the data to set. |
p_function | the function to free data when grk_object_unref() is called. |
Referenced by grk::create_mapped_file_read_stream(), grk::create_mapped_file_write_stream(), grk::create_mem_stream(), and grk_stream_create_file_stream().
GRK_API void GRK_CALLCONV grk_stream_set_user_data_length | ( | grk_stream * | stream, |
uint64_t | data_length | ||
) |
Set the length of the user data for the stream.
stream | the stream to modify |
data_length | length of the user_data. |
Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().
GRK_API void GRK_CALLCONV grk_stream_set_write_function | ( | grk_stream * | stream, |
grk_stream_write_fn | p_function | ||
) |
Set the given function to be used as a write function.
stream | the stream to modify |
p_function | the function to use a write function. |
References GROK_STREAM_STATUS_OUTPUT.
Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().
GRK_API const char* GRK_CALLCONV grk_version | ( | void | ) |
library version
Referenced by grk::CodeStreamCompress::initCompress(), and main().