📄 libqccpackwav.h
字号:
*wavelet);/* samask.c */int QccWAVShapeAdaptiveMaskBAR(const QccMatrix mask, int num_rows, int num_cols, double *bar_value);int QccWAVShapeAdaptiveMaskBoundingBox(const QccWAVSubbandPyramid *mask, int subband, int *bounding_box_origin_row, int *bounding_box_origin_col, int *bounding_box_num_rows, int *bounding_box_num_cols);/* perceptual_weights.c */#define QCCWAVPERCEPTUALWEIGHTS_MAGICNUM "PCP"typedef struct{ QccString filename; QccString magic_num; int major_version; int minor_version; int num_subbands; QccVector perceptual_weights;} QccWAVPerceptualWeights;int QccWAVPerceptualWeightsInitialize(QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsAlloc(QccWAVPerceptualWeights *perceptual_weights);void QccWAVPerceptualWeightsFree(QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsRead(QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsWrite(const QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsPrint(const QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsApply(QccWAVSubbandPyramid *subband_pyramid, const QccWAVPerceptualWeights *perceptual_weights);int QccWAVPerceptualWeightsRemove(QccWAVSubbandPyramid *subband_pyramid, const QccWAVPerceptualWeights *perceptual_weights);/* subband_pyramid_dwt_sq.c */int QccWAVSubbandPyramidDWTSQEncode(const QccIMGImageComponent *image, QccChannel *channels, const QccSQScalarQuantizer *quantizer, double *image_mean, int num_levels, const QccWAVWavelet *wavelet, const QccWAVPerceptualWeights *perceptual_weights);int QccWAVSubbandPyramidDWTSQDecode(const QccChannel *channels, QccIMGImageComponent *image, const QccSQScalarQuantizer *quantizer, double image_mean, int num_levels, const QccWAVWavelet *wavelet, const QccWAVPerceptualWeights *perceptual_weights);/* zerotree.c */#define QCCWAVZEROTREE_MAGICNUM "ZT"#define QCCWAVZEROTREE_SYMBOLSIGNIFICANT 1#define QCCWAVZEROTREE_SYMBOLINSIGNIFICANT 2 /* isolated zero */#define QCCWAVZEROTREE_SYMBOLZTROOT 3#define QCCWAVZEROTREE_SYMBOLTEMP 4#define QCCWAVZEROTREE_NUMSYMBOLS 4#define QCCWAVZEROTREE_WHOLETREE -1typedef struct{ QccString filename; QccString magic_num; int major_version; int minor_version; int image_num_cols; int image_num_rows; double image_mean; int num_levels; /* num_subbands = 3*num_levels + 1 */ int num_subbands; int alphabet_size; int *num_cols; /* 0:(num_subbands - 1) */ int *num_rows; /* 0:(num_subbands - 1) */ char ***zerotree; /* 0:(num_subbands - 1) */} QccWAVZerotree;int QccWAVZerotreeInitialize(QccWAVZerotree *zerotree);int QccWAVZerotreeCalcSizes(const QccWAVZerotree *zerotree);int QccWAVZerotreeAlloc(QccWAVZerotree *zerotree);void QccWAVZerotreeFree(QccWAVZerotree *zerotree);int QccWAVZerotreePrint(const QccWAVZerotree *zerotree);int QccWAVZerotreeNullSymbol(const char symbol);int QccWAVZerotreeMakeSymbolNull(char *symbol);int QccWAVZerotreeMakeSymbolNonnull(char *symbol);int QccWAVZerotreeMakeFullTree(QccWAVZerotree *zerotree);int QccWAVZerotreeMakeEmptyTree(QccWAVZerotree *zerotree);int QccWAVZerotreeRead(QccWAVZerotree *zerotree);int QccWAVZerotreeWrite(const QccWAVZerotree *zerotree);int QccWAVZerotreeCarveOutZerotree(QccWAVZerotree *zerotree, int subband, int row, int col);int QccWAVZerotreeUndoZerotree(QccWAVZerotree *zerotree, int subband, int row, int col);/* subband_pyramid3D.c */#define QCCWAVSUBBANDPYRAMID3D_MAGICNUM "SPBT"#define QCCWAVSUBBANDPYRAMID3D_DYADIC 0#define QCCWAVSUBBANDPYRAMID3D_PACKET 1typedef struct{ QccString filename; QccString magic_num; int major_version; int minor_version; int transform_type; int temporal_num_levels; int spatial_num_levels; int num_frames; int num_rows; int num_cols; int origin_frame; int origin_row; int origin_col; int subsample_pattern_frame; int subsample_pattern_row; int subsample_pattern_col; QccVolume volume;} QccWAVSubbandPyramid3D;int QccWAVSubbandPyramid3DInitialize(QccWAVSubbandPyramid3D *subband_pyramid);int QccWAVSubbandPyramid3DAlloc(QccWAVSubbandPyramid3D *subband_pyramid);void QccWAVSubbandPyramid3DFree(QccWAVSubbandPyramid3D *subband_pyramid);int QccWAVSubbandPyramid3DNumLevelsToNumSubbandsDyadic(int num_levels);int QccWAVSubbandPyramid3DNumLevelsToNumSubbandsPacket(int temporal_num_levels, int spatial_num_levels);int QccWAVSubbandPyramid3DNumSubbandsToNumLevelsDyadic(int num_subbands);int QccWAVSubbandPyramid3DCalcLevelFromSubbandDyadic(int subband, int num_levels);int QccWAVSubbandPyramid3DCalcLevelFromSubbandPacket(int subband, int temporal_num_levels, int spatial_num_levels, int *temporal_level, int *spatial_level);int QccWAVSubbandPyramid3DSubbandSize(const QccWAVSubbandPyramid3D *subband_pyramid, int subband, int *subband_num_frames, int *subband_num_rows, int *subband_num_cols);int QccWAVSubbandPyramid3DSubbandOffsets(const QccWAVSubbandPyramid3D *subband_pyramid, int subband, int *frame_offset, int *row_offset, int *col_offset);int QccWAVSubbandPyramid3DPrint(const QccWAVSubbandPyramid3D *subband_pyramid);int QccWAVSubbandPyramid3DRead(QccWAVSubbandPyramid3D *subband_pyramid);int QccWAVSubbandPyramid3DWrite(const QccWAVSubbandPyramid3D *subband_pyramid);int QccWAVSubbandPyramid3DCopy(QccWAVSubbandPyramid3D *subband_pyramid1, const QccWAVSubbandPyramid3D *subband_pyramid2);int QccWAVSubbandPyramid3DZeroSubband(QccWAVSubbandPyramid3D *subband_pyramid, int subband);int QccWAVSubbandPyramid3DSubtractMean(QccWAVSubbandPyramid3D *subband_pyramid, double *mean, const QccSQScalarQuantizer *quantizer);int QccWAVSubbandPyramid3DAddMean(QccWAVSubbandPyramid3D *subband_pyramid, double mean);int QccWAVSubbandPyramid3DDWT(QccWAVSubbandPyramid3D *subband_pyramid, int transform_type, int temporal_num_levels, int spatial_num_levels, const QccWAVWavelet *wavelet);int QccWAVSubbandPyramid3DInverseDWT(QccWAVSubbandPyramid3D *subband_pyramid, const QccWAVWavelet *wavelet);int QccWAVSubbandPyramid3DShapeAdaptiveDWT(QccWAVSubbandPyramid3D *subband_pyramid, QccWAVSubbandPyramid3D *mask, int transform_type, int temporal_num_levels, int spatial_num_levels, const QccWAVWavelet *wavelet);int QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT(QccWAVSubbandPyramid3D *subband_pyramid, QccWAVSubbandPyramid3D *mask, const QccWAVWavelet *wavelet);int QccWAVSubbandPyramid3DPacketToDyadic(QccWAVSubbandPyramid3D *subband_pyramid, int num_levels);int QccWAVSubbandPyramid3DDyadicToPacket(QccWAVSubbandPyramid3D *subband_pyramid, int temporal_num_levels, int spatial_num_levels);/* subband_pyramid3D_int.c */#define QCCWAVSUBBANDPYRAMID3DINT_MAGICNUM "SBPTI"#define QCCWAVSUBBANDPYRAMID3DINT_DYADIC QCCWAVSUBBANDPYRAMID3D_DYADIC#define QCCWAVSUBBANDPYRAMID3DINT_PACKET QCCWAVSUBBANDPYRAMID3D_PACKETtypedef struct{ QccString filename; QccString magic_num; int major_version; int minor_version; int transform_type; int temporal_num_levels; int spatial_num_levels; int num_frames; int num_rows; int num_cols; int origin_frame; int origin_row; int origin_col; int subsample_pattern_frame; int subsample_pattern_row; int subsample_pattern_col; QccVolumeInt volume;} QccWAVSubbandPyramid3DInt;int QccWAVSubbandPyramid3DIntInitialize(QccWAVSubbandPyramid3DInt *subband_pyramid);int QccWAVSubbandPyramid3DIntAlloc(QccWAVSubbandPyramid3DInt *subband_pyramid);void QccWAVSubbandPyramid3DIntFree(QccWAVSubbandPyramid3DInt *subband_pyramid);int QccWAVSubbandPyramid3DIntNumLevelsToNumSubbandsDyadic(int num_levels);int QccWAVSubbandPyramid3DIntNumLevelsToNumSubbandsPacket(int temporal_num_levels, int spatial_num_levels);int QccWAVSubbandPyramid3DIntNumSubbandsToNumLevelsDyadic(int num_subbands);int QccWAVSubbandPyramid3DIntCalcLevelFromSubbandDyadic(int subband, int num_levels);int QccWAVSubbandPyramid3DIntCalcLevelFromSubbandPacket(int subband, int temporal_num_levels, int spatial_num_levels, int *temporal_level, int *spatial_level);int QccWAVSubbandPyramid3DIntSubbandSize(const QccWAVSubbandPyramid3DInt *subband_pyramid, int subband, int *subband_num_frames, int *subband_num_rows, int *subband_num_cols);int QccWAVSubbandPyramid3DIntSubbandOffsets(const QccWAVSubbandPyramid3DInt *subband_pyramid, int subband, int *frame_offset, int *row_offset, int *col_offset);int QccWAVSubbandPyramid3DIntPrint(const QccWAV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -