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< pixel > | video_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) |
|
|
We define the standard audio data passed to plugins to be 16-bit integers.
Definition at line 734 of file kino_plugin_types.h. |
|
|
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. |
|
|
Defines data measured in pixels.
Definition at line 45 of file kino_plugin_types.h. |
|
|
Defines a universally-unique plugin type identifier (compatible with libuuid).
Definition at line 66 of file kino_plugin_types.h. |
|
|
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. |
|
|
Enumerates input video interlace requirements for a plugin.
Definition at line 51 of file kino_plugin_types.h. 00052 {
00053 INTERLACE_ALLOWED,
00054 INTERLACE_NOT_ALLOWED,
00055 } interlace_requirement_type;
|
|
|
Enumerates the interlace possibilities for a video stream - none, even field dominant, or odd field dominant.
Definition at line 58 of file kino_plugin_types.h. 00059 {
00060 NOT_INTERLACED,
00061 EVEN_FIELD_DOMINANT,
00062 ODD_FIELD_DOMINANT
00063 } interlace_type;
|
|
||||||||||||||||||||
|
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 }
|
|
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||
|
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 }
|
|
||||||||||||||||
|
Definition at line 74 of file kino_plugin_utility.h. References step().
|
|
||||||||||||||||
|
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 }
|
|
||||||||||||
|
Definition at line 45 of file kino_plugin_utility.h. Referenced by pulse(). 00046 {
00047 return A < Edge ? 0.0 : 1.0;
00048 }
|
1.4.2