libcvd
Public Member Functions | List of all members
CVD::LocalVideoFrame< T > Class Template Reference

A frame from a LocalVideoBuffer, which manages its own data rather than wrapping data owned by the system. More...

#include <localvideoframe.h>

Inheritance diagram for CVD::LocalVideoFrame< T >:
Inheritance graph
[legend]
Collaboration diagram for CVD::LocalVideoFrame< T >:
Collaboration graph
[legend]

Public Member Functions

 LocalVideoFrame (double time, CVD::Image< T > &&local)
 Construct a video frame from an Image and a timestamp. More...
 
Image< T > & image ()
 Returns the image. More...
 
const Image< T > & image () const
 
double & timestamp ()
 
- Public Member Functions inherited from CVD::VideoFrame< T >
 VideoFrame (double t, T *data, const ImageRef &size, VideoFrameFlags::FieldType f=VideoFrameFlags::Unknown)
 (Used internally) Construct a VideoFrame around a block of memory. More...
 
 VideoFrame (double t, const BasicImage< T > &im, VideoFrameFlags::FieldType f=VideoFrameFlags::Unknown)
 (Used internally) Construct a VideoFrame from a BasicImage More...
 
double timestamp () const
 What is the time (since boot) of this frame?
 
VideoFrameFlags::FieldType field () const
 
- Public Member Functions inherited from CVD::BasicImage< T >
virtual ~BasicImage ()
 The image data is not destroyed when a BasicImage is destroyed.
 
ConstPointerType data () const
 Returns the raw image data.
 
PointerType data ()
 Returns the raw image data.
 
void copy_from (const BasicImage< T > &other)
 
ImageRef size () const
 What is the size of this image?
 
void zero ()
 Set image data to all zero bytes. More...
 
void fill (const T d)
 Set all the pixels in the image to a value. More...
 
 BasicImage (const BasicImage &copyof)=default
 Copy constructor. More...
 
BasicImageoperator= (const BasicImage &copyof)=default
 Assignment operator. More...
 
- Public Member Functions inherited from CVD::Internal::ImageData< T >
 ImageData (const ImageData &)=default
 
 ImageData (void *data, size_t len, ImageRef sz)
 
 ImageData (void *data, ImageRef sz)
 
ImageDataoperator= (const ImageData &)=default
 
size_t datalength () const
 What is the row stride of the image?
 

Additional Inherited Members

- Protected Types inherited from CVD::Internal::ImageData< T >
using PointerType = void *
 
using ConstPointerType = const void *
 
- Protected Member Functions inherited from CVD::VideoFrame< T >
virtual ~VideoFrame ()
 We don't usually delete video frames. Some special destruction is usually needed.
 
- Protected Attributes inherited from CVD::VideoFrame< T >
VideoFrameFlags::FieldType my_field
 
double my_timestamp
 Type of field in this frame. More...
 
- Protected Attributes inherited from CVD::Internal::ImageData< T >
void * my_data
 
ImageRef my_size
 
size_t data_length
 

Detailed Description

template<class T>
class CVD::LocalVideoFrame< T >

A frame from a LocalVideoBuffer, which manages its own data rather than wrapping data owned by the system.

The data is stored internally using Image, and programs which will only ever use LocalVideoBuffers can be optimized by using the image() method. Being Images, these can be deleted sensibly.

Parameters
TThe pixel type of the video frames

Constructor & Destructor Documentation

◆ LocalVideoFrame()

template<class T>
CVD::LocalVideoFrame< T >::LocalVideoFrame ( double  time,
CVD::Image< T > &&  local 
)
inline

Construct a video frame from an Image and a timestamp.

Note that the local video frame wants to own the image data so only a move constructor is provided.

Parameters
timeThe timestamp of this frame
localThe Image to use for this frame

Member Function Documentation

◆ image()

template<class T>
Image<T>& CVD::LocalVideoFrame< T >::image ( )
inline

Returns the image.

A LocalVideoFrame can be treated just like any other Image (for example it can use optimised copying)


The documentation for this class was generated from the following file: