Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

kino Namespace Reference


Classes

class  color_traits
 Describes traits of a type used as a sample within a color specification. More...
class  color_traits< uint8_t >
 Specialization of color_traits for uint8_t samples. More...
class  color_traits< double >
 Specialization of color_traits for double samples. More...
class  basic_hsv
 Encapsulates storage for an HSV color sample. More...
class  basic_luma
 Encapsulates storage for a luma color sample. More...
class  basic_rgb
 Encapsulates storage for an RGB color sample. More...
class  basic_rgba
 Encapsulates storage for an RGBA color sample. More...
class  basic_bitmap
 Encapsulates a bitmap image. More...
class  video_sequence
 Defines a random-access container of video frames. More...
class  audio_sequence
 Defines a random-access container of audio samples. More...
class  convolve_filter
 A general-purpose one-dimensional convolve filter that operates as a finite state machine. More...
class  raii
 Attempts to bring Resource Acquisition Is Initialization to legacy "C" constructs. More...

Typedefs

typedef unsigned long pixel_size_type
 Defines data measured in pixels.
typedef uint8_t uuid_type [16]
 Defines a universally-unique plugin type identifier (compatible with libuuid).
typedef basic_rgba< uint8_t > pixel
 We define the standard pixel passed to plugins to be RGBA data with 8-bits-per-channel.
typedef basic_bitmap< pixelvideo_frame
 We define the standard frame passed to plugins to be RGBA data with 8-bits-per-channel.
typedef uint16_t audio_sample
 We define the standard audio data passed to plugins to be 16-bit integers.

Enumerations

enum  interlace_requirement_type { INTERLACE_ALLOWED, INTERLACE_NOT_ALLOWED }
 Enumerates input video interlace requirements for a plugin. More...
enum  interlace_type { NOT_INTERLACED, EVEN_FIELD_DOMINANT, ODD_FIELD_DOMINANT }
 Enumerates the interlace possibilities for a video stream - none, even field dominant, or odd field dominant. More...

Functions

template<typename ArgType>
ArgType clamp (const ArgType A, const ArgType MinVal, const ArgType MaxVal)
 Clamps the input value to the range [MinVal, MaxVal].
template<typename ArgType>
ArgType lerp (const ArgType A, const ArgType B, const double Mix)
 Linear interpolation between two values.
double step (const double Edge, const double A)
double linearstep (const double Edge1, const double Edge2, const double A)
double smoothstep (const double Edge1, const double Edge2, const double A)
double pulse (const double Edge1, const double Edge2, const double A)
double factorial (const unsigned int X)


Typedef Documentation

typedef uint16_t kino::audio_sample
 

We define the standard audio data passed to plugins to be 16-bit integers.

Definition at line 734 of file kino_plugin_types.h.

typedef basic_rgba<uint8_t> kino::pixel
 

We define the standard pixel passed to plugins to be RGBA data with 8-bits-per-channel.

Definition at line 675 of file kino_plugin_types.h.

typedef unsigned long kino::pixel_size_type
 

Defines data measured in pixels.

Definition at line 45 of file kino_plugin_types.h.

typedef uint8_t kino::uuid_type[16]
 

Defines a universally-unique plugin type identifier (compatible with libuuid).

Definition at line 66 of file kino_plugin_types.h.

typedef basic_bitmap<pixel> kino::video_frame
 

We define the standard frame passed to plugins to be RGBA data with 8-bits-per-channel.

Definition at line 677 of file kino_plugin_types.h.


Enumeration Type Documentation

enum kino::interlace_requirement_type
 

Enumerates input video interlace requirements for a plugin.

Enumeration values:
INTERLACE_ALLOWED 
INTERLACE_NOT_ALLOWED 

Definition at line 51 of file kino_plugin_types.h.

enum kino::interlace_type
 

Enumerates the interlace possibilities for a video stream - none, even field dominant, or odd field dominant.

Enumeration values:
NOT_INTERLACED 
EVEN_FIELD_DOMINANT 
ODD_FIELD_DOMINANT 

Definition at line 58 of file kino_plugin_types.h.


Function Documentation

template<typename ArgType>
ArgType kino::clamp const ArgType  A,
const ArgType  MinVal,
const ArgType  MaxVal
 

Clamps the input value to the range [MinVal, MaxVal].

Definition at line 33 of file kino_plugin_utility.h.

Referenced by kino::color_traits< uint8_t >::convert().

00034 {
00035         return std::min(std::max(A, MinVal), MaxVal);
00036 }

double kino::factorial const unsigned int  X  )  [inline]
 

Definition at line 79 of file kino_plugin_utility.h.

00080 {
00081     double result = 1;
00082     
00083     for(unsigned int i = 2; i <= X; ++i)
00084         result *= i;
00085         
00086     return result;
00087 }

template<typename ArgType>
ArgType kino::lerp const ArgType  A,
const ArgType  B,
const double  Mix
[inline]
 

Linear interpolation between two values.

Definition at line 40 of file kino_plugin_utility.h.

00041 {
00042         return static_cast<ArgType>(A * (1.0 - Mix) + B * Mix);
00043 }

double kino::linearstep const double  Edge1,
const double  Edge2,
const double  A
[inline]
 

Definition at line 50 of file kino_plugin_utility.h.

00051 {
00052         if(A < Edge1)
00053                 return 0.0;
00054                 
00055         if(A >= Edge2)
00056                 return 1.0;
00057                 
00058         return (A - Edge1) / (Edge2 - Edge1);
00059 }

double kino::pulse const double  Edge1,
const double  Edge2,
const double  A
[inline]
 

Definition at line 74 of file kino_plugin_utility.h.

References step().

00075 {
00076         return step(Edge1, A) - step(Edge2, A);
00077 }

double kino::smoothstep const double  Edge1,
const double  Edge2,
const double  A
[inline]
 

Definition at line 61 of file kino_plugin_utility.h.

00062 {
00063         if(A < Edge1)
00064                 return 0.0;
00065                 
00066         if(A >= Edge2)
00067                 return 1.0;
00068                 
00069         double a = (A - Edge1) / (Edge2 - Edge1);
00070         
00071         return (a * a * (3 - 2 * a));
00072 }

double kino::step const double  Edge,
const double  A
[inline]
 

Definition at line 45 of file kino_plugin_utility.h.

Referenced by pulse().

00046 {
00047         return A < Edge ? 0.0 : 1.0;
00048 }


Generated on Sun Mar 11 22:13:29 2007 for Kino by  doxygen 1.4.2