steghide 0.5.1
|
a cover-/stego-file More...
#include <CvrStgFile.h>
Classes | |
class | Property |
Public Member Functions | |
CvrStgFile (void) | |
virtual | ~CvrStgFile (void) |
virtual void | read (BinaryIO *io) |
virtual void | write (void) |
void | transform (const std::string &fn) |
virtual std::list< Property > | getProperties (void) const =0 |
virtual std::vector< SampleValueAdjacencyList * > | calcSVAdjacencyLists (const std::vector< SampleValue * > &svs) const |
virtual std::vector< MatchingAlgorithm * > | getMatchingAlgorithms (Graph *g, Matching *m) const |
const std::string & | getName (void) const |
bool | is_std (void) const |
unsigned long | getCapacity (void) const |
std::string | getHRCapacity (void) const |
unsigned short | getSamplesPerVertex (void) const |
UWORD32 | getRadius (void) const |
EmbValue | getEmbValueModulus (void) const |
virtual EmbValue | getEmbeddedValue (const SamplePos pos) const |
![]() | |
virtual unsigned long | getNumSamples (void) const =0 |
virtual SampleValue * | getSampleValue (const SamplePos pos) const =0 |
virtual void | replaceSample (const SamplePos pos, const SampleValue *s)=0 |
Static Public Member Functions | |
static CvrStgFile * | readFile (const std::string &fn) |
Protected Member Functions | |
void | setSamplesPerVertex (unsigned short spv) |
void | setRadius (UWORD32 r) |
void | setEmbValueModulus (EmbValue m) |
void | setBinIO (BinaryIO *io) |
BinaryIO * | getBinIO (void) const |
Private Types | |
enum | FILEFORMAT { UNKNOWN , BMP , WAV , AU , JPEG } |
Static Private Member Functions | |
static FILEFORMAT | guessff (BinaryIO *io) |
Private Attributes | |
BinaryIO * | BinIO |
unsigned short | SamplesPerVertex |
UWORD32 | Radius |
EmbValue | EmbValueModulus |
file-format specific constants are handled as follows: CvrStgFile contains a protected set-function (e.g. setSamplesPerVertex), a public get-function (e.g. getSamplesPerVertex() const) and a private variable. The public get function does nothing else than returning the private variable, which must be set as soon as possible (if it is not set, it will contain a null value set in CvrStgFile::CvrStgFile).
|
private |
CvrStgFile::CvrStgFile | ( | void | ) |
|
virtual |
|
virtual |
calculate a vector a SampleValueAdjacencyLists
svs | a vector of unique(!) sample values where svs[i]->getLabel() == i holds for all 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.
|
inlineprotected |
unsigned long CvrStgFile::getCapacity | ( | void | ) | const |
get the capacity of this cvrstgfile
get the value that is embedded in the Sample pos
pos | the position of the sample |
This is equivalent to getSample(pos)->getEmbeddedValue() and is implemented here like this.
May be overwritten by derived class to provide a faster version.
|
inline |
values that are embedded in samples will be in 0...Modulus-1 (this is a file-format specific constant)
std::string CvrStgFile::getHRCapacity | ( | void | ) | const |
get the capacity as a human-readable string
|
virtual |
get recommended list of matching algorithms
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.
|
inline |
get the name of this cvrstgfile
|
pure virtual |
|
inline |
get the neighbourhood radius (this is a file-format specific constant)
|
inline |
get the number of samples per vertex (this is a file-format specific constant)
|
staticprivate |
guesses the file format by looking at the first few bytes
|
inline |
|
static |
this function reads the file with name fn and returns a *File object of the correct type casted to CvrStgFile.
|
inlineprotected |
|
inlineprotected |
|
protected |
set Radius to r unless Args.Radius is set (set Radius to Args.Radius.getValue() then)
|
inlineprotected |
void CvrStgFile::transform | ( | const std::string & | fn | ) |
|
private |
|
private |
|
private |
|
private |