Video reader interface, see createVideoReader().
More...
#include <opencv2/cudacodec.hpp>
|
virtual | ~VideoReader () |
|
virtual FormatInfo | format () const =0 |
| Returns information about video file format.
|
|
virtual bool | get (const int propertyId, double &propertyVal) const =0 |
| Retrieves the specified property used by the VideoSource.
|
|
virtual bool | get (const VideoReaderProps propertyId, double &propertyVal) const =0 |
| Returns the specified VideoReader property.
|
|
virtual bool | getVideoReaderProps (const VideoReaderProps propertyId, double &propertyValOut, double propertyValIn=0) const =0 |
|
virtual bool | grab (cuda::Stream &stream=cuda::Stream::Null())=0 |
| Grabs the next frame from the video source.
|
|
virtual bool | nextFrame (cuda::GpuMat &frame, cuda::GpuMat &histogram, cuda::Stream &stream=cuda::Stream::Null())=0 |
| Grabs, decodes and returns the next video frame and frame luma histogram.
|
|
virtual bool | nextFrame (cuda::GpuMat &frame, cuda::Stream &stream=cuda::Stream::Null())=0 |
| Grabs, decodes and returns the next video frame.
|
|
bool | retrieve (cuda::GpuMat &frame) const |
| Returns the next video frame.
|
|
bool | retrieve (Mat &frame, const size_t idx) const |
| Returns previously grabbed encoded video data.
|
|
virtual bool | retrieve (OutputArray frame, const size_t idx=static_cast< size_t >(VideoReaderProps::PROP_DECODED_FRAME_IDX)) const =0 |
| Returns previously grabbed video data.
|
|
virtual bool | set (const ColorFormat colorFormat)=0 |
| Set the desired ColorFormat for the frame returned by nextFrame()/retrieve().
|
|
virtual bool | set (const VideoReaderProps propertyId, const double propertyVal)=0 |
| Sets a property in the VideoReader.
|
|
bool | setVideoReaderProps (const VideoReaderProps propertyId, double propertyVal) |
|
Video reader interface, see createVideoReader().
Available if Nvidia's Video Codec SDK is installed.
Decoding support is dependent on the GPU, refer to the Nvidia Video Codec SDK Video Encode and Decode GPU Support Matrix for details.
- Note
- An example on how to use the VideoReader interface can be found at opencv_source_code/samples/gpu/video_reader.cpp
◆ ~VideoReader()
virtual cv::cudacodec::VideoReader::~VideoReader |
( |
| ) |
|
|
inlinevirtual |
◆ format()
virtual FormatInfo cv::cudacodec::VideoReader::format |
( |
| ) |
const |
|
pure virtual |
Returns information about video file format.
◆ get() [1/2]
virtual bool cv::cudacodec::VideoReader::get |
( |
const int | propertyId, |
|
|
double & | propertyVal ) const |
|
pure virtual |
Retrieves the specified property used by the VideoSource.
- Parameters
-
- Returns
true
unless the property is unset set or not supported.
◆ get() [2/2]
virtual bool cv::cudacodec::VideoReader::get |
( |
const VideoReaderProps | propertyId, |
|
|
double & | propertyVal ) const |
|
pure virtual |
Returns the specified VideoReader property.
- Parameters
-
- Returns
true
unless the property is not supported.
◆ getVideoReaderProps()
virtual bool cv::cudacodec::VideoReader::getVideoReaderProps |
( |
const VideoReaderProps | propertyId, |
|
|
double & | propertyValOut, |
|
|
double | propertyValIn = 0 ) const |
|
pure virtual |
◆ grab()
Grabs the next frame from the video source.
- Parameters
-
stream | Stream for the asynchronous version. |
- Returns
true
(non-zero) in the case of success.
The method/function grabs the next frame from video file or camera and returns true (non-zero) in the case of success.
The primary use of the function is for reading both the encoded and decoded video data when rawMode is enabled. With rawMode enabled retrieve() can be called following grab() to retrieve all the data associated with the current video source since the last call to grab() or the creation of the VideoReader.
◆ nextFrame() [1/2]
Grabs, decodes and returns the next video frame and frame luma histogram.
- Parameters
-
[out] | frame | The video frame. |
[out] | histogram | Histogram of the luma component of the encoded frame, see note. |
| stream | Stream for the asynchronous version. |
- Returns
false
if no frames have been grabbed.
If no frames have been grabbed (there are no more frames in video file), the methods return false. The method throws an Exception if error occurs.
- Note
- Histogram data is collected by NVDEC during the decoding process resulting in zero performance penalty. NVDEC computes the histogram data for only the luma component of decoded output, not on post-processed frame(i.e. when scaling, cropping, etc. applied). If the source is encoded using a limited range of luma values (FormatInfo::videoFullRangeFlag == false) then the histogram bin values will correspond to to this limited range of values and will need to be mapped to contain the same output as cuda::calcHist(). The MapHist() utility function can be used to perform this mapping on the host if required.
◆ nextFrame() [2/2]
Grabs, decodes and returns the next video frame.
- Parameters
-
[out] | frame | The video frame. |
| stream | Stream for the asynchronous version. |
- Returns
false
if no frames have been grabbed.
If no frames have been grabbed (there are no more frames in video file), the methods return false. The method throws an Exception if error occurs.
◆ retrieve() [1/3]
bool cv::cudacodec::VideoReader::retrieve |
( |
cuda::GpuMat & | frame | ) |
const |
|
inline |
Returns the next video frame.
- Parameters
-
[out] | frame | The video frame. If grab() has not been called then this will be empty(). |
- Returns
false
if no frames have been grabbed
The method returns data associated with the current video source since the last call to grab(). If no data is present the method returns false and the function returns an empty image.
◆ retrieve() [2/3]
bool cv::cudacodec::VideoReader::retrieve |
( |
Mat & | frame, |
|
|
const size_t | idx ) const |
|
inline |
Returns previously grabbed encoded video data.
- Parameters
-
[out] | frame | The encoded video data. |
| idx | Determines the returned data inside image. The returned data can be the:
- Extra data if available, idx = get(PROP_EXTRA_DATA_INDEX).
- Raw encoded data package. To retrieve package i, idx = get(PROP_RAW_PACKAGES_BASE_INDEX) + i with i < get(PROP_NUMBER_OF_RAW_PACKAGES_SINCE_LAST_GRAB)
|
- Returns
false
if no frames have been grabbed
The method returns data associated with the current video source since the last call to grab() or the creation of the VideoReader. If no data is present the method returns false and the function returns an empty image.
◆ retrieve() [3/3]
Returns previously grabbed video data.
- Parameters
-
[out] | frame | The returned data which depends on the provided idx. |
| idx | Determines the returned data inside image. The returned data can be the:
- Decoded frame, idx = get(PROP_DECODED_FRAME_IDX).
- Extra data if available, idx = get(PROP_EXTRA_DATA_INDEX).
- Raw encoded data package. To retrieve package i, idx = get(PROP_RAW_PACKAGES_BASE_INDEX) + i with i < get(PROP_NUMBER_OF_RAW_PACKAGES_SINCE_LAST_GRAB)
|
- Returns
false
if no frames have been grabbed
The method returns data associated with the current video source since the last call to grab() or the creation of the VideoReader. If no data is present the method returns false and the function returns an empty image.
◆ set() [1/2]
virtual bool cv::cudacodec::VideoReader::set |
( |
const ColorFormat | colorFormat | ) |
|
|
pure virtual |
Set the desired ColorFormat for the frame returned by nextFrame()/retrieve().
- Parameters
-
colorFormat | Value of the ColorFormat. |
- Returns
true
unless the colorFormat is not supported.
◆ set() [2/2]
virtual bool cv::cudacodec::VideoReader::set |
( |
const VideoReaderProps | propertyId, |
|
|
const double | propertyVal ) |
|
pure virtual |
Sets a property in the VideoReader.
- Parameters
-
- Returns
true
if the property has been set.
◆ setVideoReaderProps()
bool cv::cudacodec::VideoReader::setVideoReaderProps |
( |
const VideoReaderProps | propertyId, |
|
|
double | propertyVal ) |
|
inline |
The documentation for this class was generated from the following file: