libcvd
deinterlaceframe.h
1 #ifndef __DEINTERLACE_FRAME_H__
2 #define __DEINTERLACE_FRAME_H__
3 
4 #include <cvd/localvideoframe.h>
5 #include <utility>
6 
7 namespace CVD
8 {
9 template <typename T>
10 class DeinterlaceBuffer;
11 
20 template <typename T>
22 {
23  friend class DeinterlaceBuffer<T>;
24 
25  public:
27  const VideoFrame<T>* full_frame() { return real_frame; }
28 
29  private:
31  {
32  }
33 
34  DeinterlaceFrame(double time, Image<T>&& im)
35  : LocalVideoFrame<T>(time, std::move(im))
36  {
37  }
38 
39  private:
40  VideoFrame<T>* real_frame;
41 };
42 
43 }
44 
45 #endif
All classes and functions are within the CVD namespace.
Definition: argb.h:6
A frame from a DeinterlaceBuffer, representing one field from an interlaced frame.
Definition: deinterlaceframe.h:21
Definition: deinterlacebuffer.h:76
A frame from a VideoBuffer.
Definition: videoframe.h:35
A full image which manages its own data.
Definition: image.h:623
A frame from a LocalVideoBuffer, which manages its own data rather than wrapping data owned by the sy...
Definition: localvideoframe.h:30
const VideoFrame< T > * full_frame()
Access the original (interlaced) frame.
Definition: deinterlaceframe.h:27