1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 15:23:05 +04:00

refactored VideoReader (convert it to abstract interface)

also refactored VideoSource interface (made it simplier, now it has only 2 abstract methods)
This commit is contained in:
Vladislav Vinogradov
2013-06-11 13:05:02 +04:00
parent e9a74c17f8
commit 76211709a3
23 changed files with 616 additions and 728 deletions
+4 -6
View File
@@ -210,7 +210,7 @@ namespace
private:
String fileName_;
VideoReader_GPU reader_;
Ptr<gpucodec::VideoReader> reader_;
GpuMat frame_;
};
@@ -223,13 +223,13 @@ namespace
{
if (_frame.kind() == _InputArray::GPU_MAT)
{
bool res = reader_.read(_frame.getGpuMatRef());
bool res = reader_->nextFrame(_frame.getGpuMatRef());
if (!res)
_frame.release();
}
else
{
bool res = reader_.read(frame_);
bool res = reader_->nextFrame(frame_);
if (!res)
_frame.release();
else
@@ -239,9 +239,7 @@ namespace
void VideoFrameSource_GPU::reset()
{
reader_.close();
reader_.open(fileName_);
CV_Assert( reader_.isOpened() );
reader_ = gpucodec::createVideoReader(fileName_);
}
}