Grok 20.3.2
gpu_plugin_shared.h File Reference
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <climits>

Go to the source code of this file.

Classes

struct  _gpup_image_comp
struct  _gpup_image
struct  _gpup_pass
struct  _gpup_code_block
struct  _gpup_precinct
struct  _gpup_band
struct  _gpup_resolution
struct  _gpup_tile_component
struct  _gpup_tile
struct  _gpup_header_info
struct  _gpup_compress_params
struct  _gpup_decompress_core_params
struct  _gpup_decompress_params
struct  _gpup_init_info
struct  _gpup_stream_params
struct  _gpup_compress_callback_info
struct  _gpup_compress_batch_info
struct  _gpup_decompress_callback_info

Macros

#define GPUP_CALLCONV
#define GPUP_API   __attribute__((visibility("default")))
#define GPUP_PATH_LEN   4096
#define GPUP_MAX_LAYERS   256
#define GPUP_MAX_DECOMP_LVLS   32
#define GPUP_MAXRLVLS   (GPUP_MAX_DECOMP_LVLS + 1)
#define GPUP_MAXBANDS   (3 * GPUP_MAXRLVLS - 2)
#define GPUP_MAX_SUPPORTED_PREC   16
#define GPUP_BIBO_EXTRA_BITS   7
#define GPUP_MAX_PASSES   (3 * (GPUP_MAX_SUPPORTED_PREC + GPUP_BIBO_EXTRA_BITS) - 2)
#define GPUP_NUM_COMMENTS   256
#define GPUP_BUFFER_ALIGNMENT   64
#define GPUP_DECODE_HEADER   (1 << 0)
#define GPUP_DECODE_T2   (1 << 1)
#define GPUP_DECODE_T1   (1 << 2)
#define GPUP_DECODE_POST_T1   (1 << 3)
#define GPUP_DECODE_CLEAN   (1 << 4)
#define GPUP_DECODE_ALL   (GPUP_DECODE_CLEAN | GPUP_DECODE_HEADER | GPUP_DECODE_T2 | GPUP_DECODE_T1 | GPUP_DECODE_POST_T1)
#define GPUP_STATE_NO_DEBUG   0x0
#define GPUP_STATE_DEBUG   0x1
#define GPUP_STATE_PRE_TR1   0x2
#define GPUP_STATE_DWT_QUANTIZATION   0x4
#define GPUP_STATE_MCT_ONLY   0x8
#define GPUP_PROFILE_NONE   0x0000
#define GPUP_PROFILE_0   0x0001
#define GPUP_PROFILE_1   0x0002
#define GPUP_PROFILE_CINEMA_2K   0x0003
#define GPUP_PROFILE_CINEMA_4K   0x0004
#define GPUP_PROFILE_CINEMA_S2K   0x0005
#define GPUP_PROFILE_CINEMA_S4K   0x0006
#define GPUP_PROFILE_CINEMA_LTS   0x0007
#define GPUP_PROFILE_BC_SINGLE   0x0100
#define GPUP_PROFILE_BC_MULTI   0x0200
#define GPUP_PROFILE_BC_MULTI_R   0x0300
#define GPUP_PROFILE_BC_MASK   0x030F
#define GPUP_PROFILE_IMF_2K   0x0400
#define GPUP_PROFILE_IMF_4K   0x0500
#define GPUP_PROFILE_IMF_8K   0x0600
#define GPUP_PROFILE_IMF_2K_R   0x0700
#define GPUP_PROFILE_IMF_4K_R   0x0800
#define GPUP_PROFILE_IMF_8K_R   0x0900
#define GPUP_PROFILE_MASK   0x0FFF
#define GPUP_PROFILE_PART2   0x8000
#define GPUP_PROFILE_PART2_EXTENSIONS_MASK   0x3FFF
#define GPUP_EXTENSION_NONE   0x0000
#define GPUP_EXTENSION_MCT   0x0100
#define GPUP_IS_PART2(v)
#define GPUP_IS_CINEMA(v)
#define GPUP_IS_STORAGE(v)
#define GPUP_IS_BROADCAST(v)
#define GPUP_IS_IMF(v)
#define GPUP_CBLKSTY_LAZY   0x001
#define GPUP_CBLKSTY_RESET   0x002
#define GPUP_CBLKSTY_TERMALL   0x004
#define GPUP_CBLKSTY_VSC   0x008
#define GPUP_CBLKSTY_PTERM   0x010
#define GPUP_CBLKSTY_SEGSYM   0x020
#define GPUP_CBLKSTY_HT   0x040
#define GPUP_CBLKSTY_HT_MIXED   0x080
#define GPUP_CBLKSTY_HT_PHLD   0x100

Typedefs

