steghide
0.5.1
Main Page
Classes
Files
File List
File Members
src
AuFile.h
Go to the documentation of this file.
1
/*
2
* steghide 0.5.1 - a steganography program
3
* Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at>
4
*
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
*
19
*/
20
21
#ifndef SH_AUFILE_H
22
#define SH_AUFILE_H
23
24
#include <vector>
25
26
#include "
AudioData.h
"
27
#include "
CvrStgFile.h
"
28
29
class
BinaryIO
;
30
35
class
AuFile
:
public
CvrStgFile
{
36
public
:
37
AuFile
(
BinaryIO
*io) ;
38
~AuFile
(
void
) ;
39
40
void
read
(
BinaryIO
*io) ;
41
void
write
(
void
) ;
42
43
std::list<CvrStgFile::Property>
getProperties
(
void
)
const
;
44
std::vector<MatchingAlgorithm*>
getMatchingAlgorithms
(
Graph
* g,
Matching
* m)
const
;
45
46
unsigned
long
getNumSamples
(
void
)
const
47
{
return
Data
->
getNumSamples
() ; } ;
48
49
void
replaceSample
(
const
SamplePos
pos,
const
SampleValue
* s)
50
{
return
Data
->
replaceSample
(pos, s) ; } ;
51
52
SampleValue
*
getSampleValue
(
SamplePos
pos)
const
53
{
return
Data
->
getSampleValue
(pos) ; } ;
54
55
private
:
56
enum
ENCODING
{
MULAW8
= 1,
PCM8
= 2,
PCM16
= 3 } ;
57
class
AuHeader
{
58
public
:
59
char
id
[4] ;
60
UWORD32
offset
;
61
UWORD32
size
;
62
ENCODING
encoding
;
63
UWORD32
samplerate
;
64
UWORD32
channels
;
65
66
static
const
UWORD32
SizeUnknown
= 0xFFFFFFFF ;
67
static
const
unsigned
short
HeaderSize
= 24 ;
68
69
unsigned
short
getBytesPerSample
(
void
)
const
;
70
} ;
71
72
static
const
UWORD32
Radius_MuLaw8
= 1 ;
73
static
const
UWORD32
Radius_PCM8
= 1 ;
74
static
const
UWORD32
Radius_PCM16
= 20 ;
75
static
const
unsigned
short
SamplesPerVertex
= 2 ;
76
static
const
EmbValue
EmbValueModulus
= 2 ;
77
78
AuHeader
Header
;
79
std::vector<BYTE>
Infofield
;
80
AudioData
*
Data
;
81
} ;
82
83
#endif
/* ndef SH_AUFILE_H */
Generated on Mon Jan 14 2013 04:45:06 for steghide by
1.8.3