Dirac - A Video Codec

Created by the British Broadcasting Corporation.


component_byteio.h
Go to the documentation of this file.
1/* ***** BEGIN LICENSE BLOCK *****
2*
3*
4* Version: MPL 1.1/GPL 2.0/LGPL 2.1
5*
6* The contents of this file are subject to the Mozilla Public License
7* Version 1.1 (the "License"); you may not use this file except in compliance
8* with the License. You may obtain a copy of the License at
9* http://www.mozilla.org/MPL/
10*
11* Software distributed under the License is distributed on an "AS IS" basis,
12* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
13* the specific language governing rights and limitations under the License.
14*
15* The Original Code is BBC Research and Development code.
16*
17* The Initial Developer of the Original Code is the British Broadcasting
18* Corporation.
19* Portions created by the Initial Developer are Copyright (C) 2004.
20* All Rights Reserved.
21*
22* Contributor(s): Andrew Kennedy (Original Author)
23*
24* Alternatively, the contents of this file may be used under the terms of
25* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser
26* Public License Version 2.1 (the "LGPL"), in which case the provisions of
27* the GPL or the LGPL are applicable instead of those above. If you wish to
28* allow use of your version of this file only under the terms of the either
29* the GPL or LGPL and not to allow others to use your version of this file
30* under the MPL, indicate your decision by deleting the provisions above
31* and replace them with the notice and other provisions required by the GPL
32* or LGPL. If you do not delete the provisions above, a recipient may use
33* your version of this file under the terms of any one of the MPL, the GPL
34* or the LGPL.
35* ***** END LICENSE BLOCK ***** */
36
40#ifndef component_byteio_h
41#define component_byteio_h
42
43
44//LOCAL INCLUDES
45#include <libdirac_byteio/byteio.h> // Parent class
46#include <libdirac_byteio/subband_byteio.h> // child-type
47
48// DIRAC includes
49
50// SYSTEM INCLUDES
51#include <vector>
52
53namespace dirac
54{
58 class ComponentByteIO : public ByteIO
59 {
60 public:
61
68 const ByteIO& byteIO);
69
75
80
85 void CollateByteStats(DiracByteStats& dirac_byte_stats);
86
91 void AddSubband(SubbandByteIO *p_subband_byteio);
92
96 bool Input();
97
101 void Output();
102
103
104
105 protected:
106
107
108 private:
109
114
118 std::vector<ByteIO*> m_subband_list;
119
120
121 };
122
123} // namespace dirac
124
125#endif
Definition of class SequenceHeaderByteIO.
Definition: accessunit_byteio.h:52
CompSort
Types of picture component.
Definition: common.h:87
Class ByteIO - top-level class for reading/writing bytes to a stream.
Definition: byteio.h:73
Picture component in Dirac bytestream format.
Definition: component_byteio.h:59
ComponentByteIO(CompSort cs, const ByteIO &byteIO)
Constructor.
CompSort m_compsort
Picture component type.
Definition: component_byteio.h:113
void Output()
Outputs picture values to Dirac stream-format.
bool Input()
Inputs data from Dirac stream-format.
std::vector< ByteIO * > m_subband_list
List of subbands in output/input order.
Definition: component_byteio.h:118
void CollateByteStats(DiracByteStats &dirac_byte_stats)
Gathers byte stats on the component data.
~ComponentByteIO()
Destructor.
void AddSubband(SubbandByteIO *p_subband_byteio)
Add a subband byte-stream to this component.
ComponentByteIO(CompSort cs)
Constructor.
Class DiracByteStats - for collecting statistics on aspects of the Dirac byte-stream.
Definition: dirac_byte_stats.h:71
Subband Dirac-bytestream input/output.
Definition: subband_byteio.h:57

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.