tcq_dequant_local.h

来自「JPEG2000实现的源码」· C头文件 代码 · 共 108 行

H
108
字号
/*****************************************************************************/
/* Copyright 1999 Science Applications International Corporation (SAIC).     */
/* Copyright 1999 University of Arizona, Arizona Board of Regents.           */
/* All rights reserved                                                       */
/* File: "tcq_dequant_local.h"                                               */
/* Description: Trellis coded dequantization                                 */
/* Author: Joe Triscari/Tom Flohr                                            */
/* Affiliation: SAIC                                                         */
/* Version: VM8.0                                                            */
/* Last Revised: 20 July, 2000                                               */
/*****************************************************************************/

/*****************************************************************************/
/* Modified by David Taubman to support arbitrary reference points for the   */
/* transform and the various regular partitions, so as to facilitate         */
/* cropping and geometric transformations in the compressed domain and to    */
/* enable full support for CRF's single-sample overlap Wavelet transform,    */
/* as originally documented in Seoul.  Changes are too numerous to flag      */
/* individually within the code.  Changes copyrighted by HP with all rights  */
/* reserved for the modified parts.                                          */
/*****************************************************************************/

/*****************************************************************************/
/* Modified for general wavelet decompositions.                              */
/* Copyright 2000 Science Applications International Corporation (SAIC).     */
/* Copyright 1995 University of Arizona, Arizona Board of Regents.           */
/* All Rights Reserved for modified parts.                                   */
/*****************************************************************************/

#ifndef TCQ_DEQUANT_LOCAL_H
#define TCQ_DEQUANT_LOCAL_H

#include <stdio.h>

#define TCQ_MEM_KEY "TCQ QUANTIZATION OBJECT MEMORY"

/*****************************************************************************/
/*                               tcq_band_info                              */
/*****************************************************************************/

typedef
  struct tcq_band_info {
    int extra_lsbs;
    float scale; /* Scaling factor for floating point data. */
    float **line_buffer;
    int lines_left_in_buffer;
    int next_line_idx;
    int first_block_width, first_block_height;
    int next_block_height, remaining_tile_height;
    int block_width, block_height;

    /* SAIC General Decomp. Begin */
    int valid_band;
    /* SAIC General Decomp. End */

  } tcq_band_info, *tcq_band_info_ptr;

/*****************************************************************************/
/*                              tcq_level_info                              */
/*****************************************************************************/

typedef
  struct tcq_level_info {
    int min_band;
    int max_band;
    tcq_band_info_ptr bands;
  } tcq_level_info, *tcq_level_info_ptr;

/*****************************************************************************/
/*                            tcq_component_info                             */
/*****************************************************************************/

typedef
  struct tcq_component_info {
    int num_levels;
    tcq_level_info_ptr levels;
    int sample_downshift; /** for visual masking, added by W.Zeng **/
  } tcq_component_info, *tcq_component_info_ptr;

/*****************************************************************************/
/*                            tcq_quantizer_obj                              */
/*****************************************************************************/

typedef
  struct tcq_dequantizer_obj {
    dequantizer_obj base;
    int num_components;
    tcq_component_info_ptr components;
    decoder_ref decoder;
    reverse_info_ref info;
    stream_in_ref stream;
    int tnum;
    int use_approximate_itcq;

    /* SAIC General Decomp. Begin */
    char *wt_output_file;
    float **wt_output;
    int *min_band;
    int *max_band;
    canvas_dims **band_dims;
    int **current_band_line;
    int **valid_band;
    /* SAIC General Decomp. End */

  } tcq_dequantizer_obj, *tcq_dequantizer_ref;

#endif /* TCQ_DEQUANT_LOCAL_H */

⌨️ 快捷键说明

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