|
libcvd
|
Play a series of image files as a video stream. More...
#include <diskbuffer2.h>


Public Member Functions | |
| DiskBuffer2 (const std::vector< std::string > &names, double fps, VideoBufferFlags::OnEndOfBuffer eob=VideoBufferFlags::RepeatLastFrame) | |
| Construct a DiskBuffer2 from a vector of filenames. More... | |
| virtual ImageRef | size () |
| The size of the VideoFrames returned by this buffer. | |
| virtual bool | frame_pending () |
| Is there another frame waiting in the buffer? By default, this always returns true, but if the VideoBufferFlags::OnEndOfBuffer setting is VideoBufferFlags::UnsetPending, this will return false after the last frame has been returned by get_frame() | |
| virtual DiskBuffer2Frame< T > * | get_frame () |
| Returns the next frame from the buffer. This function blocks until a frame is ready. | |
| virtual void | put_frame (VideoFrame< T > *f) |
| Tell the buffer that you are finished with this frame. More... | |
| virtual void | seek_to (double t) |
| Go to a particular point in the video buffer (only implemented in buffers of recorded video) More... | |
| virtual void | on_end_of_buffer (VideoBufferFlags::OnEndOfBuffer eob) |
| What should the buffer do when it reaches the end of the list of files? More... | |
| virtual double | frame_rate () |
| What is the (expected) frame rate of this video buffer, in frames per second? | |
Public Member Functions inherited from CVD::LocalVideoBuffer< T > | |
| LocalVideoBuffer (typename VideoBufferType::Type t) | |
Public Member Functions inherited from CVD::VideoBuffer< T > | |
| VideoBuffer (VideoBufferType::Type _type) | |
| Construct the buffer with the known semantics. | |
| virtual void | flush () |
| Flush all old frames out of the video buffer, on a flushable buffer, causing the next get_frame() to sleep until a frame arrives. More... | |
| VideoBufferType::Type | type () |
| Returns the type of the video stream. More... | |
Public Member Functions inherited from CVD::RawVideoBuffer | |
| virtual RawVideoBuffer * | source_buffer () |
| Which video grabber provides the source images for this video grabber. More... | |
| RawVideoBuffer * | root_buffer () |
| Follow the chain of video grabbers back as far as at will go. More... | |
Protected Attributes | |
| ImageRef | my_size |
| int | next_frame |
| double | start_time |
| double | time_per_frame |
| double | frames_per_sec |
| bool | frame_ready |
| std::vector< std::string > | file_names |
| VideoBufferFlags::OnEndOfBuffer | end_of_buffer_behaviour |
Related Functions | |
(Note that these are not member functions.) | |
| std::vector< std::string > | globlist (const std::string &gl) |
| Make a list of strings from a UNIX-style pattern pathname expansion. More... | |
Play a series of image files as a video stream.
Provides frames of type CVD::DiskBuffer2Frame and throws exceptions of type CVD::Exceptions::DiskBuffer2
| T | The pixel type of the frames to provide (usually CVD::Rgb<CVD::byte> or CVD::byte. If the image files are of a different type, they will be automatically converted (see Image loading and saving, and format conversion). |
|
inline |
Construct a DiskBuffer2 from a vector of filenames.
Typically the globlist() helper function is used to provide the filenames e.g. DiskBuffer2 buffer(globlist("~/Images/lab*.jpg"), 25);
| names | The filenames to use (played in the order that they are in the vector) |
| fps | The frames per second to report for this VideoBuffer |
| eob | What should the buffer do when it reaches the end of the list of files? |
|
inlinevirtual |
What should the buffer do when it reaches the end of the list of files?
| eob | The desired behaviour |
|
inlinevirtual |
Tell the buffer that you are finished with this frame.
Typically the VideoBuffer then destroys the frame.
| f | The frame that you are finished with. |
Implements CVD::LocalVideoBuffer< T >.
|
inlinevirtual |
Go to a particular point in the video buffer (only implemented in buffers of recorded video)
| t | The frame time in seconds |
Reimplemented from CVD::LocalVideoBuffer< T >.
|
related |
Make a list of strings from a UNIX-style pattern pathname expansion.
Tilde expansion is done, and * ? [] and {} can all be used as normal. The filenames are returned in alphabetical (and numerical) order.
| gl | The pattern from which to generate the strings |
1.8.13