📄 hpbit_markers.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 + -