corrade-vassal – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 vero 1 /*
2 * CVS identifier:
3 *
4 * $Id: EBCOTLayer.java,v 1.9 2001/05/16 09:40:58 grosbois Exp $
5 *
6 * Class: EBCOTLayer
7 *
8 * Description: Storage for layer information,
9 * used by EBCOTRateAllocator
10 *
11 * class that was in EBCOTRateAllocator.
12 *
13 *
14 * COPYRIGHT:
15 *
16 * This software module was originally developed by Raphaël Grosbois and
17 * Diego Santa Cruz (Swiss Federal Institute of Technology-EPFL); Joel
18 * Askelöf (Ericsson Radio Systems AB); and Bertrand Berthelot, David
19 * Bouchard, Félix Henry, Gerard Mozelle and Patrice Onno (Canon Research
20 * Centre France S.A) in the course of development of the JPEG2000
21 * standard as specified by ISO/IEC 15444 (JPEG 2000 Standard). This
22 * software module is an implementation of a part of the JPEG 2000
23 * Standard. Swiss Federal Institute of Technology-EPFL, Ericsson Radio
24 * Systems AB and Canon Research Centre France S.A (collectively JJ2000
25 * Partners) agree not to assert against ISO/IEC and users of the JPEG
26 * 2000 Standard (Users) any of their rights under the copyright, not
27 * including other intellectual property rights, for this software module
28 * with respect to the usage by ISO/IEC and Users of this software module
29 * or modifications thereof for use in hardware or software products
30 * claiming conformance to the JPEG 2000 Standard. Those intending to use
31 * this software module in hardware or software products are advised that
32 * their use may infringe existing patents. The original developers of
33 * this software module, JJ2000 Partners and ISO/IEC assume no liability
34 * for use of this software module or modifications thereof. No license
35 * or right to this software module is granted for non JPEG 2000 Standard
36 * conforming products. JJ2000 Partners have full right to use this
37 * software module for his/her own purpose, assign or donate this
38 * software module to any third party and to inhibit third parties from
39 * using this software module for non JPEG 2000 Standard conforming
40 * products. This copyright notice must be included in all copies or
41 * derivative works of this software module.
42 *
43 * Copyright (c) 1999/2000 JJ2000 Partners.
44 * */
45 using System;
46 namespace CSJ2K.j2k.entropy.encoder
47 {
48  
49 /// <summary> This class holds information about each layer that is to be, or has already
50 /// been, allocated . It is used in the rate-allocation process to keep the
51 /// necessary layer information. It is used by EBCOTRateAllocator.
52 ///
53 /// </summary>
54 /// <seealso cref="EBCOTRateAllocator">
55 ///
56 /// </seealso>
57 class EBCOTLayer
58 {
59 /// <summary> This is the maximum number of bytes that should be allocated for this
60 /// and previous layers. This is actually the target length for the layer.
61 ///
62 /// </summary>
63 internal int maxBytes;
64  
65 /// <summary> The actual number of bytes which are consumed by the the current and
66 /// any previous layers. This is the result from a simulation when the
67 /// threshold for the layer has been set.
68 ///
69 /// </summary>
70 internal int actualBytes;
71  
72 /// <summary> If true the `maxBytes' value is the hard maximum and the threshold is
73 /// determined iteratively. If false the `maxBytes' value is a target
74 /// bitrate and the threshold is estimated from summary information
75 /// accumulated during block coding.
76 ///
77 /// </summary>
78 internal bool optimize;
79  
80 /// <summary> The rate-distortion threshold associated with the bit-stream
81 /// layer. When set the layer includes data up to the truncation points
82 /// that have a slope no smaller than 'rdThreshold'.
83 ///
84 /// </summary>
85 internal float rdThreshold;
86 }
87 }