void NV12_to_RGB(const PtrStepb decodedFrame, PtrStepSz<uint> interopFrame, cudaStream_t stream = 0);
}}}
+using namespace cv::gpucodec::detail;
+
namespace
{
class VideoReaderImpl : public VideoReader
{
public:
- explicit VideoReaderImpl(const Ptr<detail::VideoSource>& source);
+ explicit VideoReaderImpl(const Ptr<VideoSource>& source);
~VideoReaderImpl();
bool nextFrame(OutputArray frame);
FormatInfo format() const;
private:
- Ptr<detail::VideoSource> videoSource_;
+ Ptr<VideoSource> videoSource_;
- Ptr<detail::FrameQueue> frameQueue_;
- Ptr<detail::VideoDecoder> videoDecoder_;
- Ptr<detail::VideoParser> videoParser_;
+ Ptr<FrameQueue> frameQueue_;
+ Ptr<VideoDecoder> videoDecoder_;
+ Ptr<VideoParser> videoParser_;
CUvideoctxlock lock_;
return videoSource_->format();
}
- VideoReaderImpl::VideoReaderImpl(const Ptr<detail::VideoSource>& source) :
+ VideoReaderImpl::VideoReaderImpl(const Ptr<VideoSource>& source) :
videoSource_(source),
lock_(0)
{
return false;
// Wait a bit
- detail::Thread::sleep(1);
+ Thread::sleep(1);
}
bool isProgressive = displayInfo.progressive_frame != 0;
{
CV_Assert( !filename.empty() );
- Ptr<detail::VideoSource> videoSource;
+ Ptr<VideoSource> videoSource;
try
{
}
catch (...)
{
- Ptr<RawVideoSource> source(new detail::FFmpegVideoSource(filename));
+ Ptr<RawVideoSource> source(new FFmpegVideoSource(filename));
videoSource.reset(new RawVideoSourceWrapper(source));
}
Ptr<VideoReader> cv::gpucodec::createVideoReader(const Ptr<RawVideoSource>& source)
{
- Ptr<detail::VideoSource> videoSource(new detail::RawVideoSourceWrapper(source));
+ Ptr<VideoSource> videoSource(new RawVideoSourceWrapper(source));
return makePtr<VideoReaderImpl>(videoSource);
}