wavfile(3)
NAME
WavFile
SYNOPSIS
#include <WavFile.h> Inherits CvrStgFile. Public Member Functions WavFile (void) WavFile (BinaryIO *io) ~WavFile (void) void read (BinaryIO *io) void write (void) std::list< CvrStgFile::Property > getProperties (void) const unsigned long getNumSamples (void) const void replaceSample (const SamplePos pos, const SampleValue *s) SampleValue * getSampleValue (SamplePos pos) const std::vector< SampleValueAdjacencyList * > calcSVAdjacencyLists (const std::vector< SampleValue * > &svs) const std::vector< MatchingAlgorithm * > getMatchingAlgorithms (Graph *g, Matching *m) const unsigned short getBitsPerSample (void) const Private Member Functions void readheaders (void) void readdata (void) void writeheaders (void) void writedata (void) void calcpos (SamplePos n, unsigned long *bytepos, unsigned short *firstbitpos) const unsigned short getFirstBitPosinSample (void) unsigned short getBytesPerSample (void) Private Attributes WavChunkHeader * riffchhdr char id_wave [4] WavFormatChunk * FormatChunk WavChunkHeader * datachhdr std::vector< unsigned char > data_small this std::vector contains the wav data if BitsPerSample <= 8 std::vector< int > data_large this std::vector contains the wav data if BitsPerSample >8 std::vector< WavChunkUnused * > UnusedBeforeData std::vector< BYTE > UnusedAfterData Static Private Attributes static const signed short FormatPCM = 1 static const unsigned short SamplesPerVertex = 2 static const UWORD32 Radius_small = 1 static const UWORD32 Radius_large = 20 static const EmbValue EmbValueModulus = 2
Constructor & Destructor Documentation
WavFile::WavFile (void)
WavFile::WavFile (BinaryIO * io)
WavFile::~WavFile (void)
Member Function Documentation
- void WavFile::read (BinaryIO * io) [virtual]
- Reimplemented from CvrStgFile.
- void WavFile::write (void) [virtual]
- Reimplemented from CvrStgFile.
- std::list< CvrStgFile::Property > WavFile::getProperties (void) const
- [virtual]
Implements CvrStgFile. - unsigned long WavFile::getNumSamples (void) const [virtual]
- get the number of samples in this CvrStgObject
- Implements CvrStgObject.
- void WavFile::replaceSample (const SamplePos pos, const SampleValue * s)
- [virtual]
replace a sample thus (possibly) altering the value of the bit returned by SampleValue->getBit() - Parameters:
pos the position of the sample (must be in 0...getNumSamples()-1) s the sample value that should replace the current sample value
(must be of correct type for this CvrStgObject) - The derived class should check the condition(s) given above in its
Implementation of this function. - Implements CvrStgObject.
- SampleValue * WavFile::getSampleValue (SamplePos pos) const [virtual]
- get the sample at position pos
- Parameters:
pos the position of a sample (must be in 0...getNumSamples()-1)
- Returns:
the sample at the given position
- The sample object is created in this function and should be deleted by the caller. The derived class should check the condition(s) given above in its Implementation of this function.
- Implements CvrStgObject.
- std::vector< SampleValueAdjacencyList * > WavFile::calcSVAdjacencyLists
- (const std::vector< SampleValue * > & svs) const [virtual] calculate a vector a SampleValueAdjacencyLists
- Parameters:
svs a vector of unique(!) sample values where svs[i]->getLabel() == i holds for all i
- Returns:
a vector of SampleValueAdjacencyLists where retval[i] only contains sample values with getEmbValue() == i
- Every row in the adjacency lists must be sorted in the following order:
The first sample value has the least distance to the source sample
value, the last has the largest distance. If two sample values in one
row have the same distance to the source sample value, the order does
not matter. - May be overridden in derived class to provide a faster version.
- Reimplemented from CvrStgFile.
- std::vector< MatchingAlgorithm * > WavFile::getMatchingAlgorithms (Graph *
- g, Matching * m) const [virtual] get recommended list of matching algorithms
- Parameters:
m an empty matching - will be used in construction of
MatchingAlgorithm objects - The MatchingAlgorithm objects returned by this function should be deleted by the caller if they are no longer needed.
- Reimplemented from CvrStgFile.
- unsigned short WavFile::getBitsPerSample (void) const void WavFile::readheaders (void) [private] void WavFile::readdata (void) [private] void WavFile::writeheaders (void) [private] void WavFile::writedata (void) [private] void WavFile::calcpos (SamplePos n, unsigned long * bytepos, unsigned short
- * firstbitpos) const [private]
- unsigned short WavFile::getFirstBitPosinSample (void) [private]
- get the position of the first bit (of the first byte) containing the
actual sample data - Returns:
the bit position (where 0 is the lsb and 7 the msb)
- unsigned short WavFile::getBytesPerSample (void) [private]
Member Data Documentation
- const signed short WavFile::FormatPCM = 1 [static, private] const unsigned short WavFile::SamplesPerVertex = 2 [static, private]
- Reimplemented from CvrStgFile.
- const UWORD32 WavFile::Radius_small = 1 [static, private] const UWORD32 WavFile::Radius_large = 20 [static, private] const EmbValue WavFile::EmbValueModulus = 2 [static, private]
- Reimplemented from CvrStgFile.
- WavChunkHeader* WavFile::riffchhdr [private] char WavFile::id_wave[4] [private] WavFormatChunk* WavFile::FormatChunk [private] WavChunkHeader* WavFile::datachhdr [private] std::vector<unsigned char> WavFile::data_small [private] std::vector<int> WavFile::data_large [private] std::vector<WavChunkUnused*> WavFile::UnusedBeforeData [private] std::vector<BYTE> WavFile::UnusedAfterData [private]
Author
- Generated automatically by Doxygen for steghide from the source code.