typedef void(* gpup_msg_callback) (const char *msg, void *client_data)
typedef void gpup_codec
typedef struct _gpup_image_comp gpup_image_comp
typedef struct _gpup_image gpup_image
typedef struct _gpup_pass gpup_pass
typedef struct _gpup_code_block gpup_code_block
typedef struct _gpup_precinct gpup_precinct
typedef struct _gpup_band gpup_band
typedef struct _gpup_resolution gpup_resolution
typedef struct _gpup_tile_component gpup_tile_component
typedef struct _gpup_tile gpup_tile
typedef struct _gpup_header_info gpup_header_info
typedef struct _gpup_compress_params gpup_compress_params
typedef struct _gpup_decompress_core_params gpup_decompress_core_params
typedef struct _gpup_decompress_params gpup_decompress_params
typedef struct _gpup_init_info gpup_init_info
typedef struct _gpup_stream_params gpup_stream_params
typedef int(* GPUP_INIT_DECOMPRESSORS) (gpup_header_info *header_info, gpup_image *image)
typedef struct _gpup_compress_callback_info gpup_compress_callback_info
typedef uint64_t(* GPUP_COMPRESS_USER_CALLBACK) (gpup_compress_callback_info *info)
typedef struct _gpup_compress_batch_info gpup_compress_batch_info
typedef struct _gpup_decompress_callback_info gpup_decompress_callback_info
typedef int32_t(* GPUP_DECOMPRESS_USER_CALLBACK) (gpup_decompress_callback_info *info)

Enumerations

enum  gpup_prog_order {
  GPUP_PROG_UNKNOWN = -1 , GPUP_LRCP = 0 , GPUP_RLCP = 1 , GPUP_RPCL = 2 ,
  GPUP_PCRL = 3 , GPUP_CPRL = 4 , GPUP_NUM_PROGRESSION_ORDERS = 5
}
enum  gpup_color_space {
  GPUP_CLRSPC_UNKNOWN = 0 , GPUP_CLRSPC_SRGB = 2 , GPUP_CLRSPC_GRAY = 3 , GPUP_CLRSPC_SYCC = 4 ,
  GPUP_CLRSPC_EYCC = 5 , GPUP_CLRSPC_CMYK = 6 , GPUP_CLRSPC_DEFAULT_CIE = 7 , GPUP_CLRSPC_CUSTOM_CIE = 8 ,
  GPUP_CLRSPC_ICC = 9
}
enum  gpup_file_fmt {
  GPUP_FMT_UNK = 0 , GPUP_FMT_J2K , GPUP_FMT_JP2 , GPUP_FMT_PXM ,
  GPUP_FMT_PGX , GPUP_FMT_PAM , GPUP_FMT_BMP , GPUP_FMT_TIF ,
  GPUP_FMT_RAW , GPUP_FMT_PNG , GPUP_FMT_RAWL , GPUP_FMT_JPG ,
  GPUP_FMT_MJ2
}
enum  gpup_codec_fmt { GPUP_CODEC_UNK = 0 , GPUP_CODEC_J2K , GPUP_CODEC_JP2 , GPUP_CODEC_MJ2 }
enum  gpup_rate_control { GPUP_RATE_CONTROL_BISECT , GPUP_RATE_CONTROL_PCRD_OPT }

Macro Definition Documentation

◆ GPUP_API

#define GPUP_API   __attribute__((visibility("default")))

◆ GPUP_BIBO_EXTRA_BITS

#define GPUP_BIBO_EXTRA_BITS   7

◆ GPUP_BUFFER_ALIGNMENT

#define GPUP_BUFFER_ALIGNMENT   64

◆ GPUP_CALLCONV

#define GPUP_CALLCONV

◆ GPUP_CBLKSTY_HT

#define GPUP_CBLKSTY_HT   0x040

◆ GPUP_CBLKSTY_HT_MIXED

#define GPUP_CBLKSTY_HT_MIXED   0x080

◆ GPUP_CBLKSTY_HT_PHLD

#define GPUP_CBLKSTY_HT_PHLD   0x100

◆ GPUP_CBLKSTY_LAZY

#define GPUP_CBLKSTY_LAZY   0x001

◆ GPUP_CBLKSTY_PTERM

#define GPUP_CBLKSTY_PTERM   0x010

◆ GPUP_CBLKSTY_RESET

#define GPUP_CBLKSTY_RESET   0x002

◆ GPUP_CBLKSTY_SEGSYM

#define GPUP_CBLKSTY_SEGSYM   0x020

◆ GPUP_CBLKSTY_TERMALL

#define GPUP_CBLKSTY_TERMALL   0x004

◆ GPUP_CBLKSTY_VSC

#define GPUP_CBLKSTY_VSC   0x008

◆ GPUP_DECODE_ALL

◆ GPUP_DECODE_CLEAN

#define GPUP_DECODE_CLEAN   (1 << 4)

