int mlt_frame_pop_service_int( mlt_frame self ) { return mlt_deque_pop_back_int( self->stack_image ); }
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <framework/mlt_filter.h> #include <string.h> #include <framework/mlt_factory.h> #include <framework/mlt_frame.h> #include <framework/mlt_producer.h> #include <framework/mlt_geometry.h> /** Get the images and apply the luminance of the mask to the alpha of the frame. */ static int filter_get_image( mlt_frame this, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) { int use_alpha = mlt_deque_pop_back_int( MLT_FRAME_IMAGE_STACK( this ) ); int midpoint = mlt_deque_pop_back_int( MLT_FRAME_IMAGE_STACK( this ) ); int invert = mlt_deque_pop_back_int( MLT_FRAME_IMAGE_STACK( this ) ); // Render the frame *format = mlt_image_yuv422; if ( mlt_frame_get_image( this, image, format, width, height, writable ) == 0 ) { uint8_t *p = *image; uint8_t A = invert? 235 : 16; uint8_t B = invert? 16 : 235; int size = *width * *height; if ( !use_alpha ) { while( size -- )