MLT
7.32.0
|
interface for all frame classes More...
#include "mlt_audio.h"
#include "mlt_deque.h"
#include "mlt_image.h"
#include "mlt_properties.h"
#include "mlt_service.h"
Go to the source code of this file.
Data Structures | |
struct | mlt_frame_s |
Frame class. More... | |
Macros | |
#define | MLT_FRAME_AUDIO_STACK(frame) ((frame)->stack_audio) |
#define | MLT_FRAME_IMAGE_STACK(frame) ((frame)->stack_image) |
#define | MLT_FRAME_PROPERTIES(frame) (&(frame)->parent) |
#define | MLT_FRAME_SERVICE_STACK(frame) ((frame)->stack_service) |
#define | RGB2UV_601_SCALED(r, g, b, u, v) |
This macro scales RGB into the YUV gamut - uv is scaled by 224/255 (y unused). More... | |
#define | RGB2YUV_601_SCALED(r, g, b, y, u, v) |
This macro scales RGB into the YUV gamut - y is scaled by 219/255 and uv by 224/255. More... | |
#define | YUV2RGB_601_SCALED(y, u, v, r, g, b) |
This macro scales YUV up into the full gamut of the RGB color space. More... | |
Typedefs | |
typedef int(* | mlt_get_audio) (mlt_frame self, void **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples) |
Callback function to get audio data. More... | |
typedef int(* | mlt_get_image) (mlt_frame self, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable) |
Callback function to get video data. More... | |
interface for all frame classes
Copyright (C) 2003-2023 Meltytech, LLC
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#define MLT_FRAME_AUDIO_STACK | ( | frame | ) | ((frame)->stack_audio) |
#define MLT_FRAME_IMAGE_STACK | ( | frame | ) | ((frame)->stack_image) |
#define MLT_FRAME_PROPERTIES | ( | frame | ) | (&(frame)->parent) |
#define MLT_FRAME_SERVICE_STACK | ( | frame | ) | ((frame)->stack_service) |
#define RGB2UV_601_SCALED | ( | r, | |
g, | |||
b, | |||
u, | |||
v | |||
) |
This macro scales RGB into the YUV gamut - uv is scaled by 224/255 (y unused).
#define RGB2YUV_601_SCALED | ( | r, | |
g, | |||
b, | |||
y, | |||
u, | |||
v | |||
) |
This macro scales RGB into the YUV gamut - y is scaled by 219/255 and uv by 224/255.
#define YUV2RGB_601_SCALED | ( | y, | |
u, | |||
v, | |||
r, | |||
g, | |||
b | |||
) |
This macro scales YUV up into the full gamut of the RGB color space.
typedef int(* mlt_get_audio) (mlt_frame self, void **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples) |
Callback function to get audio data.
typedef int(* mlt_get_image) (mlt_frame self, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable) |
Callback function to get video data.
void mlt_frame_close | ( | mlt_frame | self | ) |
uint8_t* mlt_frame_get_alpha | ( | mlt_frame | self | ) |
uint8_t* mlt_frame_get_alpha_size | ( | mlt_frame | self, |
int * | size | ||
) |
double mlt_frame_get_aspect_ratio | ( | mlt_frame | self | ) |
int mlt_frame_get_audio | ( | mlt_frame | self, |
void ** | buffer, | ||
mlt_audio_format * | format, | ||
int * | frequency, | ||
int * | channels, | ||
int * | samples | ||
) |
int mlt_frame_get_image | ( | mlt_frame | self, |
uint8_t ** | buffer, | ||
mlt_image_format * | format, | ||
int * | width, | ||
int * | height, | ||
int | writable | ||
) |
mlt_producer mlt_frame_get_original_producer | ( | mlt_frame | self | ) |
mlt_position mlt_frame_get_position | ( | mlt_frame | self | ) |
mlt_properties mlt_frame_get_unique_properties | ( | mlt_frame | self, |
mlt_service | service | ||
) |
unsigned char* mlt_frame_get_waveform | ( | mlt_frame | self, |
int | w, | ||
int | h | ||
) |
mlt_frame mlt_frame_init | ( | mlt_service | service | ) |
int mlt_frame_is_test_audio | ( | mlt_frame | self | ) |
int mlt_frame_is_test_card | ( | mlt_frame | self | ) |
mlt_position mlt_frame_original_position | ( | mlt_frame | self | ) |
void* mlt_frame_pop_audio | ( | mlt_frame | self | ) |
mlt_get_image mlt_frame_pop_get_image | ( | mlt_frame | self | ) |
void* mlt_frame_pop_service | ( | mlt_frame | self | ) |
int mlt_frame_pop_service_int | ( | mlt_frame | self | ) |
mlt_properties mlt_frame_properties | ( | mlt_frame | self | ) |
int mlt_frame_push_audio | ( | mlt_frame | self, |
void * | that | ||
) |
int mlt_frame_push_get_image | ( | mlt_frame | self, |
mlt_get_image | get_image | ||
) |
int mlt_frame_push_service | ( | mlt_frame | self, |
void * | that | ||
) |
int mlt_frame_push_service_int | ( | mlt_frame | self, |
int | that | ||
) |
void mlt_frame_replace_image | ( | mlt_frame | self, |
uint8_t * | image, | ||
mlt_image_format | format, | ||
int | width, | ||
int | height | ||
) |
int mlt_frame_set_alpha | ( | mlt_frame | self, |
uint8_t * | alpha, | ||
int | size, | ||
mlt_destructor | destroy | ||
) |
int mlt_frame_set_aspect_ratio | ( | mlt_frame | self, |
double | value | ||
) |
int mlt_frame_set_audio | ( | mlt_frame | self, |
void * | buffer, | ||
mlt_audio_format | , | ||
int | size, | ||
mlt_destructor | |||
) |
int mlt_frame_set_image | ( | mlt_frame | self, |
uint8_t * | image, | ||
int | size, | ||
mlt_destructor | destroy | ||
) |
int mlt_frame_set_position | ( | mlt_frame | self, |
mlt_position | value | ||
) |
mlt_properties mlt_frame_unique_properties | ( | mlt_frame | self, |
mlt_service | service | ||
) |
void mlt_frame_write_ppm | ( | mlt_frame | frame | ) |