◆ GPUP_DECODE_HEADER

#define GPUP_DECODE_HEADER   (1 << 0)

◆ GPUP_DECODE_POST_T1

#define GPUP_DECODE_POST_T1   (1 << 3)

◆ GPUP_DECODE_T1

#define GPUP_DECODE_T1   (1 << 2)

◆ GPUP_DECODE_T2

#define GPUP_DECODE_T2   (1 << 1)

◆ GPUP_EXTENSION_MCT

#define GPUP_EXTENSION_MCT   0x0100

◆ GPUP_EXTENSION_NONE

#define GPUP_EXTENSION_NONE   0x0000

◆ GPUP_IS_BROADCAST

#define GPUP_IS_BROADCAST ( v)
Value:
(((v) >= GPUP_PROFILE_BC_SINGLE) && ((v) <= (GPUP_PROFILE_BC_MULTI_R | 0x000b)) && \
(((v) & 0xf) <= 0xb))
#define GPUP_PROFILE_BC_SINGLE
Definition gpu_plugin_shared.h:153
#define GPUP_PROFILE_BC_MULTI_R
Definition gpu_plugin_shared.h:155

◆ GPUP_IS_CINEMA

#define GPUP_IS_CINEMA ( v)
Value:
#define GPUP_PROFILE_CINEMA_2K
Definition gpu_plugin_shared.h:148
#define GPUP_PROFILE_CINEMA_S4K
Definition gpu_plugin_shared.h:151

◆ GPUP_IS_IMF

#define GPUP_IS_IMF ( v)
Value:
(((v) >= GPUP_PROFILE_IMF_2K) && ((v) <= (GPUP_PROFILE_IMF_8K_R | 0x009b)) && \
(((v) & 0xf) <= 0xb) && (((v) & 0xf0) <= 0x90))
#define GPUP_PROFILE_IMF_8K_R
Definition gpu_plugin_shared.h:162
#define GPUP_PROFILE_IMF_2K
Definition gpu_plugin_shared.h:157

◆ GPUP_IS_PART2

#define GPUP_IS_PART2 ( v)
Value:
#define GPUP_PROFILE_PART2
Definition gpu_plugin_shared.h:164

◆ GPUP_IS_STORAGE

#define GPUP_IS_STORAGE ( v)
Value:
#define GPUP_PROFILE_CINEMA_LTS
Definition gpu_plugin_shared.h:152

◆ GPUP_MAX_DECOMP_LVLS

#define GPUP_MAX_DECOMP_LVLS   32

◆ GPUP_MAX_LAYERS

#define GPUP_MAX_LAYERS   256

◆ GPUP_MAX_PASSES

#define GPUP_MAX_PASSES   (3 * (GPUP_MAX_SUPPORTED_PREC + GPUP_BIBO_EXTRA_BITS) - 2)

◆ GPUP_MAX_SUPPORTED_PREC

#define GPUP_MAX_SUPPORTED_PREC   16

◆ GPUP_MAXBANDS

#define GPUP_MAXBANDS   (3 * GPUP_MAXRLVLS - 2)

◆ GPUP_MAXRLVLS

◆ GPUP_NUM_COMMENTS

#define GPUP_NUM_COMMENTS   256

◆ GPUP_PATH_LEN

#define GPUP_PATH_LEN   4096

◆ GPUP_PROFILE_0

#define GPUP_PROFILE_0   0x0001

◆ GPUP_PROFILE_1

#define GPUP_PROFILE_1   0x0002

◆ GPUP_PROFILE_BC_MASK

#define GPUP_PROFILE_BC_MASK   0x030F

◆ GPUP_PROFILE_BC_MULTI

#define GPUP_PROFILE_BC_MULTI   0x0200

◆ GPUP_PROFILE_BC_MULTI_R

#define GPUP_PROFILE_BC_MULTI_R   0x0300

◆ GPUP_PROFILE_BC_SINGLE

#define GPUP_PROFILE_BC_SINGLE   0x0100

◆ GPUP_PROFILE_CINEMA_2K

#define GPUP_PROFILE_CINEMA_2K   0x0003

◆ GPUP_PROFILE_CINEMA_4K

#define GPUP_PROFILE_CINEMA_4K   0x0004

◆ GPUP_PROFILE_CINEMA_LTS

#define GPUP_PROFILE_CINEMA_LTS   0x0007

◆ GPUP_PROFILE_CINEMA_S2K

#define GPUP_PROFILE_CINEMA_S2K   0x0005

◆ GPUP_PROFILE_CINEMA_S4K

#define GPUP_PROFILE_CINEMA_S4K   0x0006

◆ GPUP_PROFILE_IMF_2K

#define GPUP_PROFILE_IMF_2K   0x0400

◆ GPUP_PROFILE_IMF_2K_R

#define GPUP_PROFILE_IMF_2K_R   0x0700

◆ GPUP_PROFILE_IMF_4K

#define GPUP_PROFILE_IMF_4K   0x0500

◆ GPUP_PROFILE_IMF_4K_R

#define GPUP_PROFILE_IMF_4K_R   0x0800

◆ GPUP_PROFILE_IMF_8K

#define GPUP_PROFILE_IMF_8K   0x0600

◆ GPUP_PROFILE_IMF_8K_R

#define GPUP_PROFILE_IMF_8K_R   0x0900

◆ GPUP_PROFILE_MASK

#define GPUP_PROFILE_MASK   0x0FFF

◆ GPUP_PROFILE_NONE

#define GPUP_PROFILE_NONE   0x0000

◆ GPUP_PROFILE_PART2

#define GPUP_PROFILE_PART2   0x8000

◆ GPUP_PROFILE_PART2_EXTENSIONS_MASK

#define GPUP_PROFILE_PART2_EXTENSIONS_MASK   0x3FFF

◆ GPUP_STATE_DEBUG

#define GPUP_STATE_DEBUG   0x1

◆ GPUP_STATE_DWT_QUANTIZATION

#define GPUP_STATE_DWT_QUANTIZATION   0x4

◆ GPUP_STATE_MCT_ONLY

#define GPUP_STATE_MCT_ONLY   0x8

◆ GPUP_STATE_NO_DEBUG

#define GPUP_STATE_NO_DEBUG   0x0

◆ GPUP_STATE_PRE_TR1

#define GPUP_STATE_PRE_TR1   0x2

Typedef Documentation

◆ gpup_band

typedef struct _gpup_band gpup_band

◆ gpup_code_block

◆ gpup_codec

typedef void gpup_codec

◆ gpup_compress_batch_info

◆ gpup_compress_callback_info

◆ gpup_compress_params

◆ GPUP_COMPRESS_USER_CALLBACK

typedef uint64_t(* GPUP_COMPRESS_USER_CALLBACK) (gpup_compress_callback_info *info)

◆ gpup_decompress_callback_info

◆ gpup_decompress_core_params

◆ gpup_decompress_params

◆ GPUP_DECOMPRESS_USER_CALLBACK

typedef int32_t(* GPUP_DECOMPRESS_USER_CALLBACK) (gpup_decompress_callback_info *info)

◆ gpup_header_info

◆ gpup_image

typedef struct _gpup_image gpup_image

◆ gpup_image_comp

◆ GPUP_INIT_DECOMPRESSORS

typedef int(* GPUP_INIT_DECOMPRESSORS) (gpup_header_info *header_info, gpup_image *image)

◆ gpup_init_info

◆ gpup_msg_callback

typedef void(* gpup_msg_callback) (const char *msg, void *client_data)

◆ gpup_pass

typedef struct _gpup_pass gpup_pass

◆ gpup_precinct

typedef struct _gpup_precinct gpup_precinct

◆ gpup_resolution

◆ gpup_stream_params

◆ gpup_tile

typedef struct _gpup_tile gpup_tile

◆ gpup_tile_component

Enumeration Type Documentation

◆ gpup_codec_fmt

Enumerator
GPUP_CODEC_UNK 
GPUP_CODEC_J2K 
GPUP_CODEC_JP2 
GPUP_CODEC_MJ2 

◆ gpup_color_space

Enumerator
GPUP_CLRSPC_UNKNOWN 
GPUP_CLRSPC_SRGB 
GPUP_CLRSPC_GRAY 
GPUP_CLRSPC_SYCC 
GPUP_CLRSPC_EYCC 
GPUP_CLRSPC_CMYK 
GPUP_CLRSPC_DEFAULT_CIE 
GPUP_CLRSPC_CUSTOM_CIE 
GPUP_CLRSPC_ICC 

◆ gpup_file_fmt

Enumerator
GPUP_FMT_UNK 
GPUP_FMT_J2K 
GPUP_FMT_JP2 
GPUP_FMT_PXM 
GPUP_FMT_PGX 
GPUP_FMT_PAM 
GPUP_FMT_BMP 
GPUP_FMT_TIF 
GPUP_FMT_RAW 
GPUP_FMT_PNG 
GPUP_FMT_RAWL 
GPUP_FMT_JPG 
GPUP_FMT_MJ2 

◆ gpup_prog_order

Enumerator
GPUP_PROG_UNKNOWN 
GPUP_LRCP 
GPUP_RLCP 
GPUP_RPCL 
GPUP_PCRL 
GPUP_CPRL 
GPUP_NUM_PROGRESSION_ORDERS 

◆ gpup_rate_control

Enumerator
GPUP_RATE_CONTROL_BISECT 
GPUP_RATE_CONTROL_PCRD_OPT