46 friend void svlInitializeVideoCodecs();
55 unsigned char data[1];
78 static int DialogCodec(
const std::string &filename,
Compression **compression);
79 static int DialogFilePath(
bool save,
const std::string &title, std::string &filename);
81 static int GetFormatList(std::string &formatlist);
82 static int GetWindowsExtensionFilter(std::string &filter);
83 static int GetExtension(
const std::string &filename, std::string &extension);
87 static int ReleaseCompression(
Compression *compression);
103 const std::string& GetEncoderName()
const;
104 const std::string& GetExtensions()
const;
105 bool IsMultithreaded()
const;
106 bool IsVariableFramerate()
const;
108 virtual int Open(
const std::string &filename,
unsigned int &width,
unsigned int &height,
double &framerate) = 0;
109 virtual int Create(
const std::string &filename,
const unsigned int width,
const unsigned int height,
const double framerate) = 0;
110 virtual int Close() = 0;
112 virtual int GetBegPos()
const = 0;
113 virtual int GetEndPos()
const = 0;
114 virtual int GetPos()
const = 0;
115 virtual int SetPos(
const int pos);
117 virtual double GetBegTime()
const;
118 virtual double GetEndTime()
const;
119 virtual double GetTimeAtPos(
const int pos)
const;
120 virtual int GetPosAtTime(
const double time)
const;
124 virtual int DialogCompression();
125 virtual int DialogCompression(
const std::string &filename);
127 virtual double GetTimestamp()
const = 0;
128 virtual int SetTimestamp(
const double timestamp);
130 virtual int Read(
svlProcInfo* procInfo,
svlSampleImage &image,
const unsigned int videoch,
const bool noresize =
false) = 0;
134 virtual void SetExtension(
const std::string & extension) = 0;
135 virtual void SetEncoderID(
const int & encoder_id) = 0;
136 virtual void SetCompressionLevel(
const int & compr_level) = 0;
137 virtual void SetQualityBased(
const bool & enabled) = 0;
138 virtual void SetTargetQuantizer(
const double & target_quant) = 0;
139 virtual void SetDatarate(
const int & datarate) = 0;
140 virtual void SetKeyFrameEvery(
const int & key_every) = 0;
141 virtual void IsCompressionLevelEnabled(
bool & enabled)
const = 0;
142 virtual void IsEncoderListEnabled(
bool & enabled)
const = 0;
143 virtual void IsTargetQuantizerEnabled(
bool & enabled)
const = 0;
144 virtual void IsDatarateEnabled(
bool & enabled)
const = 0;
145 virtual void IsKeyFrameEveryEnabled(
bool & enabled)
const = 0;
146 virtual void GetCompressionLevel(
int & compr_level)
const = 0;
147 virtual void GetEncoderList(std::string & encoder_list)
const = 0;
148 virtual void GetEncoderID(
int & encoder_id)
const = 0;
149 virtual void GetQualityBased(
bool & enabled)
const = 0;
150 virtual void GetTargetQuantizer(
double & target_quant)
const = 0;
151 virtual void GetDatarate(
int & datarate)
const = 0;
152 virtual void GetKeyFrameEvery(
int & key_every)
const = 0;
155 void SetName(
const std::string &name);
156 void SetExtensionList(
const std::string &list);
157 void SetMultithreaded(
bool multithreaded);
158 void SetVariableFramerate(
bool variableframerate);
163 std::string EncoderName;
164 std::string ExtensionList;
166 bool VariableFramerate;
168 bool ComponentAddedtoLCM;
169 std::string EncoderConnectedComponent;
170 std::string EncoderConnectedInterface;
171 void CreateInterfaces();
176 #endif // _svlVideoIO_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
Typedef for dynamic vectors.
Definition: svlVideoIO.h:44
virtual void Create(void)
Definition: osaCriticalSection.h:36
unsigned int datasize
Definition: svlVideoIO.h:54
svlVideoIO::Compression * Codec
Definition: svlVideoIO.h:160
Declaration of mtsComponent.
void SetName(const std::string &componentName)
Definition: mtsComponent.h:150
Definition: svlVideoIO.h:49
Definition: svlSampleImage.h:35
Macros to export the symbols of cisstStereoVision (in a Dll).
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
Definition: svlVideoIO.h:95
unsigned int size
Definition: svlVideoIO.h:51
Definition: svlProcInfo.h:33
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition: cmnClassRegisterMacros.h:202
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76