# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

transform_byteio.h
Go to the documentation of this file.
1/* ***** BEGIN LICENSE BLOCK *****
2*
3* $Id: transform_byteio.h,v 1.2 2008/01/31 11:25:15 tjdwave Exp $ $Name: Dirac_1_0_2 $
4*
5* Version: MPL 1.1/GPL 2.0/LGPL 2.1
6*
7* The contents of this file are subject to the Mozilla Public License
8* Version 1.1 (the "License"); you may not use this file except in compliance
9* with the License. You may obtain a copy of the License at
10* http://www.mozilla.org/MPL/
11*
12* Software distributed under the License is distributed on an "AS IS" basis,
13* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
14* the specific language governing rights and limitations under the License.
15*
16* The Original Code is BBC Research and Development code.
17*
18* The Initial Developer of the Original Code is the British Broadcasting
19* Corporation.
20* Portions created by the Initial Developer are Copyright (C) 2004.
21* All Rights Reserved.
22*
23* Contributor(s): Anuradha Suraparaju (Original Author)
24* Andrew Kennedy
25*
26* Alternatively, the contents of this file may be used under the terms of
27* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser
28* Public License Version 2.1 (the "LGPL"), in which case the provisions of
29* the GPL or the LGPL are applicable instead of those above. If you wish to
30* allow use of your version of this file only under the terms of the either
31* the GPL or LGPL and not to allow others to use your version of this file
32* under the MPL, indicate your decision by deleting the provisions above
33* and replace them with the notice and other provisions required by the GPL
34* or LGPL. If you do not delete the provisions above, a recipient may use
35* your version of this file under the terms of any one of the MPL, the GPL
36* or the LGPL.
37* ***** END LICENSE BLOCK ***** */
38
42#ifndef TRANSFORM_BYTEIO_H
43#define TRANSFORM_BYTEIO_H
44
45// DIRAC INCLUDES
46#include <libdirac_common/common.h> // EncParams
47
48//LOCAL INCLUDES
49#include <libdirac_byteio/byteio.h> // Parent class
50#include <libdirac_byteio/component_byteio.h> // Contains tranform-component
51
52
53 namespace dirac
54{
55
59 class TransformByteIO : public ByteIO
60 {
61 public:
62
68 TransformByteIO(PictureParams& fparams,
69 CodecParams& c_params);
70
77 TransformByteIO(ByteIO &byte_io, PictureParams& fparams,
78 CodecParams& c_params);
79
83 virtual ~TransformByteIO();
84
89 void CollateByteStats(DiracByteStats& dirac_byte_stats);
90
94 void Output();
95
99 void Input();
100
101
105 virtual const std::string GetBytes();
106
110 int GetSize() const;
111
116 void AddComponent(ComponentByteIO *component_byteio);
117
118 protected:
119
120
121 private:
122
126 PictureParams& m_fparams;
127
131 CodecParams& m_cparams;
132
136 CodecParams m_default_cparams;
137
138 /***
139 * Transform Component data
140 */
141 std::vector<ComponentByteIO *> m_component_list;
142 };
143
144} // namespace dirac
145
146#endif
byteio.h
component_byteio.h
common.h
dirac
Definition of class SequenceHeaderByteIO.
Definition: accessunit_byteio.h:52
dirac::ByteIO
Class ByteIO - top-level class for reading/writing bytes to a stream.
Definition: byteio.h:73
dirac::ComponentByteIO
Picture component in Dirac bytestream format.
Definition: component_byteio.h:59
dirac::DiracByteStats
Class DiracByteStats - for collecting statistics on aspects of the Dirac byte-stream.
Definition: dirac_byte_stats.h:71
dirac::TransformByteIO
Represents compressed sequence-parameter data used in an AccessUnit.
Definition: transform_byteio.h:60
dirac::TransformByteIO::m_default_cparams
CodecParams m_default_cparams
Default Codec params - EncParams for Output and DecParams for input.
Definition: transform_byteio.h:136
dirac::TransformByteIO::GetBytes
virtual const std::string GetBytes()
Get string containing coded bytes.
dirac::TransformByteIO::TransformByteIO
TransformByteIO(PictureParams &fparams, CodecParams &c_params)
Output Constructor.
dirac::TransformByteIO::~TransformByteIO
virtual ~TransformByteIO()
Destructor.
dirac::TransformByteIO::TransformByteIO
TransformByteIO(ByteIO &byte_io, PictureParams &fparams, CodecParams &c_params)
Input Constructor.
dirac::TransformByteIO::CollateByteStats
void CollateByteStats(DiracByteStats &dirac_byte_stats)
Gathers byte stats on the transform data.
dirac::TransformByteIO::Input
void Input()
Outputs sequence information to Dirac byte-format.
dirac::TransformByteIO::m_component_list
std::vector< ComponentByteIO * > m_component_list
Definition: transform_byteio.h:141
dirac::TransformByteIO::m_cparams
CodecParams & m_cparams
Codec params - EncParams for Output and DecParams for input.
Definition: transform_byteio.h:131
dirac::TransformByteIO::AddComponent
void AddComponent(ComponentByteIO *component_byteio)
Adds a Picture-component in Dirac-bytestream format.
dirac::TransformByteIO::GetSize
int GetSize() const
Return the size.
dirac::TransformByteIO::m_fparams
PictureParams & m_fparams
Sequence paramters for intput/output.
Definition: transform_byteio.h:126
dirac::TransformByteIO::Output
void Output()
Outputs sequence information to Dirac byte-format.
dirac::PictureParams
Parameters for initialising picture class objects.
Definition: common.h:533
dirac::CodecParams
Parameters common to coder and decoder operation.
Definition: common.h:1099

© 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.