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

📄 hpbit_markers.h

📁 关于视频压缩的jpeg2000压缩算法,C编写
💻 H
字号:
/*****************************************************************************//* Copyright 1998, Hewlett-Packard Company                                   *//* All rights reserved                                                       *//* File: "hpbit_markers.h"                                                   *//* Description: Internal structure of markers "hpbit_stream_out.c"           *//* Author: David Taubman                                                     *//* Affiliation: Hewlett-Packard and                                          *//*              The University of New South Wales, Australia                 *//* Version: VM6.0                                                            *//* Last Revised: 6 January, 2000                                             *//*****************************************************************************//*****************************************************************************//* Modified by Gene Wu to add real markers for COD/COC, and QCD/QCC.         *//* All changes copyrighted 2000 by Ricoh Silicon Valley  with all rights     *//* reserved for the modified parts.                                          *//*****************************************************************************/#ifndef HPBIT_MARKERS_H#define HPBIT_MARKERS_H/* ========================================================================= *//* ------------------ Internal organization of CME marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                                  cme_marker                               *//*****************************************************************************/typedef  struct cme_marker {    std_ushort CME;    std_ushort Lcme;    std_ushort Rcme;  } cme_marker, *cme_marker_ptr;  /* The fields of this marker are immediately followed by the Ccme data. *//* ========================================================================= *//* ------------------ Internal organization of SOT marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                                 sot_marker                                *//*****************************************************************************/typedef  struct sot_marker {    std_ushort SOT;    std_ushort Lsot;    std_ushort Isot;    std_uint Psot;    std_byte TPsot;    std_byte NTPsot; /* Number of tile-parts.  May be zero in any tile-part                        other than the first; otherwise, must be the same                        for all tile-parts in the tile. */  } sot_marker, *sot_marker_ptr;/* ========================================================================= *//* ------------------ Internal organization of ERS marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                                 ers_marker                                *//*****************************************************************************/typedef  struct ers_marker {    std_ushort ERS;    std_ushort Lers;    std_byte Sers;  } ers_marker, *ers_marker_ptr;/* ========================================================================= *//* ------------------ Internal organization of POC marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                                 poc_marker                                *//*****************************************************************************/typedef  struct poc_marker {    std_ushort POC;    std_ushort Lpoc;  } poc_marker, *poc_marker_ptr;  /* Non-variable part of POC marker. *//*****************************************************************************//*                               poc_var_short                               *//*****************************************************************************/typedef  struct poc_var_short {    std_ushort LYpoc;    std_byte Rpoc;    std_byte Cpoc;    std_byte Ppoc;  } poc_var_short, *poc_var_short_ptr;  /* Variable part of POC marker when number of components <= 255. *//*****************************************************************************//*                               poc_var_long                                *//*****************************************************************************/typedef  struct poc_var_long {    std_ushort LYpoc;    std_byte Rpoc;    std_ushort Cpoc;    std_byte Ppoc;  } poc_var_long, *poc_var_long_ptr;  /* Variable part of POC marker when number of components >= 256. *//* ========================================================================= *//* ------------------ Internal organization of RGN marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                              rgn_marker_short                             *//*****************************************************************************/typedef  struct rgn_marker_short {    std_ushort RGN;    std_ushort Lrgn;    std_byte Crgn;    std_byte Srgn;    std_byte SPrgn;  } rgn_marker_short, *rgn_marker_short_ptr;  /* Short form when number of components <= 255. *//*****************************************************************************//*                               rgn_marker_long                             *//*****************************************************************************/typedef  struct rgn_marker_long {    std_ushort RGN;    std_ushort Lrgn;    std_ushort Crgn;    std_byte Srgn;    std_byte SPrgn;  } rgn_marker_long, *rgn_marker_long_ptr;  /* Long form when number of components >= 256. *//* ========================================================================= *//* ------------------ Internal organization of SIZ marker ------------------ *//* ========================================================================= *//*****************************************************************************//*                                 siz_marker                                *//*****************************************************************************/typedef  struct siz_marker {    std_ushort SIZ;    std_ushort Lsiz;    std_ushort Rsiz;    std_uint Xsiz;    std_uint Ysiz;    std_uint XOsiz;    std_uint YOsiz;    std_uint XTsiz;    std_uint YTsiz;    std_uint XTOsiz;    std_uint YTOsiz;    std_ushort Csiz;    std_byte CSsiz;  } siz_marker, *sizfo_marker_ptr;  /* The Ssiz, XRsiz and YRsiz quantities appear at the end of the     marker. *//*****************************************************************************//*                                 cod_marker                                *//*****************************************************************************/typedef  struct cod_marker {    std_ushort COD;    std_ushort Lcod;    std_byte prog;    std_ushort layers;    std_byte Scod;    std_byte level;    std_byte xcb;    std_byte ycb;    std_byte mod;    std_byte rev;    std_byte decomp;    std_byte kernel;    std_byte supp;    std_byte taps;    std_byte ppx;    std_byte ppy;    std_byte xcl;    std_byte ycl;    std_byte xap;    std_byte yap;    std_byte ccb;    std_byte ssox;    std_byte ssoy;  } cod_marker, *codfo_marker_ptr;/*****************************************************************************//*                                 coc_marker                                *//*****************************************************************************/typedef  struct coc_marker {    std_ushort COC;    std_ushort Lcoc;    std_ushort Ccoc;    std_byte Scoc;    std_byte level;    std_byte decomp;    std_byte rev;    std_byte kernel;    std_byte supp;    std_byte taps;    std_byte xcb;    std_byte ycb;    std_byte ppx;    std_byte ppy;    std_byte xcl;    std_byte ycl;    std_byte xap;    std_byte yap;    std_byte ccb;    std_byte ssox;    std_byte ssoy;    std_byte mod;  } coc_marker, *cocfo_marker_ptr;/*****************************************************************************//*                                 qcd_marker                                *//*****************************************************************************/typedef  struct qcd_marker {    std_ushort QCD;    std_ushort Lqcd;    std_byte Sqcd;  } qcd_marker, *qcdfo_marker_ptr;/*****************************************************************************//*                                 qcc_marker                                *//*****************************************************************************/typedef  struct qcc_marker {    std_ushort QCC;    std_ushort Lqcc;    std_ushort Cqcc;    std_byte Sqcc;    std_byte *data;  } qcc_marker, *qccfo_marker_ptr;#endif /* HPBIT_MARKERS_H */

⌨️ 快捷键说明

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