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

📄 dwt_int.c

📁 spiht for linux this is used to decod and encode vedio i wich all enjoy
💻 C
📖 第 1 页 / 共 2 页
字号:
    return(0);  if (wavelet == NULL)    return(0);    if (num_scales <= 0)    return(0);    original_num_frames = num_frames;  original_num_rows = num_rows;  original_num_cols = num_cols;    for (scale = 0; scale < num_scales; scale++)    {      phase_frame = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_frame,                                                    subsample_pattern_frame);      phase_row = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_row,                                                  subsample_pattern_row);      phase_col = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_col,                                                  subsample_pattern_col);            if (QccWAVWaveletAnalysis3DInt(volume,                                     num_frames,                                     num_rows,                                     num_cols,                                     phase_frame,                                     phase_row,                                     phase_col,                                     wavelet))        {          QccErrorAddMessage("(QccWAVWaveletDyadicDWT3DInt): Error calling QccWAVWaveletAnalysis3DInt()");          goto Error;        }            num_frames =        QccWAVWaveletDWTSubbandLength(original_num_frames, scale + 1,                                      0, origin_frame,                                      subsample_pattern_frame);      num_rows =        QccWAVWaveletDWTSubbandLength(original_num_rows, scale + 1,                                      0, origin_row,                                      subsample_pattern_row);      num_cols =        QccWAVWaveletDWTSubbandLength(original_num_cols, scale + 1,                                      0, origin_col,                                      subsample_pattern_col);    }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  return(return_value);}int QccWAVWaveletInverseDyadicDWT3DInt(QccVolumeInt volume,                                       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,                                       int num_scales,                                       const QccWAVWavelet *wavelet){  int return_value;  int scale;  int original_num_frames = 0;  int original_num_rows = 0;  int original_num_cols = 0;  int phase_frame;  int phase_row;  int phase_col;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if (num_scales <= 0)    return(0);    original_num_frames = num_frames;  original_num_rows = num_rows;  original_num_cols = num_cols;    for (scale = num_scales - 1; scale >= 0; scale--)    {      num_frames =        QccWAVWaveletDWTSubbandLength(original_num_frames, scale,                                      0, origin_frame,                                      subsample_pattern_frame);      num_rows =        QccWAVWaveletDWTSubbandLength(original_num_rows, scale,                                      0, origin_row,                                      subsample_pattern_row);      num_cols =        QccWAVWaveletDWTSubbandLength(original_num_cols, scale,                                      0, origin_col,                                      subsample_pattern_col);            phase_frame = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_frame,                                                    subsample_pattern_frame);      phase_row = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_row,                                                  subsample_pattern_row);      phase_col = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_col,                                                  subsample_pattern_col);      if (QccWAVWaveletSynthesis3DInt(volume,                                      num_frames,                                      num_rows,                                      num_cols,                                      phase_frame,                                      phase_row,                                      phase_col,                                      wavelet))        {          QccErrorAddMessage("(QccWAVWaveletInverseDyadicDWT3DInt): Error calling QccWAVWaveletSynthesis3DInt()");          goto Error;        }    }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  return(return_value);}int QccWAVWaveletPacketDWT3DInt(QccVolumeInt volume,                                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,                                int temporal_num_scales,                                int spatial_num_scales,                                const QccWAVWavelet *wavelet){  int return_value;  int frame, row, col;  QccVectorInt temp_z = NULL;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if (temporal_num_scales > 0)    {      if ((temp_z = QccVectorIntAlloc(num_frames)) == NULL)        {          QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccVectorIntAlloc()");          goto Error;        }            for (row = 0; row < num_rows; row++)        for (col = 0; col < num_cols; col++)          {            for (frame = 0; frame < num_frames; frame++)              temp_z[frame] = volume[frame][row][col];                        if (QccWAVWaveletDWT1DInt(temp_z,                                      num_frames,                                      origin_frame,                                      subsample_pattern_frame,                                      temporal_num_scales,                                      wavelet))              {                QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccWAVWaveletDWT1DInt()");                goto Error;              }                        for (frame = 0; frame < num_frames; frame++)              volume[frame][row][col] = temp_z[frame];          }    }    if (spatial_num_scales > 0)    for (frame = 0; frame < num_frames; frame++)      if (QccWAVWaveletDWT2DInt(volume[frame],                                num_rows,                                num_cols,                                origin_row,                                origin_col,                                subsample_pattern_row,                                subsample_pattern_col,                                spatial_num_scales,                                wavelet))        {          QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccWAVWaveletDWT2DInt()");          goto Error;        }        return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVectorIntFree(temp_z);  return(return_value);}int QccWAVWaveletInversePacketDWT3DInt(QccVolumeInt volume,                                       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,                                       int temporal_num_scales,                                       int spatial_num_scales,                                       const QccWAVWavelet *wavelet){  int return_value;  int frame, row, col;  QccVectorInt temp_z = NULL;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if (spatial_num_scales > 0)    for (frame = 0; frame < num_frames; frame++)      if (QccWAVWaveletInverseDWT2DInt(volume[frame],                                       num_rows,                                       num_cols,                                       origin_row,                                       origin_col,                                       subsample_pattern_row,                                       subsample_pattern_col,                                       spatial_num_scales,                                       wavelet))        {          QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccWAVWaveletInverseDWT2DInt()");          goto Error;        }    if (temporal_num_scales > 0)    {      if ((temp_z = QccVectorIntAlloc(num_frames)) == NULL)        {          QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccVectorIntAlloc()");          goto Error;        }            for (row = 0; row < num_rows; row++)        for (col = 0; col < num_cols; col++)          {            for (frame = 0; frame < num_frames; frame++)              temp_z[frame] = volume[frame][row][col];                        if (QccWAVWaveletInverseDWT1DInt(temp_z,                                             num_frames,                                              origin_frame,                                             subsample_pattern_frame,                                             temporal_num_scales,                                             wavelet))              {                QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccWAVWaveletInverseDWT1DInt()");                goto Error;              }                        for (frame = 0; frame < num_frames; frame++)              volume[frame][row][col] = temp_z[frame];          }    }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVectorIntFree(temp_z);  return(return_value);}

⌨️ 快捷键说明

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