feat/api #46
4 changed files with 18 additions and 19 deletions
|
@ -85,14 +85,14 @@
|
|||
uint64 const nX,
|
||||
uint64 const nY,
|
||||
uint64 const nZ,
|
||||
uint16 const nTS,
|
||||
uint64 const nTS,
|
||||
uint8 const nPar,
|
||||
bwc_precision const prec);
|
||||
//==========|==========================|======================|======|=======|====================
|
||||
bwc_codec* bwc_alloc_coder (uint64 const nX,
|
||||
uint64 const nY,
|
||||
uint64 const nZ,
|
||||
uint16 const nTS,
|
||||
uint64 const nTS,
|
||||
uint8 const nPar,
|
||||
bwc_precision const prec);
|
||||
//==========|==========================|======================|======|=======|====================
|
||||
|
@ -158,4 +158,4 @@
|
|||
//==========|==========================|======================|======|=======|====================
|
||||
uchar bwc_decompress (bwc_codec *const codec,
|
||||
bwc_stream *const stream);
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -97,7 +97,7 @@ def initialize_data(data, nX, nY, nZ, nTS, nPar, file_extension):
|
|||
ctypes.c_uint64,
|
||||
ctypes.c_uint64,
|
||||
ctypes.c_uint64,
|
||||
ctypes.c_uint16,
|
||||
ctypes.c_uint64,
|
||||
ctypes.c_uint8,
|
||||
ctypes.c_char_p]
|
||||
return ctypes.c_void_p(fun(data, nX, nY, nZ, nTS, nPar, file_extension.encode('utf-8')))
|
||||
|
|
|
@ -188,7 +188,7 @@ codestream_write_header(bitstream *const stream,
|
|||
emit_symbol(stream, info->nX, 8);
|
||||
emit_symbol(stream, info->nY, 8);
|
||||
emit_symbol(stream, info->nZ, 8);
|
||||
emit_symbol(stream, info->nTS, 2);
|
||||
emit_symbol(stream, info->nTS, 8);
|
||||
emit_symbol(stream, info->nPar, 1);
|
||||
emit_symbol(stream, (uint8)info->data_prec, 1);
|
||||
emit_symbol(stream, (uint8)info->codec_prec, 1);
|
||||
|
@ -700,7 +700,7 @@ parse_main_header(bwc_codec *const codec, bwc_stream *const data, bitstream *con
|
|||
nX = get_symbol(stream, 8);
|
||||
nY = get_symbol(stream, 8);
|
||||
nZ = get_symbol(stream, 8);
|
||||
nTS = (uint16)get_symbol(stream, 2);
|
||||
nTS = get_symbol(stream, 8);
|
||||
nPar = (uint8)get_symbol(stream, 1);
|
||||
data_prec = (bwc_precision)get_symbol(stream, 1);
|
||||
codec_prec = (bwc_precision)get_symbol(stream, 1);
|
||||
|
@ -1520,4 +1520,4 @@ parse_codestream(bwc_codec *const codec, bwc_stream *const data, uint8 const lay
|
|||
free(stream);
|
||||
|
||||
return codec;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1742,11 +1742,11 @@ create_field(bwc_codec *const field)
|
|||
tile_info->X0 = (uint64)MAX(0, x * control->tileSizeX);
|
||||
tile_info->Y0 = (uint64)MAX(0, y * control->tileSizeY);
|
||||
tile_info->Z0 = (uint64)MAX(0, z * control->tileSizeZ);
|
||||
tile_info->TS0 = (uint16)MAX(0, t * control->tileSizeTS);
|
||||
tile_info->TS0 = (uint64)MAX(0, t * control->tileSizeTS);
|
||||
tile_info->X1 = (uint64)MIN(info->nX , (x + 1) * control->tileSizeX);
|
||||
tile_info->Y1 = (uint64)MIN(info->nY , (y + 1) * control->tileSizeY);
|
||||
tile_info->Z1 = (uint64)MIN(info->nZ , (z + 1) * control->tileSizeZ);
|
||||
tile_info->TS1 = (uint16)MIN(info->nTS, (t + 1) * control->tileSizeTS);
|
||||
tile_info->TS1 = (uint64)MIN(info->nTS, (t + 1) * control->tileSizeTS);
|
||||
|
||||
/*--------------------------------------------------------*\
|
||||
! Initialize the tile header size. !
|
||||
|
@ -2150,7 +2150,7 @@ bwc_free_codec(bwc_codec *const codec)
|
|||
\*----------------------------------------------------------------------------------------------------------*/
|
||||
bwc_codec*
|
||||
configure_codec(bwc_codec *const codec, uint64 const nX, uint64 const nY, uint64 const nZ,
|
||||
uint16 const nTS, uint8 const nPar, bwc_precision const prec)
|
||||
uint64 const nTS, uint8 const nPar, bwc_precision const prec)
|
||||
{
|
||||
/*-----------------------*\
|
||||
! DEFINE INT VARIABLES: !
|
||||
|
@ -2321,7 +2321,7 @@ configure_codec(bwc_codec *const codec, uint64 const nX, uint64 const nY, uint64
|
|||
! !
|
||||
\*----------------------------------------------------------------------------------------------------------*/
|
||||
bwc_codec*
|
||||
bwc_alloc_coder(uint64 const nX, uint64 const nY, uint64 const nZ, uint16 const nTS,
|
||||
bwc_alloc_coder(uint64 const nX, uint64 const nY, uint64 const nZ, uint64 const nTS,
|
||||
uint8 const nPar, bwc_precision const prec)
|
||||
{
|
||||
/*--------------------------------------------------------*\
|
||||
|
@ -3230,13 +3230,12 @@ bwc_set_qm(bwc_codec *const field, uint8 Qm)
|
|||
! !
|
||||
\*----------------------------------------------------------------------------------------------------------*/
|
||||
void
|
||||
bwc_set_tiles(bwc_codec *const field, uint64 tilesX, uint64 tilesY, uint64 tilesZ, uint16 tilesTS, bwc_tile_instr instr)
|
||||
bwc_set_tiles(bwc_codec *const field, uint64 tilesX, uint64 tilesY, uint64 tilesZ, uint64 tilesTS, bwc_tile_instr instr)
|
||||
{
|
||||
/*-----------------------*\
|
||||
! DEFINE INT VARIABLES: !
|
||||
\*-----------------------*/
|
||||
uint64 num_tiles_X, num_tiles_Y, num_tiles_Z;
|
||||
uint16 num_tiles_TS;
|
||||
uint64 num_tiles_X, num_tiles_Y, num_tiles_Z, num_tiles_TS;
|
||||
|
||||
/*-----------------------*\
|
||||
! DEFINE STRUCTS: !
|
||||
|
@ -3304,7 +3303,7 @@ bwc_set_tiles(bwc_codec *const field, uint64 tilesX, uint64 tilesY, uint64 tiles
|
|||
num_tiles_X = (uint64)ceil(((float)info->nX / control->tileSizeX));
|
||||
num_tiles_Y = (uint64)ceil(((float)info->nY / control->tileSizeY));
|
||||
num_tiles_Z = (uint64)ceil(((float)info->nZ / control->tileSizeZ));
|
||||
num_tiles_TS = (uint16)ceil(((float)info->nTS/ control->tileSizeTS));
|
||||
num_tiles_TS = (uint64)ceil(((float)info->nTS/ control->tileSizeTS));
|
||||
control->nTiles = num_tiles_X * num_tiles_Y * num_tiles_Z * num_tiles_TS;
|
||||
|
||||
/*--------------------------------------------------------*\
|
||||
|
@ -3366,7 +3365,7 @@ bwc_set_tiles(bwc_codec *const field, uint64 tilesX, uint64 tilesY, uint64 tiles
|
|||
control->tileSizeX = (info->nX >> 1) ? (tilesX ? (uint64)ceil(((float)info->nX / tilesX)) : info->nX) : info->nX;
|
||||
control->tileSizeY = (info->nY >> 1) ? (tilesY ? (uint64)ceil(((float)info->nY / tilesY)) : info->nY) : info->nY;
|
||||
control->tileSizeZ = (info->nZ >> 1) ? (tilesZ ? (uint64)ceil(((float)info->nZ / tilesZ)) : info->nZ) : info->nZ;
|
||||
control->tileSizeTS = (info->nTS >> 1) ? (tilesTS ? (uint16)ceil(((float)info->nTS/ tilesTS)) : info->nTS) : info->nTS;
|
||||
control->tileSizeTS = (info->nTS >> 1) ? (tilesTS ? (uint64)ceil(((float)info->nTS/ tilesTS)) : info->nTS) : info->nTS;
|
||||
|
||||
/*--------------------------------------------------------*\
|
||||
! Check if the tile sizes have valid values. !
|
||||
|
@ -3406,7 +3405,7 @@ bwc_set_tiles(bwc_codec *const field, uint64 tilesX, uint64 tilesY, uint64 tiles
|
|||
num_tiles_X = (uint64)ceil(((float)info->nX / control->tileSizeX));
|
||||
num_tiles_Y = (uint64)ceil(((float)info->nY / control->tileSizeY));
|
||||
num_tiles_Z = (uint64)ceil(((float)info->nZ / control->tileSizeZ));
|
||||
num_tiles_TS = (uint16)ceil(((float)info->nTS/ control->tileSizeTS));
|
||||
num_tiles_TS = (uint64)ceil(((float)info->nTS/ control->tileSizeTS));
|
||||
control->nTiles = num_tiles_X * num_tiles_Y * num_tiles_Z * num_tiles_TS;
|
||||
}
|
||||
|
||||
|
@ -3588,8 +3587,8 @@ bwc_create_compression(bwc_codec *codec, bwc_stream *stream, char *rate_control)
|
|||
/*--------------------------------------------------------*\
|
||||
! Evaluate the size of the main header. !
|
||||
\*--------------------------------------------------------*/
|
||||
control->headerSize = 99 + info->nPar * control->nTiles * 2 * PREC_BYTE
|
||||
+ control->nLayers * 4;
|
||||
control->headerSize = 105 + info->nPar * control->nTiles * 2 * PREC_BYTE
|
||||
+ control->nLayers * 4;
|
||||
|
||||
if(stream->codestream.aux != NULL)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue