⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libqccpackwav.h

📁 QccPack implementation in C
💻 H
📖 第 1 页 / 共 5 页
字号:
                                    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 "SP3"#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);/*  sfq.c  */#define QCCWAVSFQ_MEANQUANTIZER_STEPSIZE 1.0#define QCCWAVSFQ_BASEBANDQUANTIZER_START_STEPSIZE 7.6#define QCCWAVSFQ_BASEBANDQUANTIZER_END_STEPSIZE 32.0#define QCCWAVSFQ_BASEBANDQUANTIZER_INCREMENT 0.1#define QCCWAVSFQ_HIGHPASSQUANTIZER_START_STEPSIZE 7.6#define QCCWAVSFQ_HIGHPASSQUANTIZER_END_STEPSIZE 32.0#define QCCWAVSFQ_HIGHPASSQUANTIZER_INCREMENT 0.1#define QCCWAVSFQ_PREDICTOR 3#define QCCWAVSFQ_ZEROTREE_STARTSUBBAND 1int QccWAVsfqWaveletAnalysis(const QccIMGImageComponent *input_image,                             QccWAVSubbandPyramid *subband_pyramid,                             QccWAVZerotree *zerotree,                             const QccSQScalarQuantizer *mean_quantizer,                             const QccWAVWavelet *wavelet,                             const QccWAVPerceptualWeights *perceptual_weights,                             double lambda);int QccWAVsfqBasebandEncode(const QccWAVSubbandPyramid *subband_pyramid,                            QccWAVZerotree *zerotree,                            QccSQScalarQuantizer *baseband_quantizer,                            QccChannel *channels,                            double lambda,                            QccIMGImageComponent *reconstructed_baseband);int QccWAVsfqHighpassEncode(const QccWAVSubbandPyramid *subband_pyramid,                            QccWAVZerotree *zerotree,                            QccSQScalarQuantizer *highpass_quantizer,                            QccChannel *channels,                            double lambda,                            int *high_tree_thresholds,                            int *low_tree_thresholds,                            QccIMGImageComponent *reconstructed_baseband);int QccWAVsfqDecode(QccBitBuffer *input_buffer,                    QccIMGImageComponent *output_image,                    QccWAVZerotree *zerotree,                    const QccSQScalarQuantizer *baseband_quantizer,                    const QccSQScalarQuantizer *highpass_quantizer,                    int *high_tree_thresholds,                    int *low_tree_thresholds,                    QccChannel *channels,                    const QccWAVWavelet *wavelet,                    const QccWAVPerceptualWeights *perceptual_weights);int QccWAVsfqAssembleBitstreamHeader(const QccWAVZerotree *zerotree,                                     const QccSQScalarQuantizer                                     *mean_quantizer,                                     const QccSQScalarQuantizer                                     *baseband_quantizer,                                     const QccSQScalarQuantizer                                     *highpass_quantizer,                                     const int *high_tree_thresholds,                                     const int *low_tree_thresholds,                                     QccBitBuffer *output_buffer,                                     int *num_output_bits);int QccWAVsfqDisassembleBitstreamHeader(QccWAVZerotree *zerotree,                                        QccSQScalarQuantizer *mean_quantizer,                                        QccSQScalarQuantizer                                         *baseband_quantizer,                                        QccSQScalarQuantizer                                        *highpass_quantizer,                                        int *no_tree_prediction,                                        QccBitBuffer *input_buffer);int QccWAVsfqAssembleBitstream(const QccWAVZerotree *zerotree,                               const QccSQScalarQuantizer *mean_quantizer,                               const QccSQScalarQuantizer *baseband_quantizer,                               const QccSQScalarQuantizer *highpass_quantizer,                               const QccChannel *channels,                               const int *high_tree_thresholds,                               const int *low_tree_thresholds,                               QccBitBuffer *output_buffer,                               double *rate_header,                               double *rate_zerotree,                               double *rate_channels);int QccWAVsfqDisassembleBitstreamZerotree(int num_subbands,                                          int *high_tree_thresholds,                                          int *low_tree_thresholds,                                          int *zerotree_symbols,                                          QccBitBuffer *input_buffer);int QccWAVsfqDisassembleBitstreamChannel(QccENTArithmeticModel *model,                                         QccWAVZerotree *zerotree,                                          QccChannel *channels,                                          int subband,                                         QccBitBuffer *input_buffer);/*  sr.c  */int QccWAVsrEncode(const QccIMGImageComponent *image,                   QccBitBuffer *buffer,                   const QccSQScalarQuantizer *quantizer,                   int num_levels,                   const QccWAVWavelet *wavelet,                   const QccWAVPerceptualWeights *perceptual_weights);int QccWAVsrDecodeHeader(QccBitBuffer *buffer,                          int *num_levels,                          int *num_rows, int *num_cols,                         QccSQScalarQuantizer *quantizer,                         double *image_mean);int QccWAVsrDecode(QccBitBuffer *buffer,                   QccIMGImageComponent *image,                   const QccSQScalarQuantizer *quantizer,                   int num_levels,                   const QccWAVWavelet *wavelet,                   const QccWAVPerceptualWeights *perceptual_weights,                   double image_mean);/*  wdr.c  */typedef struct{  int row;  int col;  unsigned int index;} QccWAVwdrCoefficientBlock;int QccWAVwdrEncodeHeader(QccBitBuffer *buffer,                          int num_levels,                          int num_rows,                          int num_cols,                          double image_mean,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -