X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_frame.h;h=5ece49c92a55e24cd446ffd79fb95a7e5ec85cbc;hb=42bd0aedb6d3d65bedb98479adcdbaeb326dfee9;hp=fd86f2327972ae62909b69dbe0599ee336647efe;hpb=661165812e3410fe2f6f49d7af882b36a0efcf82;p=melted diff --git a/src/framework/mlt_frame.h b/src/framework/mlt_frame.h index fd86f23..5ece49c 100644 --- a/src/framework/mlt_frame.h +++ b/src/framework/mlt_frame.h @@ -35,6 +35,13 @@ mlt_image_format; typedef enum { + mlt_video_standard_pal = 0, + mlt_video_standard_ntsc +} +mlt_video_standard; + +typedef enum +{ mlt_audio_none = 0, mlt_audio_pcm } @@ -61,10 +68,11 @@ struct mlt_frame_s extern mlt_frame mlt_frame_init( ); extern mlt_properties mlt_frame_properties( mlt_frame this ); extern int mlt_frame_is_test_card( mlt_frame this ); +extern int mlt_frame_is_test_audio( mlt_frame this ); extern double mlt_frame_get_aspect_ratio( mlt_frame this ); extern int mlt_frame_set_aspect_ratio( mlt_frame this, double value ); -extern mlt_timecode mlt_frame_get_timecode( mlt_frame this ); -extern int mlt_frame_set_timecode( mlt_frame this, mlt_timecode value ); +extern mlt_position mlt_frame_get_position( mlt_frame this ); +extern int mlt_frame_set_position( mlt_frame this, mlt_position value ); extern int mlt_frame_get_image( mlt_frame this, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable ); extern uint8_t *mlt_frame_get_alpha_mask( mlt_frame this ); @@ -79,7 +87,13 @@ extern void mlt_frame_close( mlt_frame this ); /* convenience functions */ extern int mlt_convert_rgb24a_to_yuv422( uint8_t *rgba, int width, int height, int stride, uint8_t *yuv, uint8_t *alpha ); extern int mlt_convert_rgb24_to_yuv422( uint8_t *rgb, int width, int height, int stride, uint8_t *yuv ); +extern int mlt_convert_yuv420p_to_yuv422( uint8_t *yuv420p, int width, int height, int stride, uint8_t *yuv ); extern int mlt_frame_composite_yuv( mlt_frame this, mlt_frame that, int x, int y, float weight ); - +extern uint8_t *mlt_frame_resize_yuv422( mlt_frame this, int owidth, int oheight ); +extern uint8_t *mlt_frame_rescale_yuv422( mlt_frame this, int owidth, int oheight ); +extern void mlt_resize_yuv422( uint8_t *output, int owidth, int oheight, uint8_t *input, int iwidth, int iheight ); +extern int mlt_frame_mix_audio( mlt_frame this, mlt_frame that, float weight, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples ); +extern int mlt_sample_calculator( float fps, int frequency, int64_t position ); + #endif