CVD 0.8
Public Types
CVD::DeinterlaceBufferFields Struct Reference

A decorator class which wraps a VideoBuffer to return fields instead of the original frames (see also DeinterlaceFrame). More...

#include <deinterlacebuffer.h>

List of all members.

Public Types

enum  Fields { OddOnly, EvenOnly, OddEven, EvenOdd }

Detailed Description

A decorator class which wraps a VideoBuffer to return fields instead of the original frames (see also DeinterlaceFrame).

The majority of commands are passed straight through to the buffer that this class wraps, but get_frame() is overloaded to extract fields from the video frames.

Video intended for television use (i.e. from non-progressive scan cameras) tends to be interlaced. Instead of grabbing the entire frame at one time instant, the image is grabbed in two parts (fields), made up of the odd-numbered lines and the even-numbered lines respectively (thus giving an effective field-rate of twice the video frame-rate. Any fast motion in frame will therefore exhibit serrated distortion, with alternate lines out of step.

This class returns individual fields from the video, which are guaranteed to represent a single time instant. The VideoFrames returned from this buffer are therefore half the height of the original image, and so you might want to double the y-scale before displaying.

Provides frames of type CVD::DeinterlaceFrame and throws exceptions of type CVD::Exceptions::DeinterlaceBuffer

Parameters:
TThe pixel type of the original VideoBuffer Used to select which fields, and in which order, to extract from the frame

Definition at line 77 of file deinterlacebuffer.h.


Member Enumeration Documentation

Enumerator:
OddOnly 

Odd fields only.

EvenOnly 

Even fields only.

OddEven 

Both fields, presenting the odd lines from each frame first.

EvenOdd 

Both fields, presenting the even lines from each frame first.

Definition at line 79 of file deinterlacebuffer.h.


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