|
MLT 7.42.0
Multimedia Framework
|
interface for all frame classes More...
#include "mlt_frame.h"#include "mlt_factory.h"#include "mlt_image.h"#include "mlt_log.h"#include "mlt_producer.h"#include "mlt_profile.h"#include <stdio.h>#include <stdlib.h>#include <string.h>Macros | |
| #define | CONVERT_IMAGE_CALLBACKS "_convert_image_callbacks" |
| #define | CONVERT_IMAGE_IDX "_convert_image_idx" |
Functions | |
| static void | copy_consumer_image_hints (mlt_frame dst, mlt_frame src) |
Copy consumer scaling hints from src onto dst. | |
| static void | copy_image_state (mlt_frame dst, mlt_frame src) |
Copy image properties, alpha, converters, and Movit state from src to dst. | |
| static int | do_convert_image (mlt_frame self, uint8_t **image, mlt_image_format *format, mlt_image_format output, int idx) |
| static void | flatten_foreign_movit (mlt_frame dst, mlt_frame src, mlt_image_format *format) |
| Do not fetch an in-progress Movit chain from a different producer. | |
| static int | generate_test_image (mlt_properties properties, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable) |
| void | mlt_frame_write_ppm (mlt_frame frame) |
| static int | same_original_producer (mlt_frame a, mlt_frame b) |
| True when both frames have the same cut-parent original producer. | |
| static void | share_data (mlt_properties dst, const char *name, void *data, int size) |
Install data on dst without taking ownership. | |
| static void | share_image (mlt_frame dst, mlt_frame src, uint8_t *image) |
Share image and src's image state onto dst without taking ownership. | |
interface for all frame classes
Copyright (C) 2003-2026 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 CONVERT_IMAGE_CALLBACKS "_convert_image_callbacks" |
| #define CONVERT_IMAGE_IDX "_convert_image_idx" |
Copy consumer scaling hints from src onto dst.
Copy image properties, alpha, converters, and Movit state from src to dst.
Does not take ownership of the image or alpha buffers. Producer-keyed _movit chain keys are copied only when both frames share the same original producer.
|
static |
|
static |
Do not fetch an in-progress Movit chain from a different producer.
mlt_image_movit is keyed by original producer. Across fx_cut / stacking, finalize to rgba64 so the destination can start its own chain. Same-producer prepends keep movit so GPU effects can chain without a CPU round trip.
|
static |
| void mlt_frame_write_ppm | ( | mlt_frame | frame | ) |
True when both frames have the same cut-parent original producer.
|
static |
Install data on dst without taking ownership.
Skips the set when dst already holds data: mlt_property_set_data nulls the destructor if the pointer is unchanged, which would leak the original owner's buffer (fx_cut wrap shares onto the fx frame and back).
Share image and src's image state onto dst without taking ownership.
image is the pointer returned by mlt_frame_get_image(), which need not be stored in src's "image" property. Both frames must remain alive while dst's image is used (typically both are stored on the tractor output frame).