X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ChangeLog;h=d55f98f80d24781d28d417cbceea8cf1c1f4b772;hb=0daf9de961e9845f0fdb2947a8dbbdea4109213c;hp=e8e459f56869756ad90450703d7471247bea2e38;hpb=26af7fd71b46a6fbcad85147d79fb94aeea835af;p=mlt diff --git a/ChangeLog b/ChangeLog index e8e459f5..d55f98f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,8059 @@ -2009-04-14 Dan Dennedy +2012-08-28 Dan Dennedy + + * ChangeLog, presets/consumer/avformat/MPEG-4 ASP, + presets/consumer/avformat/MPEG-4-ASP, presets/consumer/avformat/webm: add + acodec to webm preset and rename MPEG-4 ASP preset + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: set version + to 0.8.2 + + * src/modules/avformat/configure: change recommended versions of ffmpeg/libav + + * NEWS: add release notes for v0.8.2 + +2012-08-26 Dan Dennedy + + * presets/consumer/avformat/stills/BMP, presets/consumer/avformat/stills/DPX, + presets/consumer/avformat/stills/JPEG, presets/consumer/avformat/stills/PNG, + presets/consumer/avformat/stills/PPM, presets/consumer/avformat/stills/TGA, + presets/consumer/avformat/stills/TIFF: add meta.preset.extension to image + sequence presets + + * presets/consumer/avformat/AAC, presets/consumer/avformat/Flash, + presets/consumer/avformat/MJPEG, presets/consumer/avformat/MP3, + presets/consumer/avformat/MPEG-2, presets/consumer/avformat/MPEG-4, + presets/consumer/avformat/MPEG-4 ASP, presets/consumer/avformat/Sony-PSP, + presets/consumer/avformat/Vorbis, presets/consumer/avformat/WAV, + presets/consumer/avformat/XDCAM-HD422, + presets/consumer/avformat/atsc_1080i_50/DNxHD, + presets/consumer/avformat/atsc_1080i_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_2398/DNxHD, + presets/consumer/avformat/atsc_1080p_24/DNxHD, + presets/consumer/avformat/atsc_1080p_25/DNxHD, + presets/consumer/avformat/atsc_1080p_2997/DNxHD, + presets/consumer/avformat/atsc_1080p_30/DNxHD, + presets/consumer/avformat/atsc_1080p_50/DNxHD, + presets/consumer/avformat/atsc_1080p_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_60/DNxHD, + presets/consumer/avformat/atsc_720p_2398/DNxHD, + presets/consumer/avformat/atsc_720p_50/DNxHD, + presets/consumer/avformat/atsc_720p_5994/DNxHD, + presets/consumer/avformat/atsc_720p_60/DNxHD, + presets/consumer/avformat/dv_ntsc/D10, presets/consumer/avformat/dv_ntsc/DVD, + presets/consumer/avformat/dv_ntsc_wide/D10, + presets/consumer/avformat/dv_ntsc_wide/DVD, + presets/consumer/avformat/dv_pal/D10, presets/consumer/avformat/dv_pal/DVD, + presets/consumer/avformat/dv_pal_wide/D10, + presets/consumer/avformat/dv_pal_wide/DVD, + presets/consumer/avformat/hdv_1080_25p/HDV, + presets/consumer/avformat/hdv_1080_30p/HDV, + presets/consumer/avformat/hdv_1080_50i/HDV, + presets/consumer/avformat/hdv_1080_60i/HDV, + presets/consumer/avformat/hdv_720_25p/HDV, + presets/consumer/avformat/hdv_720_30p/HDV, + presets/consumer/avformat/hdv_720_50p/HDV, + presets/consumer/avformat/hdv_720_60p/HDV, + presets/consumer/avformat/lossless/FFV1, + presets/consumer/avformat/lossless/H.264, + presets/consumer/avformat/lossless/HuffYUV, + presets/consumer/avformat/lossless/MJPEG, + presets/consumer/avformat/lossless/MPEG-2, + presets/consumer/avformat/lossless/MPEG-4, + presets/consumer/avformat/lossless/ProRes, presets/consumer/avformat/webm, + presets/consumer/avformat/x264-medium, + presets/consumer/avformat/x264-medium-baseline, + presets/consumer/avformat/x264-medium-main, + presets/consumer/avformat/x264-medium-pass1: add preset metadata such as + alternate name, filename extension, note. + + * presets/consumer/avformat/Sony-PSP, presets/consumer/avformat/webm, + presets/consumer/avformat/x264-medium-baseline, + presets/consumer/avformat/x264-medium-main: change profile to vprofile in + presets + + * presets/consumer/avformat/Vorbis, + presets/consumer/avformat/lossless/ProRes: add vorbis and prores encode + presets + +2012-08-25 Dan Dennedy + + * presets/consumer/avformat/AAC, presets/consumer/avformat/Flash, + presets/consumer/avformat/MJPEG, presets/consumer/avformat/MP3, + presets/consumer/avformat/MPEG-2, presets/consumer/avformat/MPEG-4, + presets/consumer/avformat/MPEG-4 ASP, presets/consumer/avformat/WAV, + presets/consumer/avformat/hdv_1080_25p/HDV, + presets/consumer/avformat/hdv_1080_30p/HDV, + presets/consumer/avformat/hdv_1080_50i/HDV, + presets/consumer/avformat/hdv_1080_60i/HDV, + presets/consumer/avformat/hdv_720_25p/HDV, + presets/consumer/avformat/hdv_720_30p/HDV, + presets/consumer/avformat/hdv_720_50p/HDV, + presets/consumer/avformat/hdv_720_60p/HDV, + presets/consumer/avformat/lossless/FFV1, + presets/consumer/avformat/lossless/H.264, + presets/consumer/avformat/lossless/HuffYUV, + presets/consumer/avformat/lossless/MJPEG, + presets/consumer/avformat/lossless/MPEG-2, + presets/consumer/avformat/lossless/MPEG-4, + presets/consumer/avformat/stills/BMP, presets/consumer/avformat/stills/DPX, + presets/consumer/avformat/stills/JPEG, presets/consumer/avformat/stills/PNG, + presets/consumer/avformat/stills/PPM, presets/consumer/avformat/stills/TGA, + presets/consumer/avformat/stills/TIFF, + presets/consumer/avformat/x264-medium-pass1: add a bunch of new encoding + presets + + * src/modules/avformat/producer_avformat.c: fix seeking on some formats (HDV) + after a/v sync improvements + +2012-08-24 Dan Dennedy - * src/modules/avformat/configure: Fix build for --avformat-svn to use FFmpeg - v0.5 and HEAD build to not use --enable-swscale. + * src/modules/avformat/producer_avformat.c, + src/modules/avformat/producer_avformat.yml: the recent A/V sync overhaul + needed some additional work + +2012-08-20 Brian Matherly + + * src/modules/avformat/producer_avformat.c: Update + src/modules/avformat/producer_avformat.c Better way to detect the + availability of PIX_FMT_YUVA444P. + +2012-08-19 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: fix build on ffmpeg v0.5 (no + CODEC_ID_VP8) + + * src/modules/xml/consumer_xml.c: fix possible null pointer with strdup() + + * src/melt/melt.c: let melt be stopped gracefully by signal + +2012-08-17 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: webm works better with use_pts=1 + as well (3559115) + + * src/modules/core/producer_consumer.c: fix null pointer check + (coverity-709396) + + * src/modules/sdl/consumer_sdl_preview.c: fix possible null pointer + dereference (coverity-714581) + +2012-08-16 Dan Dennedy + + * src/framework/mlt_consumer.c: fix possible null pointer dereferences + (coverity-714581) + + * src/modules/linsys/consumer_SDIstream.c: fix possible null pointer + dereference (coverity-714580) + + * src/framework/mlt_properties.c: fix possible null pointer dereference + (coverity-710882) + + * src/modules/xml/producer_xml.c: fix possible null pointer dereference + (coverity-710870) + + * src/modules/kino/filehandler.cc: fix possible null pointer dereferences + (coverity-709399) + + * src/modules/avformat/producer_avformat.c: fix possible null pointer + dereferences (coverity-709395) + + * src/melt/melt.c: fix possible null pointer dereference (coverity-709394) + + * src/framework/mlt_consumer.c: fix possible null pointer dereference + (coverity-709393) + + * src/modules/videostab/filter_videostab2.c: fix memory leak if fail to + alloc/init filter (coverity-714584) + + * src/modules/videostab/filter_videostab.c: fix memory leak if fail to + alloc/init filter (coverity-714583) + + * src/modules/gtk2/producer_pango.c: fix resource leak on iconv + (coverity-714582) + +2012-08-15 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: fix A/V synch on more H.264 files + (without B-frames) reported by Jordan Keyes + +2012-08-12 Dan Dennedy + + * src/framework/mlt_properties.c: fix reading properties file without + trailing newline + +2012-08-11 Dan Dennedy + + * src/melt/io.c, src/melt/melt.c: fix melt progress display on Windows + + * src/melt/melt.c: fix -progress2 with pipe input + + * src/melt/melt.c: fix melt progress indication on Windows with MELT_NOSDL + +2012-08-10 Dan Dennedy + + * src/melt/Makefile: let melt be built without SDL on Windows with + -DMELT_NOSDL in CFLAGS + +2012-08-08 Dan Dennedy + + * src/modules/core/consumer_multi.c: relay first nested consumer's frame-show + event instead of own + + * src/modules/core/consumer_multi.c: fix integrity of images with multi + consumer + +2012-08-05 Dan Dennedy + + * src/modules/jackrack/filter_jackrack.c: fix seeking jack clients when + seeking while paused + +2012-08-01 Mikko Rapeli + + * src/modules/videostab/filter_videostab2.c: videostab/filter_videostab2.c: + check for null Fixes Coverity CID 709405: Dereference before null check + (REVERSE_INULL) Directly dereferencing pointer "data". 244 data->stab + = calloc( 1, sizeof(StabData) ); 245 data->trans = calloc( 1, sizeof + (TransformData) ) ; Dereferencing "data" before a null check. 246 if ( + data ) + + * src/modules/videostab/filter_videostab.c, + src/modules/videostab/filter_videostab2.c: videostab/filter_videostab*.c: + check return value from mlt_filter_new() Fixes Coverity CID 709365 and + 709366: Dereference null return value (NULL_RETURNS) Function + "mlt_filter_new" returns null (checked 50 out of 52 times). [show details] + Assigning: "parent" = null return value from "mlt_filter_new". 201 + mlt_filter parent = mlt_filter_new(); Dereferencing a null pointer + "parent". 202 parent->child = self; + + * src/modules/videostab/filter_videostab.c, + src/modules/videostab/filter_videostab2.c: videostab/filter_videostab*.c: + check for null Fixes Coverity CID 709404: Dereference before null check + (REVERSE_INULL) Dereferencing pointer "g". [show details] 85 if ( + !mlt_geometry_parse( g, vectors, length, -1, -1 ) ) ... Dereferencing "g" + before a null check. 104 if ( g ) mlt_geometry_close( g ); + + * src/modules/sdl/consumer_sdl_still.c: sdl/consumer_sdl_still.c: use mutex + when changing sdl_screen Fixes Coverity CID 709357: Data race condition + (MISSING_LOCK) Accessing variable "this->sdl_screen" + (consumer_sdl_s.sdl_screen) requires the mlt_sdl_mutex lock. 230 + this->sdl_screen = NULL; ... Locking "mlt_sdl_mutex". 445 + pthread_mutex_lock( &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being + accessed with lock "mlt_sdl_mutex" held. 446 this->sdl_screen + = SDL_SetVideoMode( this->window_width, this->window_height, 0, + this->sdl_flags ); 447 if ( consumer_get_dimensions( + &this->window_width, &this->window_height ) ) 448 + this->sdl_screen = SDL_SetVideoMode( this->window_width, this->window_height, + 0, this->sdl_flags ); 449 450 uint32_t color = + mlt_properties_get_int( this->properties, "window_background" ); 451 + if ( this->sdl_screen ) 452 { 453 + SDL_FillRect( this->sdl_screen, NULL, color >> 8 ); 454 + changed = 1; 455 } 456 pthread_mutex_unlock( + &mlt_sdl_mutex ); + + * src/modules/sdl/consumer_sdl_preview.c: sdl/consumer_sdl_preview.c: use + mutex when changing refresh_count Fixes Coverity CID 709360: Data race + condition (MISSING_LOCK) Locking "this->refresh_mutex". 133 + pthread_mutex_lock( &this->refresh_mutex ); consumer_sdl_s.refresh_count is + being accessed with lock "this->refresh_mutex" held. 134 + this->refresh_count = this->refresh_count <= 0 ? 1 : this->refresh_count + 1; + 135 pthread_cond_broadcast( &this->refresh_cond ); 136 + pthread_mutex_unlock( &this->refresh_mutex ); ... Accessing variable + "this->refresh_count" (consumer_sdl_s.refresh_count) requires the + consumer_sdl_s.refresh_mutex lock. 295 this->refresh_count = 0; ... + Locking "this->refresh_mutex". 445 + pthread_mutex_lock( &this->refresh_mutex ); 446 + if ( this->running && speed == 0 && this->refresh_count <= 0 ) 447 + { 448 + mlt_events_fire( properties, "consumer-sdl-paused", NULL ); 449 + pthread_cond_wait( &this->refresh_cond, + &this->refresh_mutex ); 450 } + consumer_sdl_s.refresh_count is being accessed with lock + "this->refresh_mutex" held. 451 + this->refresh_count --; 452 + pthread_mutex_unlock( &this->refresh_mutex ); + + * src/modules/sdl/consumer_sdl_preview.c: sdl/consumer_sdl_preview.c: check + for null pointer Fixes Coverity CID 709403: Dereference before null check + (REVERSE_INULL) Dereferencing pointer "this->play". [show details] 290 + int eos_threshold = 20 + mlt_properties_get_int( MLT_CONSUMER_PROPERTIES( + this->play ), "buffer" ); ... Assigning: "this->active" = "this->play". 424 + this->active = this->play; ... + Dereferencing "this->play" before a null check. 466 if ( this->play ) + mlt_consumer_stop( this->play ); + + * src/modules/sdl/consumer_sdl_audio.c: sdl/consumer_sdl_audio.c: use mutex + when changing refresh_count Fixes Coverity CID 709359: Data race condition + (MISSING_LOCK) Locking "self->refresh_mutex". 145 + pthread_mutex_lock( &self->refresh_mutex ); consumer_sdl_s.refresh_count is + being accessed with lock "self->refresh_mutex" held. 146 + self->refresh_count = self->refresh_count <= 0 ? 1 : self->refresh_count + 1; + 147 pthread_cond_broadcast( &self->refresh_cond ); 148 + pthread_mutex_unlock( &self->refresh_mutex ); ... Accessing variable + "self->refresh_count" (consumer_sdl_s.refresh_count) requires the + consumer_sdl_s.refresh_mutex lock. 478 self->refresh_count = 0; ... + Locking "self->refresh_mutex". 535 + pthread_mutex_lock( &self->refresh_mutex ); 536 + if ( refresh == 0 && self->refresh_count <= 0 ) 537 + { 538 consumer_play_video( self, + frame ); 539 pthread_cond_wait( + &self->refresh_cond, &self->refresh_mutex ); 540 + } 541 mlt_frame_close( frame ); + consumer_sdl_s.refresh_count is being accessed with lock + "self->refresh_mutex" held. 542 + self->refresh_count --; 543 + pthread_mutex_unlock( &self->refresh_mutex ); + + * src/modules/sdl/consumer_sdl.c: sdl/consumer_sdl.c: use mutex when changing + sdl_screen Fixes Coverity CID 709357 and 709358: Data race condition + (MISSING_LOCK) Locking "mlt_sdl_mutex". 235 + pthread_mutex_lock( &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being + accessed with lock "mlt_sdl_mutex" held. 236 + this->sdl_screen = SDL_GetVideoSurface( ); 237 + pthread_mutex_unlock( &mlt_sdl_mutex ); ... Locking "mlt_sdl_mutex". 269 + pthread_mutex_lock( &mlt_sdl_mutex ); + consumer_sdl_s.sdl_screen is being accessed with lock "mlt_sdl_mutex" held. + 270 this->sdl_screen = SDL_SetVideoMode( + this->window_width, this->window_height, 0, this->sdl_flags ); 271 + pthread_mutex_unlock( &mlt_sdl_mutex ); ... Accessing variable + "this->sdl_screen" (consumer_sdl_s.sdl_screen) requires the mlt_sdl_mutex + lock. 315 this->sdl_screen = NULL; ... Locking + "mlt_sdl_mutex". 573 pthread_mutex_lock( + &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being accessed with lock + "mlt_sdl_mutex" held. 574 this->sdl_screen = + SDL_SetVideoMode( this->window_width, this->window_height, this->bpp, + this->sdl_flags ); 575 if ( consumer_get_dimensions( + &this->window_width, &this->window_height ) ) consumer_sdl_s.sdl_screen is + being accessed with lock "mlt_sdl_mutex" held. 576 + this->sdl_screen = SDL_SetVideoMode( this->window_width, + this->window_height, this->bpp, this->sdl_flags ); 577 + pthread_mutex_unlock( &mlt_sdl_mutex ); + + * src/modules/rtaudio/consumer_rtaudio.cpp: rtaudio/consumer_rtaudio.cpp: use + mutex when changing refresh_count Fixes Coverity CID 710859: Data race + condition (MISSING_LOCK) Accessing variable "this->refresh_count" + (RtAudioConsumer.refresh_count) requires the RtAudioConsumer.refresh_mutex + lock. 225 refresh_count = 0; ... Locking + "this->refresh_mutex". 282 + pthread_mutex_lock( &refresh_mutex ); 283 + if ( refresh == 0 && refresh_count <= 0 ) 284 + { 285 play_video( + frame ); 286 + pthread_cond_wait( &refresh_cond, &refresh_mutex ); 287 + } 288 + mlt_frame_close( frame ); RtAudioConsumer.refresh_count is being accessed + with lock "this->refresh_mutex" held. 289 + refresh_count --; 290 + pthread_mutex_unlock( &refresh_mutex ); ... Locking "rtaudio->refresh_mutex". + 561 pthread_mutex_lock( &rtaudio->refresh_mutex ); + RtAudioConsumer.refresh_count is being accessed with lock + "rtaudio->refresh_mutex" held. 562 rtaudio->refresh_count = + rtaudio->refresh_count <= 0 ? 1 : rtaudio->refresh_count + 1; 563 + pthread_cond_broadcast( &rtaudio->refresh_cond ); 564 + pthread_mutex_unlock( &rtaudio->refresh_mutex ); + + * src/modules/rtaudio/consumer_rtaudio.cpp: rtaudio/consumer_rtaudio.cpp: + initialize variables Fixes Coverty CID 710879: Uninitialized pointer field + (UNINIT_CTOR) n-static class member ""queue"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "consumer.child" is not initialized in this constructor nor in any functions + that it calls. Non-static class member field "consumer.close" is not + initialized in this constructor nor in any functions that it calls. + Non-static class member field "consumer.event_listener" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "consumer.is_stopped" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "consumer.local" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "consumer.put" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "consumer.queue" is not initialized in this constructor nor in any functions + that it calls. Non-static class member field "consumer.start" is not + initialized in this constructor nor in any functions that it calls. + Non-static class member field "consumer.stop" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "consumer.threads" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "consumer.worker_threads" is not initialized in this constructor nor in any + functions that it calls. + +2012-07-31 Mikko Rapeli + + * src/modules/rtaudio/RtAudio.h: rtaudio/RtAudio.h: initialize variables + Fixes Coverity CID 710878: Uninitialized scalar field (UNINIT_CTOR) + Non-static class member ""bufferSize"" is not initialized in this constructor + nor in any functions that it calls. Non-static class member ""channelOffset"" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member ""deviceFormat"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""deviceInterleaved"" is not initialized in this constructor nor in any + functions that it calls. Non-static class member ""doByteSwap"" is not + initialized in this constructor nor in any functions that it calls. + Non-static class member ""doConvertBuffer"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""latency"" is not initialized in this constructor nor in any functions that + it calls. Non-static class member ""mode"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""nBuffers"" is not initialized in this constructor nor in any functions that + it calls. Non-static class member ""nDeviceChannels"" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + ""nUserChannels"" is not initialized in this constructor nor in any functions + that it calls. Non-static class member ""sampleRate"" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + ""state"" is not initialized in this constructor nor in any functions that it + calls. Non-static class member ""streamTime"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""userBuffer"" is not initialized in this constructor nor in any functions + that it calls. Non-static class member ""userFormat"" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + ""userInterleaved"" is not initialized in this constructor nor in any + functions that it calls. 654 :apiHandle(0), deviceBuffer(0) { device[0] + = 11111; device[1] = 11111; } + + * src/modules/rtaudio/RtAudio.h: rtaudio/RtAudio.h: initialize variable + Fixes Coverity CID 710877: Uninitialized scalar field (UNINIT_CTOR) Class + member declaration for ""thread"". 535 ThreadHandle thread; ... Non-static + class member ""thread"" is not initialized in this constructor nor in any + functions that it calls. 543 :object(0), callback(0), userData(0), + apiInfo(0), isRunning(false) {} + + * src/modules/rtaudio/RtAudio.cpp: rtaudio/RtAudio.cpp: check for null + pointer Fixes Coverity CID 710858: Dereference after null check + (FORWARD_NULL) Comparing "this->rtapi_" to null implies that "this->rtapi_" + might be null. 146 if ( rtapi_ ) return; ... Passing null variable + "this->rtapi_" to function "RtApi::getDeviceCount()", which dereferences it. + (The dereference happens because this is a virtual function call.) 159 if + ( rtapi_->getDeviceCount() ) break; + + * src/modules/qimage/producer_kdenlivetitle.c: + qimage/producer_kdenlivetitle.c: add error handling Fixes Coverity CID + 709363: Argument cannot be negative (NEGATIVE_RETURNS) Function "ftell(f)" + returns a negative number. Assigning: signed variable "lSize" = "ftell". 37 + lSize = ftell (f); 38 rewind (f); 39 40 + char *infile = (char*) mlt_pool_alloc(lSize); "lSize" is passed to a + parameter that cannot be negative. and compiler warning: + producer_kdenlivetitle.c: In function ‘read_xml’: + producer_kdenlivetitle.c:49:19: warning: ‘infile’ may be used + uninitialized in this function [-Wmaybe-uninitialized] + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: + qimage/kdenlivetitle_wrapper.cpp: check for division by zero Fixes Coverity + CID 709345: Division or modulo by zero (DIVIDE_BY_ZERO) Assigning: "anim_out" + = "mlt_properties_get_position(producer_props, "_animation_out")". On this + path, function call "mlt_properties_get_position(producer_props, + "_animation_out")" has return value of 0 465 mlt_position + anim_out = mlt_properties_get_position( producer_props, "_animation_out" ); + ... Division by expression "anim_out" which may be zero has undefined + behavior 475 double percentage = position / anim_out; + + * src/modules/plus/filter_affine.c: plus/filter_affine.c: check for null + pointer Fixes Coverity CID 709402: Dereference before null check + (REVERSE_INULL) Dereferencing pointer "transition". [show details] 64 + mlt_properties_set_int( MLT_TRANSITION_PROPERTIES( transition + ), "b_alpha", 1 ); 65 } 66 Dereferencing "transition" before a + null check. 67 if ( producer != NULL && transition != NULL ) + + * src/modules/oldfilm/filter_dust.c: oldfilm/filter_dust.c: use correct + argument for sizeof() Fixes Coverity CID 709408: Wrong sizeof argument + (SIZEOF_MISMATCH) Passing argument "savepic" of type "uint8_t *" and argument + "8 /* sizeof (uint8_t *) */" to function "mlt_properties_set_data" is + suspicious. 142 + mlt_properties_set_data ( properties , savename , savepic , sizeof(uint8_t*) + , mlt_pool_release, NULL ); Passing argument "savealpha" of type "uint8_t *" + and argument "8 /* sizeof (uint8_t *) */" to function + "mlt_properties_set_data" is suspicious. 143 + + * src/modules/motion_est/producer_slowmotion.c: + motion_est/producer_slowmotion.c: check for null pointer Fixes Coverity CID + 709401: Dereference before null check (REVERSE_INULL) Directly dereferencing + pointer "frame". 279 *frame = mlt_frame_init( MLT_PRODUCER_SERVICE( + this ) ); 280 281 mlt_properties properties = + MLT_PRODUCER_PROPERTIES(this); 282 283 Dereferencing "frame" before a null + check. 284 if( frame != NULL ) + + * src/modules/lumas/luma.c: lumas/luma.c: check lower bounds on input Upper + bounds are not checked yet but maybe should be. Partially fixes these + Coverity findings: CID 709423: Untrusted value as argument (TAINTED_SCALAR) + [select defect] 370 this.w = atoi( argv[ ++ arg ] ); + 371 else if ( !strcmp( argv[ arg ], "-h" ) ) CID 709423: + Untrusted value as argument (TAINTED_SCALAR) [select defect] 372 + this.h = atoi( argv[ ++ arg ] ); 373 else if ( + !strcmp( argv[ arg ], "-bands" ) ) CID 709423: Untrusted value as argument + (TAINTED_SCALAR) [select defect] 374 this.bands = + atoi( argv[ ++ arg ] ); + + * src/modules/linsys/sdi_generator.c: linsys/sdi_generator.c: cast ints to + uint64_t Fixes Coverity CID 709367: Unintentional integer overflow + (OVERFLOW_BEFORE_WIDEN) Potentially overflowing expression + "audio_format->sample_rate / (myProfile->frame_rate_num / + myProfile->frame_rate_den) * sample_size / 8 * audio_format->channels" with + type "int" (32 bits, signed) is evaluated using 32-bit arithmetic before + being used in a context which expects an expression of type "uint64_t" (64 + bits, unsigned). To avoid overflow, cast either operand to "uint64_t" before + performing the multiplication. 422 value = + itoa( 423 + audio_format->sample_rate / (myProfile->frame_rate_num / + myProfile->frame_rate_den) * sample_size / 8 424 + * audio_format->channels); + + * src/modules/linsys/sdi_generator.c: linsys/sdi_generator.c: fix printf() + format Fixes compiler warning: In file included from + consumer_SDIstream.c:148:0: sdi_generator.c: In function ‘sdi_init’: + sdi_generator.c:352:3: warning: format ‘%li’ expects argument of type + ‘long int’, but argument 2 has type ‘uint64_t’ [-Wformat] + sdi_generator.c:354:3: warning: format ‘%li’ expects argument of type + ‘long int’, but argument 2 has type ‘uint64_t’ [-Wformat] + + * src/modules/linsys/consumer_SDIstream.c: linsys/consumer_SDIstream.c: check + for null pointers Fixes Coverity CID 709351: Dereference after null check + (FORWARD_NULL) Comparing "this->device_file_audio" to null implies that + "this->device_file_audio" might be null. 370 if + (this->device_file_audio) { ... Passing null variable + "this->device_file_audio" to function "sdi_init", which dereferences it. + [show details] 422 if (!sdi_init(this->device_file_video, + this->device_file_audio, this->blanking, mlt_service_profile((mlt_service) + consumer), &this->audio_format)) { + + * src/modules/linsys/consumer_SDIstream.c: linsys/consumer_SDIstream.c: check + for null pointer Fixes Coverity CID 709400: Dereference before null check + (REVERSE_INULL) Dereferencing pointer "this->device_file_video". (The + dereference is assumed on the basis of the 'nonnull' parameter attribute.) + 362 int fd = stat(this->device_file_video, &st); 363 if (fd == + -1) { Dereferencing "this->device_file_video" before a null check. 364 + if (this->device_file_video) + + * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variables + Fixes Coverity CID 709441: Uninitialized scalar field (UNINIT_CTOR) + Non-static class member field "dvinfo.dwDVAAuxCtl1" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "dvinfo.dwDVAAuxCtl" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "dvinfo.dwDVAAuxSrc1" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member field "dvinfo.dwDVAAuxSrc" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "dvinfo.dwDVReserved" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "dvinfo.dwDVVAuxCtl" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member field "dvinfo.dwDVVAuxSrc" is not initialized in this + constructor nor in any functions that it calls. + + * src/modules/kino/filehandler.cc: kino/filehandler.cc: check return value + from lseek() Fixes Coverity CID 709329: Unchecked return value + (CHECKED_RETURN) Calling function "lseek" without checking return value (as + is done elsewhere 19 out of 20 times). No check of the return value of + "lseek(this->fd, 0L, 0)". 409 lseek( fd, 0, SEEK_SET ); + + * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variable + Fixes Coverity CID 709442: Uninitialized scalar field (UNINIT_CTOR) + Non-static class member ""numBlocks"" is not initialized in this constructor + nor in any functions that it calls. + + * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variables + Fixes Coverity CID 709443: Uninitialized scalar field (UNINIT_CTOR) + Non-static class member ""everyNthFrame"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""framesToSkip"" is not initialized in this constructor nor in any functions + that it calls. Non-static class member ""maxFileSize"" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + ""timeStamp"" is not initialized in this constructor nor in any functions + that it calls. + + * src/modules/kino/avi.cc: kino/avi.cc: initialize variable Fixes Coverity + CID 709439: Uninitialized scalar field (UNINIT_CTOR) Non-static class member + field "dvinfo.dwDVAAuxCtl1" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "dvinfo.dwDVAAuxCtl" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member field "dvinfo.dwDVAAuxSrc1" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "dvinfo.dwDVAAuxSrc" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "dvinfo.dwDVReserved" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member field "dvinfo.dwDVVAuxCtl" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "dvinfo.dwDVVAuxSrc" is not initialized in this constructor nor in any + functions that it calls. + + * src/modules/kino/avi.cc: kino/avi.cc: initialize variables Fixes Coverity + CID 709437: Uninitialized scalar field (UNINIT_CTOR) Non-static class member + ""dmlh_chunk"" is not initialized in this constructor nor in any functions + that it calls. Non-static class member ""odml_list"" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "streamHdr.dwFlags" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "streamHdr.dwInitialFrames" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.dwLength" + is not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.dwQuality" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "streamHdr.dwRate" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "streamHdr.dwSampleSize" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.dwScale" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.dwStart" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "streamHdr.dwSuggestedBufferSize" is not initialized in this constructor nor + in any functions that it calls. Non-static class member field + "streamHdr.fccHandler" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.fccType" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.rcFrame" is not initialized in this + constructor nor in any functions that it calls. Non-static class member field + "streamHdr.wLanguage" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.wPriority" + is not initialized in this constructor nor in any functions that it calls. + + * src/modules/kino/avi.cc: kino/avi.cc: initialize variables Fixes Coverity + CID 709438: Uninitialized scalar field (UNINIT_CTOR) Non-static class member + ""dmlh"" is not initialized in this constructor nor in any functions that it + calls. Non-static class member field "mainHdr.dwFlags" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "mainHdr.dwHeight" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "mainHdr.dwInitialFrames" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "mainHdr.dwMaxBytesPerSec" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field + "mainHdr.dwMicroSecPerFrame" is not initialized in this constructor nor in + any functions that it calls. Non-static class member field + "mainHdr.dwPaddingGranularity" is not initialized in this constructor nor in + any functions that it calls. Non-static class member field + "mainHdr.dwReserved" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "mainHdr.dwStreams" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "mainHdr.dwSuggestedBufferSize" is not + initialized in this constructor nor in any functions that it calls. + Non-static class member field "mainHdr.dwTotalFrames" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "mainHdr.dwWidth" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.dwFlags" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.dwInitialFrames" is not initialized + in this constructor nor in any functions that it calls. Non-static class + member field "streamHdr.dwLength" is not initialized in this constructor nor + in any functions that it calls. Non-static class member field + "streamHdr.dwQuality" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.dwRate" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.dwSampleSize" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "streamHdr.dwScale" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.dwStart" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.dwSuggestedBufferSize" is not + initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.fccHandler" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "streamHdr.fccType" is not initialized in this constructor nor in any + functions that it calls. Non-static class member field "streamHdr.rcFrame" is + not initialized in this constructor nor in any functions that it calls. + Non-static class member field "streamHdr.wLanguage" is not initialized in + this constructor nor in any functions that it calls. Non-static class member + field "streamHdr.wPriority" is not initialized in this constructor nor in any + functions that it calls. + +2012-07-30 Mikko Rapeli + + * src/modules/kdenlive/producer_framebuffer.c: + kdenlive/producer_framebuffer.c: check return values Check calloc() return + and fix Coverity CID 709328: Unchecked return value (CHECKED_RETURN) Calling + function "mlt_producer_init" without checking return value (as is done + elsewhere 19 out of 20 times). No check of the return value of + "mlt_producer_init(producer, NULL)". 254 mlt_producer_init( producer, + NULL ); + + * src/modules/kdenlive/producer_framebuffer.c: + kdenlive/producer_framebuffer.c: check for null pointer Fixes Coverity CID + 709398: Dereference before null check (REVERSE_INULL) Directly dereferencing + pointer "frame". 203 *frame = mlt_frame_init( MLT_PRODUCER_SERVICE( + producer ) ); Dereferencing "frame" before a null check. 204 if( frame + != NULL ) + + * src/modules/jackrack/jack_rack.c: jack_rack_add_plugin(): handle null + pointer Fixes Coverity CID 710857: Explicit null dereferenced (FORWARD_NULL) + Assigning: "saved_plugin" = 0. 134 saved_plugin = NULL; 135 } 136 137 + /* initialize plugin parameters */ Dereferencing null variable + "saved_plugin". 138 plugin->enabled = settings_get_enabled + (saved_plugin->settings); + + * src/modules/jackrack/consumer_jack.c: consumer_jack.c: initialize + refresh_count with mutex held Fixes Coverity CID 709359. Locking + "self->refresh_mutex". 148 pthread_mutex_lock( + &self->refresh_mutex ); consumer_jack_s.refresh_count is being accessed with + lock "self->refresh_mutex" held. 149 self->refresh_count = + self->refresh_count <= 0 ? 1 : self->refresh_count + 1; 150 + pthread_cond_broadcast( &self->refresh_cond ); 151 + pthread_mutex_unlock( &self->refresh_mutex ); ... 486// int + last_position = -1; CID 709359: Data race condition (MISSING_LOCK) Accessing + variable "self->refresh_count" (consumer_jack_s.refresh_count) requires the + consumer_jack_s.refresh_mutex lock. 487 self->refresh_count = 0; ... + Locking "self->refresh_mutex". 544 + pthread_mutex_lock( &self->refresh_mutex ); 545 + if ( refresh == 0 && self->refresh_count <= 0 ) 546 + { 547 consumer_play_video( self, + frame ); 548 pthread_cond_wait( + &self->refresh_cond, &self->refresh_mutex ); 549 + } 550 mlt_frame_close( frame ); + consumer_jack_s.refresh_count is being accessed with lock + "self->refresh_mutex" held. + + * src/modules/jackrack/consumer_jack.c: consumer_jack.c: fix possible buffer + overflow CID 710871: Copy into fixed size buffer (STRING_OVERFLOW) You might + overrun the 30 byte fixed-size string "con_name" by copying "ports[i]" + without checking the length. 290 strcpy( + con_name, ports[i] ); + + * src/modules/gtk2/producer_pango.c: producer_pango.c: check for null pointer + Fixes Coverity CID 710867: Dereference before null check (REVERSE_INULL) + Dereferencing pointer "text". (The dereference is assumed on the basis of the + 'nonnull' parameter attribute.) 312 size_t inbuf_n = strlen( + text ); ... Dereferencing "text" before a null check. 319 if ( + text != NULL && strcmp( text, "" ) && iconv( cd, &inbuf_p, &inbuf_n, + &outbuf_p, &outbuf_n ) != -1 ) + + * src/modules/gtk2/producer_pango.c: producer_pango_init(): check for null + pointer Fixes Coverity CID 710868: Dereference before null check + (REVERSE_INULL) Dereferencing pointer "markup". (The dereference is assumed + on the basis of the 'nonnull' parameter attribute.) 219 + strcat( markup, line ); ... Dereferencing pointer + "markup". (The dereference is assumed on the basis of the 'nonnull' parameter + attribute.) 228 if ( markup[ strlen( markup ) + - 1 ] == '\n' ) 229 markup[ strlen( + markup ) - 1 ] = '\0'; ... Dereferencing "markup" before a null check. 232 + mlt_properties_set( properties, "markup", ( + markup == NULL ? "" : markup ) ); + + * src/modules/frei0r/frei0r_helper.c: frei0r/frei0r_helper.c: use correct + argument to sizeof() Fixes Coverity CID 709407: Wrong sizeof argument + (SIZEOF_MISMATCH) Passing argument "inst" of type "void *" and argument "8 /* + sizeof (void *) */" to function "mlt_properties_set_data" is suspicious. 79 + mlt_properties_set_data( prop , ctorname , inst, + sizeof(void*) , f0r_destruct , NULL );; + + * src/modules/frei0r/factory.c: frei0r/factory.c: fix possible buffer + overflow and null dereference Fixes Coverity CID 709415: Copy into fixed + size buffer (STRING_OVERFLOW) You might overrun the 1024 byte fixed-size + string "pluginname" by copying "firstname" without checking the length. 390 + strcat(pluginname,firstname); and CID 709397: + Dereference before null check (REVERSE_INULL) Dereferencing pointer + "firstname". (The dereference is assumed on the basis of the 'nonnull' + parameter attribute.) 390 + strcat(pluginname,firstname); + + * src/modules/frei0r/factory.c: frei0r/factory.c: fix sizeof() arguments + Fixes Coverity CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH) Passing + argument "handle" of type "void *" and argument "8 /* sizeof (void *) */" to + function "mlt_properties_set_data" is suspicious. 281 + mlt_properties_set_data(properties, "_dlclose_handle", handle , sizeof + (void*) , NULL , NULL ); 282 + mlt_properties_set_data(properties, "_dlclose", dlclose , sizeof (void*) , + NULL , NULL ); CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH) [select + defect] 283 mlt_properties_set_data(properties, + "f0r_construct", f0r_construct , sizeof(void*),NULL,NULL); CID 709406: Wrong + sizeof argument (SIZEOF_MISMATCH) [select defect] 284 + mlt_properties_set_data(properties, "f0r_update", f0r_update , + sizeof(void*),NULL,NULL); 285 if (f0r_update2) 286 + mlt_properties_set_data(properties, "f0r_update2", f0r_update2 , + sizeof(void*),NULL,NULL); CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH) + [select defect] 287 mlt_properties_set_data(properties, + "f0r_destruct", f0r_destruct , sizeof(void*),NULL,NULL); + + * src/modules/dv/producer_libdv.c: producer_libdv.c: check for null pointer + Fixes Coverity CID 710856: Dereference after null check (FORWARD_NULL) + Comparing "*frame" to null implies that "*frame" might be null. 491 + if ( *frame != NULL ) 492 data = + mlt_properties_get_data( MLT_FRAME_PROPERTIES( *frame ), "dv_data", NULL ); + 493 } 494 At conditional (2): "data != NULL" taking the false branch. + 495 if ( data != NULL ) ... Passing null variable "*frame" to function + "mlt_frame_set_position", which dereferences it. [show details] 540 + mlt_frame_set_position( *frame, mlt_producer_position( producer ) ); + +2012-07-29 Mikko Rapeli + + * src/modules/core/transition_region.c: transition_region.c: check for null + pointer Fixes Coverity CID 709350: Dereference after null check + (FORWARD_NULL) Comparing "type" to null implies that "type" might be null. 39 + char *arg = type == NULL ? NULL : strchr( type, ':' ); ... Passing + null variable "type" to function "mlt_factory_filter", which dereferences it. + [show details] 50 filter = mlt_factory_filter( profile, type, arg ); + + * src/modules/core/producer_melt.c: producer_melt_init(): check for null + pointer Fixes Coverity CID 709349: Dereference after null check + (FORWARD_NULL) Comparing "playlist" to null implies that "playlist" might be + null. 401 if ( playlist != NULL ) ... Passing null + variable "&playlist->parent.parent.parent" to function + "mlt_properties_get_int", which dereferences it. [show details] 466 if + ( !mlt_properties_get_int( MLT_PLAYLIST_PROPERTIES( playlist ), "_melt_first" + ) || 467 mlt_producer_get_playtime( MLT_PLAYLIST_PRODUCER( + playlist ) ) > 0 ) 468 mlt_multitrack_connect( multitrack, + MLT_PLAYLIST_PRODUCER( playlist ), track ); + +2012-07-26 Mikko Rapeli + + * src/modules/core/filter_data_show.c: filter_data_show.c: check dest buffer + sizes Fixes Coverity CID 709413: Copy into fixed size buffer + (STRING_OVERFLOW) You might overrun the 512 byte fixed-size string "temp" by + copying "profile" without checking the length. 58 + strcpy( temp, profile ); and CID 709414: Copy into fixed size buffer + (STRING_OVERFLOW) You might overrun the 512 byte fixed-size string "result" + by copying "metavalue" without checking the length. 225 + strcat( result, metavalue ? + metavalue : "-" ); + +2012-08-04 Dan Dennedy + + * src/modules/avformat/producer_avformat.c, + src/modules/avformat/producer_avformat.yml: add image cache size property to + avformat producer + + * src/framework/mlt_cache.c: lower default cache size to 4 to reduce memory + usage + +2012-08-03 Dan Dennedy + + * src/framework/mlt_cache.c: fix memory leak when using mlt_cache for frames + +2012-08-03 Marco Gittler + + * src/modules/oldfilm/filter_lines.c, src/modules/oldfilm/filter_lines.yml: + fix width output of filter in xml + +2012-07-26 Mikko Rapeli + + * src/modules/avformat/consumer_avformat.c: consumer_avformat: handle + negative return value Fixes Coverity CID 709361: Argument cannot be negative + (NEGATIVE_RETURNS) Function "ftell(f)" returns a negative number. Assigning: + signed variable "size" = "ftell". 937 + size = ftell( f ); 938 fseek( f, 0, + SEEK_SET ); 939 logbuffer = av_malloc( + size + 1 ); At conditional (1): "!logbuffer" taking the false branch. 940 + if ( !logbuffer ) 941 + mlt_log_fatal( MLT_CONSUMER_SERVICE( consumer ), + "Could not allocate log buffer\n" ); 942 + else 943 { "size" is passed to a + parameter that cannot be negative. 944 + size = fread( logbuffer, 1, size, f ); + +2012-07-25 Mikko Rapeli + + * src/framework/mlt_field.c, src/framework/mlt_frame.c, + src/framework/mlt_multitrack.c, src/framework/mlt_playlist.c, + src/framework/mlt_properties.c, src/framework/mlt_repository.c, + src/framework/mlt_service.c, src/framework/mlt_tractor.c, + src/modules/core/filter_audioconvert.c, src/modules/core/filter_crop.c, + src/modules/core/filter_imageconvert.c, src/modules/core/filter_panner.c, + src/modules/core/filter_resize.c, src/modules/core/producer_ppm.c, + src/modules/core/transition_composite.c, src/modules/core/transition_mix.c, + src/modules/dv/producer_libdv.c, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pixbuf.c, src/modules/kino/producer_kino.c, + src/modules/linsys/consumer_SDIstream.c, + src/modules/normalize/filter_volume.c, + src/modules/qimage/producer_kdenlivetitle.c, + src/modules/qimage/producer_qimage.c, src/modules/rtaudio/RtAudio.cpp, + src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/consumer_sdl_preview.c, src/modules/sdl/consumer_sdl_still.c, + src/modules/xml/consumer_xml.c, src/modules/xml/producer_xml.c: Fix calloc() + parameter ordering First parameter to calloc() is the count and second the + amount of bytes for each item. Likely this has no run time effect since the + resulting buffer size is the same. + + * src/framework/mlt_property.c: mlt_property_get_time(): get mutex before + accessing self->types Fixes Coverity CID 709356: Data race condition + (MISSING_LOCK) Accessing variable "self->types" (mlt_property_s.types) + requires the mlt_property_s.mutex lock. 871 self->types |= + mlt_prop_string; + + * src/framework/mlt_producer.c: mlt_producer_seek(): check that eof is not + NULL Fixes Coverity CID 709348: Dereference after null check (FORWARD_NULL) + Comparing "eof" to null implies that "eof" might be null. 310 else if + ( use_points && ( eof == NULL || !strcmp( eof, "pause" ) ) && position >= + mlt_producer_get_playtime( self ) ) 311 { 312 + mlt_producer_set_speed( self, 0 ); 313 position = + mlt_producer_get_playtime( self ) - 1; 314 } At conditional (3): + "use_points" taking the true branch. Passing null variable "eof" to function + "strcmp", which dereferences it. (The dereference is assumed on the basis of + the 'nonnull' parameter attribute.) 315 else if ( use_points && + !strcmp( eof, "loop" ) && position >= mlt_producer_get_playtime( self ) ) + + * src/framework/mlt_producer.c: mlt_producer_new(): check return value from + mlt_producer_init() + + * src/framework/mlt_playlist.c: mlt_playlist_init(): check return values from + mlt_producer_init() and calloc() Fixes Coverity CID 709327: Unchecked return + value (CHECKED_RETURN) Calling function "mlt_producer_init" without checking + return value (as is done elsewhere 17 out of 20 times). No check of the + return value of "mlt_producer_init(producer, self)". 73 + mlt_producer_init( producer, self ); + + * src/framework/mlt_frame.c: mlt_frame_get_waveform(): handle memory + allocation failure Fixes Coverity CID 709347. At conditional (1): "bitmap + != NULL" taking the false branch. CID 709347: Dereference after null check + (FORWARD_NULL) Comparing "bitmap" to null implies that "bitmap" might be + null. 802 if ( bitmap != NULL ) 803 memset( bitmap, 0, + size ); 804 mlt_properties_set_data( properties, "waveform", bitmap, + size, ( mlt_destructor )mlt_pool_release, NULL ); ... 826 + // Position buffer pointer using y coordinate, stride, and x coordinate + Assigning null: "p" = "bitmap + i / skip + displacement * w". 827 + unsigned char *p = bitmap + i / skip + displacement * w; ... 831 + if ( *pcm < 0 ) Dereferencing null variable "p". + 832 p[ w * k ] = ( k == 0 ) ? 0xFF : + p[ w * k ] + gray; 833 else Dereferencing null + variable "p". 834 p[ w * k ] = ( k == + height ) ? 0xFF : p[ w * k ] + gray; + + * src/framework/mlt_filter.c: mlt_filter.c: fix possible buffer overflows + Fixes Coverity CID 709411: Copy into fixed size buffer (STRING_OVERFLOW) You + might overrun the 20 byte fixed-size string "name" by copying "unique_id" + without checking the length. 257 strcat( name, unique_id ); and CID + 709412: Copy into fixed size buffer (STRING_OVERFLOW) You might overrun the + 20 byte fixed-size string "name" by copying "unique_id" without checking the + length. 302 strcat( name, unique_id ); + + * src/framework/mlt_filter.c: mlt_filter_new(): check return value from + mlt_filter_init() Fixes Coverity CID 709326: Unchecked return value + (CHECKED_RETURN) Calling function "mlt_filter_init" without checking return + value (as is done elsewhere 7 out of 8 times). No check of the return value + of "mlt_filter_init(self, NULL)". 78 mlt_filter_init( self, + NULL ); 79 return self; + + * src/modules/avformat/vdpau.c: vdpau: reduce runtime detection cost Don't + try to dlopen() every time, once is enough. + +2012-07-25 Christian Marillat + + * src/modules/avformat/vdpau.c: Fix vdpau library paths They have changed in + Debian. + + * src/modules/avformat/vdpau.c: vdpau compilation fix for ffmpeg 0.11 In + file included from producer_avformat.c:157:0: vdpau.c: In function + ‘vdpau_get_buffer’: vdpau.c:162:10: error: ‘AVFrame’ has no member + named ‘age’ vdpau.c:169:10: error: ‘AVFrame’ has no member named + ‘age’ + +2012-07-24 Mikko Rapeli + + * src/framework/mlt_consumer.c: mlt_consumer_start(): check return value from + mlt_properties_get_int() Fixes Coverity CID 709343: Division or modulo by + zero (DIVIDE_BY_ZERO) Division by expression + "mlt_properties_get_int(properties, "frame_rate_num")" which may be zero has + undefined behavior On this path, function call + "mlt_properties_get_int(properties, "frame_rate_num")" has return value of 0 + 442 int frame_duration = 1000000 / mlt_properties_get_int( properties, + "frame_rate_num" ) * 443 mlt_properties_get_int( + properties, "frame_rate_den" ); + + * src/framework/mlt_consumer.c: mlt_consumer_start(): get mutex before + accessing put_active Fixes Coverity CID 709355: Data race condition + (MISSING_LOCK) Accessing variable "self->put_active" + (mlt_consumer_s.put_active) requires the mlt_consumer_s.put_mutex lock. 411 + self->put_active = 1; + + * src/framework/mlt_consumer.c: mlt_consumer_new(): handle return value from + mlt_consumer_init() If init() fails return NULL. Fixes Coverity CID 709325. + At conditional (1): "self != NULL" taking the true branch. 339 if ( + self != NULL ) CID 709325: Unchecked return value (CHECKED_RETURN) Calling + function "mlt_consumer_init" without checking return value (as is done + elsewhere 10 out of 11 times). No check of the return value of + "mlt_consumer_init(self, NULL, profile)". 340 + mlt_consumer_init( self, NULL, profile ); + + * src/framework/mlt_consumer.c: mlt_consumer.c: watch out for null pointer + Fixes Coverity CID 709393: Dereference before null check (REVERSE_INULL) + Directly dereferencing pointer "profile". 235 + profile->sample_aspect_num = mlt_properties_get_int( properties, + "sample_aspect_num" ); Dereferencing "profile" before a null check. 236 + if ( profile ) + +2012-07-23 Mikko Rapeli + + * src/framework/mlt_cache.c: mlt_cache.c: watch out for null pointer Fixes + Coverity CID 709346: Dereference after null check (FORWARD_NULL) Comparing + "result" to null implies that "result" might be null. 449 if ( + result && result->data ) 450 result->refcount++; + Dereferencing null variable "result". 451 mlt_log( NULL, + MLT_LOG_DEBUG, "%s: get %d = %p, %p\n", __FUNCTION__, cache->count - 1, *hit, + result->data ); 452 + + * src/framework/mlt_cache.c: mlt_cache.c: check for null pointer Fixes CID + 709392: Dereference before null check (REVERSE_INULL). + +2012-07-02 Mikko Rapeli + + * src/modules/kino/riff.cc: riff.cc: Fail if lseek() fails Fixes Coverity + CID 709362: Argument cannot be negative (NEGATIVE_RETURNS) Function + "lseek(this->fd, 0LL, 0)" returns a negative number. Assigning: signed + variable "pos" = "lseek". ... "pos" is passed to a parameter that cannot be + negative. 548 fail_if( lseek( fd, pos, SEEK_SET ) == ( off_t ) + - 1 ); + + * src/modules/kino/riff.cc: riff.cc: Initialize data in constructor Fixes + Coverity CID 709444: Uninitialized scalar field (UNINIT_CTOR) Non-static + class member ""length"" is not initialized in this constructor nor in any + functions that it calls. Non-static class member ""name"" is not initialized + in this constructor nor in any functions that it calls. Non-static class + member ""offset"" is not initialized in this constructor nor in any functions + that it calls. Non-static class member ""parent"" is not initialized in this + constructor nor in any functions that it calls. Non-static class member + ""type"" is not initialized in this constructor nor in any functions that it + calls. Non-static class member ""written"" is not initialized in this + constructor nor in any functions that it calls. + +2012-07-23 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + fix crash when switching image formats with alpha This happens when + switching from image format with distinct alpha channel (yuv422) to one with + embedded alpha channel (rgb24a). Reported-by: j-b-m + + * src/framework/mlt_properties.c: fix memory read error found by valgrind + +2012-07-22 Dan Dennedy + + * src/framework/mlt_events.c: fix memory leak and missing unlock + (coverity-709377 & 709354) + + * src/modules/normalize/filter_volume.c: fix possible divide by zero + (coverity-709344) + + * src/modules/oldfilm/filter_dust.c: remove dead code (coverity-709337) + + * src/modules/core/transition_composite.c: remove dead code (coverity-709335 + & 709336) + + * src/framework/mlt_playlist.c: remove dead code (coverity-709334) + + * src/modules/videostab/stabilize.c: fix faulty image format tests + (coverity-709330, 709331, & 709332) + + * src/modules/videostab/stabilize.c: fix memory leak (coverity-709387, + 709388, & 709389) + +2012-07-23 Dan Dennedy + + * src/framework/mlt_deque.c: fix crash on null pointer reported by Mikko + Rapeli + + * src/framework/mlt_deque.c: initialze with calloc instead of memberwise + (future-proofing) + + * src/framework/mlt_events.c: fix uninitialized memory in mlt_events + +2012-07-22 Dan Dennedy + + * src/modules/core/Makefile: fix regression building on 32-bit + + * src/modules/videostab/stab/klt/klt.c: fix uninitialized memory + (coverity-709434) + + * src/modules/avformat/producer_avformat.c: fix out-of-bounds read + (coverity-709368) + + * src/modules/xml/producer_xml.c: fix memory leak (coverity-710866) + + * src/modules/xml/producer_xml.c: fix memory leak (coverity-710865) + + * src/modules/xml/consumer_xml.c: fix memory leak (coverity-710864) + + * src/modules/gtk2/filter_rescale.c: fix memory leak (coverity-710863) + + * src/modules/videostab/stab/klt/klt.c: fix uninitialized var + (coverity-709434) + + * src/modules/kino/riff.cc: fix uninitialized var (coverity-709433) + + * src/framework/mlt_multitrack.c: fix uninitialized array (coverity-709432) + + * src/framework/mlt_frame.c: fix uninitialized vars (coverity-709430 & + 709431) + + * src/modules/vorbis/producer_vorbis.c: fix memory leak (coverity-709391) + + * src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h: + remove unused function (coverity-709390) + + * src/modules/sox/filter_sox.c: fix memory leak (coverity-709386) + + * src/modules/core/producer_melt.c: fix file handle leak (coverity-709383) + + * src/modules/core/filter_imageconvert.c: fix memory leak (coverity-709382) + + * src/modules/avformat/consumer_avformat.c: fix file handle leak + (coverity-709381) + + * src/mlt++/MltFilteredProducer.cpp: fix memory leak (coverity-709380) + + * src/mlt++/MltService.cpp, src/mlt++/MltService.h: add + Service::get_profile() returns mlt_profile + + * src/framework/mlt_tractor.c: fix memory leak (coverity-709379) + + * src/framework/mlt_profile.c: fix memory leak (coverity-709378) + + * src/framework/mlt_consumer.c: fix memory leak (coverity-709376) + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: fix memory leak + (coverity-709375) + + * src/modules/avformat/producer_avformat.c: fix out-of-bounds read + (coverity-709368 & 709369) + +2012-07-20 Dan Dennedy + + * AUTHORS, src/modules/core/Makefile, + src/modules/core/composite_line_yuv_sse2_simple.c, + src/modules/core/transition_composite.c: improve compatibility to compile + composite sse2 (macports-35243) + +2012-07-19 Maksym Veremeyenko + + * src/modules/avformat/producer_avformat.c: move mutex and deque + initialization to producer init method + + * src/modules/avformat/producer_avformat.c: fix leak of dv packets + + * src/modules/avformat/producer_avformat.c: fix memleak if file fails to open + +2012-07-14 Dan Dennedy + + * src/melt/melt.c: add define MELT_NOSDL to not use SDL_main() This is + helpful on OS X when using melt as a utility to prevent the program from + appearing in the Dock. + +2012-07-13 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: fix crash in avformat consumer + when audio encoding fails + +2012-07-12 Dan Dennedy + + * src/modules/core/producer_loader.c, src/modules/xml/producer_xml.c: accept + file:// prefix on MLT XML file + +2012-06-27 Dan Dennedy + + * src/modules/jackrack/plugin_mgr.c: fix some LADSPA crashing on dlclose on + some systems (3538363) + +2012-06-23 Dan Dennedy + + * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h, + src/mlt++/MltPlaylist.cpp, src/mlt++/MltPlaylist.h, + src/modules/core/producer_melt.c, src/modules/xml/producer_xml.c: add support + for time string to playlist blanks + + * src/modules/core/transition_region.c: make alpha channel independent of + lifetime of region frame + + * src/modules/core/transition_region.c: fix memory leak when using + filter_only with region transition + + * src/modules/core/transition_region.c: improve readability + + * src/modules/core/transition_region.c: rename this to transition and frame + + * src/modules/core/transition_region.c: fix filters that need progress with + region filter/transition See for example, obscure filter, as used in + demo/mlt_obscure. + + * src/modules/core/filter_region.c: fix race condition in region filter when + parallel processing based on patch from j-b-m + + * src/modules/jackrack/consumer_jack.c, + src/modules/jackrack/consumer_jack.yml, + src/modules/rtaudio/consumer_rtaudio.cpp, + src/modules/rtaudio/consumer_rtaudio.yml, + src/modules/sdl/consumer_sdl_audio.c, src/modules/sdl/consumer_sdl_audio.yml: + add support for audio scrubbing to audio-only consumers + +2012-06-21 Dan Dennedy + + * src/modules/jackrack/filter_jackrack.c: change printfs in filter_jackrack + to mlt_log_verbose + + * src/modules/jackrack/filter_jackrack.c: send jack silence on buffer + underrun This occurs with the sdl_preview or any of the audio-only consumers + when paused. Otherwise, jack just plays unset memory, which is usually + something worse than just noise. + + * src/modules/xml/producer_xml.c: fix loading xml file on windows + +2012-06-20 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: stop checking PTS if we are only + using DTS + +2012-06-20 Jean-Baptiste Mardelle + + * src/modules/qimage/configure: Fix Qt4 detection when Qt3 is installed + +2012-06-19 Dan Dennedy + + * src/framework/mlt_producer.c, src/framework/mlt_producer.h, + src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h: add + mlt_producer_seek_time and mlt_producer_frame_time + + * .gitignore: add to .gitignore + + * src/mlt++/MltFilteredConsumer.cpp, src/mlt++/MltFilteredConsumer.h, + src/mlt++/MltFilteredProducer.cpp, src/mlt++/MltFilteredProducer.h, + src/mlt++/MltPushConsumer.cpp, src/mlt++/MltPushConsumer.h: add const-ness to + some strings in specialized service classes + +2012-06-18 Dan Dennedy + + * src/modules/xml/producer_xml.c: fix loading xml with producer not enclosed + in playlist or multitrack + + * src/modules/rotoscoping/filter_rotoscoping.c, + src/modules/vmfx/filter_shape.c, src/modules/xine/vf_yadif_template.h, + src/modules/xine/yadif.c: fix clang errors + +2012-06-16 Dan Dennedy + + * src/modules/rtaudio/consumer_rtaudio.cpp: add support for AUDIODEV + environment var to rtaudio + + * src/modules/avformat/producer_avformat.c, + src/modules/avformat/producer_avformat.yml: overhaul a/v sync and seeking in + avformat producer The new_seek property changed to use_pts. This + consolidates old seek and new seek code, improves a/v sync for more files, + and improves seek performance for AVCHD in general (including libav). + + * src/modules/decklink/common.cpp: fix BSTR string conversion under Windows + +2012-06-04 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: fix crash when reporting error + in decklink producer init + + * NEWS, configure, src/framework/mlt_version.h: set interim version to 0.8.1 + +2012-06-01 Dan Dennedy + + * ChangeLog: update ChangeLog for v0.8.0 + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h, + src/modules/avformat/configure: set version to 0.8.0 + + * NEWS: add release notes for v0.8.0 + + * src/modules/avformat/producer_avformat.c: fix image format regression in + avformat caching + + * src/modules/avformat/producer_avformat.c: remove unused alpha_cache member + + * src/modules/avformat/producer_avformat.c: fix video_delay when using + new_seek (AVCHD) + + * src/modules/avformat/producer_avformat.c: fix a/v sync after recent change + for faster AVCHD seeking + +2012-05-31 Dan Dennedy + + * src/modules/gtk2/scale_line_22_yuv_mmx.S: fix regression in build on 32-bit + linux gcc 4.6.1 + +2012-06-01 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: fix image format regression in + avformat caching + + * src/modules/avformat/producer_avformat.c: remove unused alpha_cache member + + * src/modules/avformat/producer_avformat.c: fix video_delay when using + new_seek (AVCHD) + + * src/modules/avformat/producer_avformat.c: fix a/v sync after recent change + for faster AVCHD seeking + +2012-05-31 Dan Dennedy + + * src/modules/gtk2/scale_line_22_yuv_mmx.S: fix regression in build on 32-bit + linux gcc 4.6.1 + +2012-05-31 Jean-Baptiste Mardelle + + * src/modules/kdenlive/filter_freeze.c: Fix indentation + +2012-05-30 eddrog + + * src/modules/jackrack/filter_jackrack.c: fix initialize status to zero + +2012-05-29 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: convert avformat producer to use + the new mlt_cache_put_frame + + * src/modules/decklink/producer_decklink.cpp: fix decklink producer dropping + frames after few hours mlt_cache_put() was not scalable when using position + as a key into the cache. Its reliance upon mlt_properties for + reference-counting cache items caused its hash tabe to grow too large after a + few hundred thousand frames. This version uses the new mlt_cache_put_frame, + which is simpler and more scalable by only using the cache arrays and copying + data. + + * src/framework/mlt_cache.c, src/framework/mlt_cache.h: add + mlt_cache_put_frame and mlt_cache_get_frame + + * src/modules/gtk2/Makefile, src/modules/gtk2/configure, + src/modules/gtk2/scale_line_22_yuv_mmx.S, src/modules/jackrack/Makefile, + src/modules/jackrack/configure: fix cross-compiling gtk2 and jackrack modules + for windows + +2012-05-26 Dan Dennedy + + * configure, src/mlt++/configure, src/modules/qimage/configure, + src/modules/swfdec/Makefile, src/modules/videostab/stab/estimate.c: add + configure options and fixes for cross-compiling + +2012-05-22 Jean-Baptiste Mardelle + + * src/modules/kdenlive/filter_freeze.c: Fix filter freeze problem with clip + cuts + +2012-05-22 eddrog + + * src/modules/jackrack/filter_jackrack.c: fix unique name problem in + filter_jackrack when several filter instances are loaded within one process + on evaluating the jack status JackNameNotUnique + +2012-05-19 Dan Dennedy + + * src/modules/decklink/DeckLinkAPI.h, + src/modules/decklink/DeckLinkAPIDispatch.cpp, + src/modules/decklink/DeckLinkAPI_h.h, src/modules/decklink/DeckLinkAPI_i.cpp, + src/modules/decklink/LinuxCOM.h, src/modules/decklink/Makefile, + src/modules/decklink/common.cpp, src/modules/decklink/common.h, + src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/darwin/DeckLinkAPI.h, + .../decklink/darwin/DeckLinkAPIDispatch.cpp, + src/modules/decklink/linux/DeckLinkAPI.h, + src/modules/decklink/linux/DeckLinkAPIDispatch.cpp, + src/modules/decklink/linux/LinuxCOM.h, + src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/win/DeckLinkAPI_h.h, + src/modules/decklink/win/DeckLinkAPI_i.cpp: fix decklink build for OS X + +2012-05-12 Dan Dennedy + + * src/modules/xml/producer_xml.c: indicate if mlt xml is seekable based on + its producers + +2012-04-18 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/producer_decklink.cpp: fix decklink build on Windows + +2012-04-11 Dan Dennedy + + * src/modules/plus/filter_affine.c, src/modules/plus/interp.h, + src/modules/plus/transition_affine.c: fix distortion handling alpha channel + in affine transition Reported-by: j-b-m + +2012-04-10 Dan Dennedy + + * demo/mlt_ticker, src/modules/plus/filter_affine.c: fix background alpha + channel of affine filter broke when black producer was changed to opaque + like other colors + + * src/modules/plus/interp.h: remove remap functions and document + interpolation parameters in English + +2012-04-07 Dan Dennedy + + * src/modules/core/producer_colour.c: fix color:black + + * src/modules/core/transition_luma.c: fix regression due to alpha channels of + A and B swapped + + * src/modules/core/producer_colour.c: fix the alpha channel to be opaque on + empty string + + * src/modules/plus/transition_affine.c, + src/modules/qimage/qimage_wrapper.cpp: fix regressions during refactorization + +2012-04-02 Dan Dennedy + + * src/modules/jackrack/filter_jackrack.c: fix jack-stopped event with some + JACK clients It appears that JackTransportStopped is not received in + JackSyncCallback unless the client that calls jack_transport_stop() also + calls jack_transport_locate(). + + * src/framework/mlt_property.c: fix build for OS X + +2012-03-31 Dan Dennedy + + * src/modules/xml/producer_xml.c: add support for parsing time(code) values + to xml producer + + * src/modules/xml/consumer_xml.c, src/modules/xml/consumer_xml.yml: add + time_format property to xml consumer Now you can save the in, out, and + length properties as timecode or clock values. Default unit it still in frame + count. + + * src/framework/mlt_producer.c, src/framework/mlt_producer.h, + src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h: add + mlt_producer_get_length_time() More functions that return time strings will + be added later. + + * configure, src/framework/mlt_properties.c, src/framework/mlt_properties.h, + src/framework/mlt_property.c, src/framework/mlt_property.h, + src/framework/mlt_types.h, src/mlt++/MltProperties.cpp, + src/mlt++/MltProperties.h: add support for timecode and clock time strings to + the framework + +2012-04-01 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: make speed of editing AVCHD + tolerable This only works for FFmpeg v0.9.1 or newer but not yet for libav. + This uses the image scaling interpolation mode as a hint to perform less + (nearest) or more (bilinear or bicubic) diligent seeking. Since most editors + are using the SDL consumer with rescale=nearest, this makes scrubbing and + cuts/transitions faster. Then, upon encoding, since the avformat consumer + uses bilinear by default, it will use the slower, more accurate seeking to + ensure the integrity of cuts with an in point. This change has some quirks: + frame-stepping backwards sometimes does not update the image, and sometimes a + big jump forward shows artifacts. + +2012-03-27 Dan Dennedy + + * GPLv3, configure, src/modules/qimage/Makefile, + src/modules/qimage/configure, src/modules/qimage/factory.c: require configure + --enable-gpl3 for GPLv3 services (currently only vqm) + +2012-03-25 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: + fix resource leak regression in image producers + +2012-03-19 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/producer_decklink.cpp: enumerate DeckLink devices when + list_devices property is set + +2012-03-19 Maksym Veremeyenko + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/producer_decklink.cpp: Initialize all decklink interface + pointers and reset them upon release. Also, add a couple of missing + releases. + +2012-03-18 Brian Matherly + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: Fix incorrect precompiler + conditionals for libav/ffmpeg versions. Needed to support ffmpeg 0.9 and + 0.10 releases. + +2012-03-17 Dan Dennedy + + * src/modules/gtk2/configure: add gdk-pixbuf-2.0 dependency to pango producer + + * src/framework/configure: fix build on OS X 10.6 + +2012-03-14 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/consumer_decklink.yml, + src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/producer_decklink.yml: enumerate available devices in + decklink module + + * src/modules/avformat/producer_avformat.c: fix segfault on failure to decode + with multi-threaded decoding self->got_picture was somewhat redundant with + self->av_frame, but not synchronized and not ever really reset. So, just + remove that state and use the state of self->av_frame and local got_picture. + +2012-03-12 Maksym Veremeyenko + + * src/modules/avformat/producer_avformat.c: fix playing audio with 0 channels + +2012-03-11 Brian Matherly + + * src/modules/gtk2/producer_pixbuf.yml, + src/modules/qimage/producer_qimage.yml: Fix broken pixbuf and qimage producer + metadata. + +2012-03-07 Dan Dennedy + + * src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/qimage/producer_qimage.c: indicate image producers seekable + +2012-03-06 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.yml, + src/modules/qimage/producer_qimage.yml: update service metadata for pixbuf + and qimage + +2012-03-05 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: + allow %u in image sequence pattern containing begin value + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: + add image sequences where scanf format contains begin value For example, if + an image sequence begins with the file foo1234.png, you can use the resource + string "foo%1234d.png" to load it. + + * src/modules/qimage/producer_qimage.c: refactor load_filenames in qimage + + * src/modules/gtk2/producer_pixbuf.c: refactor load_filenames in pixbuf + +2012-03-04 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp, + src/modules/qimage/qimage_wrapper.cpp: remove a couple more remnants of + legacy real_width and _height + + * src/modules/avformat/producer_avformat.c, src/modules/dv/producer_libdv.c: + remove deprecated source_fps property + + * src/framework/mlt_tractor.c, src/modules/avformat/producer_avformat.c, + src/modules/core/consumer_multi.c, src/modules/core/filter_crop.c, + src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c, + src/modules/core/producer_colour.c, src/modules/core/producer_consumer.c, + src/modules/core/producer_loader.c, src/modules/core/transition_composite.c, + src/modules/dv/producer_libdv.c, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pixbuf.c, + src/modules/kdenlive/producer_framebuffer.c, + src/modules/plus/transition_affine.c, src/modules/sdl/producer_sdl_image.c, + src/modules/swfdec/producer_swfdec.c, + src/modules/videostab/filter_videostab2.c, src/modules/vmfx/producer_pgm.c: + replace legacy real_width and _height with meta.media.width and .height This + takes advantage of mlt_producer copying all meta properties from producer to + frame so we do not have to remember to do it everywhere it is needed. + +2012-02-29 Dan Dennedy + + * src/framework/mlt_consumer.c, src/framework/mlt_frame.c, + src/framework/mlt_profile.c, src/framework/mlt_tractor.c, + src/framework/mlt_transition.c, src/modules/core/filter_crop.c, + src/modules/core/filter_watermark.c, src/modules/kdenlive/filter_freeze.c, + src/modules/kdenlive/producer_framebuffer.c, + src/modules/oldfilm/filter_dust.c, src/modules/plus/filter_affine.c, + src/modules/plus/transition_affine.c: remove consumer_aspect_ratio property - + use profile instead + + * src/framework/mlt_tractor.c, src/modules/core/filter_watermark.c, + src/modules/core/transition_composite.c, + src/modules/kdenlive/filter_freeze.c: remove output_ratio property - use + profile instead + + * src/modules/core/filter_crop.c, src/modules/core/filter_obscure.c, + src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c, + src/modules/core/filter_watermark.c, src/modules/core/transition_composite.c, + src/modules/plus/filter_affine.c, src/modules/plus/transition_affine.c: + remove usage of normalised_width and _height properties from services + + * src/modules/plus/transition_affine.c: rename this to transition and affine + + * src/modules/core/transition_composite.c: rename this to self in composite + transition + + * src/modules/core/filter_resize.c: rename this to frame and filter + + * src/modules/core/filter_rescale.c: rename this to frame and filter + + * src/modules/core/filter_obscure.c: rename this to filter + + * src/modules/core/filter_crop.c: rename this to frame and filter + + * src/framework/mlt_frame.c, src/framework/mlt_tractor.c: remove + normalised_width and _height properties from framework + +2012-03-04 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + fix regression with adding image conversion to image producers + +2012-03-02 Dan Dennedy + + * src/modules/qimage/producer_qimage.c, + src/modules/qimage/qimage_wrapper.cpp, src/modules/qimage/qimage_wrapper.h: + convert to and cache requested format in qimage + +2012-03-01 Dan Dennedy + + * src/modules/qimage/producer_qimage.c, + src/modules/qimage/qimage_wrapper.cpp, src/modules/qimage/qimage_wrapper.h: + split refresh_qimage() into refresh_qiamge() and refresh_image() + + * src/modules/gtk2/producer_pixbuf.c: fix regression in pixbuf setting + _real_width and _height for loader + + * src/modules/qimage/qimage_wrapper.cpp: factorize out exif reorientation in + qimage producer + + * src/modules/qimage/qimage_wrapper.cpp: remove the cache property from + qimage This is removed in the course of refactorizing to make the code more + maintainable for improvements. If you really need to cache an entire image + sequence in memory use a ramdisk. + +2012-02-29 Dan Dennedy + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: fix QObject::connect of type + QTextCursor errors + +2012-02-28 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c: fix regressions caused by refactoring + and format conversion + + * src/modules/gtk2/producer_pixbuf.c: convert to and cache requested format + in pixbuf Original idea for patch came from Maksym Veremeyenko. + +2012-02-27 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c: split refresh_image() into + refresh_pixbuf() and refresh_image() + + * src/modules/core/transition_composite.yml, + src/modules/gtk2/producer_pixbuf.yml: couple of small service metadata fixes + +2012-02-26 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c: factorize out exif reorientation + + * src/modules/gtk2/producer_pixbuf.c: remove the cache property from pixbuf + This is removed in the course of refactorizing to make the code more + maintainable for improvements. If you really need to cache an entire image + sequence in memory use a ramdisk. + +2012-02-28 Dan Dennedy + + * src/modules/core/loader.dict: change priority of producers for swf files + (3494517) + +2012-02-26 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: the audio also stutters on Linux when + paused + +2012-02-25 j-b-m + + * src/modules/avformat/consumer_avformat.c: fix some audio codecs not + detected with newer libavcodec + +2012-02-22 Dan Dennedy + + * src/mlt++/MltProfile.cpp: fix Mlt::Profile::set_frame_rate setting + incorrect fields + + * src/modules/avformat/consumer_avformat.c: fix segfault on stop in avformat + consumer + + * src/modules/avformat/producer_avformat.c: add meta.media.codec.width and + .height + + * src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/producer_decklink.yml: fix regression when using + producer 'consumer' with decklink This feature now requires one to set the + preview property on this producer to support special preview mode when the + speed is 0. + + * src/modules/core/composite_line_yuv_sse2_simple.c: fix asm compilation on + some versions of gcc + +2012-02-20 Maksym Veremeyenko + + * src/modules/decklink/producer_decklink.cpp: allow start decklink producer + from pause + +2012-02-20 Dan Dennedy + + * src/framework/mlt_frame.c, src/modules/avformat/filter_avcolour_space.c, + src/modules/core/filter_crop.c, src/modules/core/filter_resize.c, + src/modules/core/transition_region.c: let mlt_frame_set_alpha clear the + get_alpha_mask function pointer + + * src/modules/avformat/producer_avformat.c: fix avformat build on older + versions (YUVA444P is new) + +2012-02-17 Maksym Veremeyenko + + * src/modules/avformat/producer_avformat.c: alpha extracting from planar + formats + +2012-02-16 Maksym Veremeyenko + + * src/framework/mlt_frame.c: clone alpha on whan cloning image + +2012-02-19 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: prevent audio from stuttering when + paused on Windows + + * src/modules/sdl/consumer_sdl_audio.c: rename this to self + + * configure, src/framework/mlt_version.h: set interim version 0.7.9 + +2012-02-16 Dan Dennedy + + * src/modules/core/transition_luma.c: refactor dissolve_yuv() to use + composite_line_yuv() + + * src/modules/core/transition_composite.c, + src/modules/core/transition_composite.h: make composite_line_yuv() available + to other services + +2012-02-16 Maksym Veremeyenko + + * src/modules/core/transition_composite.c: fix rounding causes by -ffast-math + + * src/modules/core/composite_line_yuv_sse2_simple.c, + src/modules/core/transition_composite.c: use sse2 instruction for line + compositing + +2012-02-13 Dan Dennedy + + * ChangeLog: update ChangeLog for v0.7.8 + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h, + src/melt/melt.c: set version to 0.7.8 + + * NEWS: add release notes for v0.7.8 + +2012-02-12 Brian Matherly + + * src/modules/avformat/consumer_avformat.c: Detect video codecs that use the + new libavcodec "encode2" method. + +2012-02-12 Dan Dennedy + + * Makefile, src/modules/core/loader.dict, + src/modules/sdl/producer_sdl_image.yml: deprecate sdl_image + + * src/modules/qimage/producer_qimage.c: rename this to self + + * src/modules/gtk2/producer_pixbuf.c: rename this to self + + * src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h: make Frame::get_position() + retrun type consistent + +2012-02-12 Simon A. Eugster + + * src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h: Add get_position to + Mlt::Frame + +2012-02-11 Dan Dennedy + + * src/modules/qimage/transition_vqm.cpp: fix transition vqm build on mingw32 + + * src/modules/core/producer_loader.c: support non-explicit abnormal producer + usage Non-explicit means the factory was not supplied with a specific + service ID but rather an "abnormal:" prefix to the resource value. + +2012-01-27 Ryan Rix + + * src/modules/qimage/qimage_wrapper.cpp: Patch to build with GCC 4.7 Built + and tested downstream in RPMFusion. This addresses some changes in how GCC + 4.7 no longer uses unistd by default to keep the global namespace sane. + +2012-02-10 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Ensure thread cleanup upon stop + when an error occurs. Also, use event consumer-fatal-error to let melt fail + with proper exit status. + +2012-02-09 Dan Dennedy + + * src/modules/xml/consumer_xml.c: fix possible mem corruption in + filter_restricted() + + * src/modules/qimage/transition_vqm.cpp: scale size and position of rendered + text with resolution + + * src/modules/qimage/transition_vqm.cpp: add vqm metrics to frame properties + + * src/modules/qimage/transition_vqm.cpp: fix build warning in vqm + + * src/modules/swfdec/configure: fix swfdec/configure appending to config.mak + +2012-02-09 Brian Matherly + + * Makefile: Exit make with error if any yml validation fails. + +2012-02-08 Dan Dennedy + + * src/modules/qimage/factory.c, src/modules/qimage/transition_vqm.cpp, + src/modules/qimage/transition_vqm.yml: add rendering to vqm and yaml service + metadata + +2012-02-06 Dan Dennedy + + * src/modules/qimage/Makefile, src/modules/qimage/factory.c, + src/modules/qimage/transition_vqm.cpp: add vqm transition + +2012-02-07 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: fix race condition stopping + avformat consumer Reported-by: Maksym Veremeyenko + +2012-02-06 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: only automatically set + strict=experimental when acodec=aac (3485119) + +2012-02-05 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: fix color problem with libav + (3483629) + +2012-02-04 Dan Dennedy + + * src/modules/avformat/filter_avdeinterlace.c: fix crash on private symbol + when mmx disabled on libav 0.8 (3483629) + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: fix AVOption processing on ffmpeg + 0.8 + + * src/modules/avformat/consumer_avformat.c: add null pointer check on return + from mlt_frame_get_audio + + * src/modules/core/producer_consumer.c: initialize audio_position so first + call to get_audio works + +2012-02-02 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: fix getting sample_fmt name + crashing on some versions when av_get_sample_fmt_name exists but not + avcodec_get_sample_fmt_name + +2012-01-30 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: fix AVOption processing on libav + 0.7.3 Patch for consumer by j-b-m and extended to producer by me. + +2012-01-28 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: fix build on ffmpeg 0.6 + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avresample.c, + src/modules/avformat/producer_avformat.c: fix SAMPLE_FMT support for v0.6 and + less of libav/ffmpeg + + * src/modules/avformat/filter_avresample.c, + src/modules/avformat/producer_avformat.c: convert all SAMPLE_FMT_16 to + AV_SAMPLE_FMT_16 + + * src/modules/xml/consumer_xml.c: fix invalid free when making absolute path + relative Patch by j-b-m and reformatted by me. + + * src/modules/xml/consumer_xml.c: fix string allocation length + + * src/framework/mlt_service.c: correct documentation of + mlt_service_disconnect + +2012-01-22 Brian Matherly + + * src/modules/xml/producer_xml.c: Print useful information for xml parse + errors and warnings. Skip second pass if first pass fails. + +2012-01-25 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: increase sample format support to + audio encoding This also fixes the latest aac encoder, which accepts + interleaved float input only. + + * src/modules/core/filter_audiochannels.c, + src/modules/core/filter_channelcopy.c, src/modules/core/filter_mono.c: add + s32le and f32le format to core audio filters + + * src/framework/mlt_types.h, src/modules/core/filter_audioconvert.c: add + support for converting between all audio sample formats + +2012-01-24 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: default to strict=experimental + for painless aac encoding + +2012-01-23 Brian Matherly + + * src/modules/xml/producer_xml.c: Convert producer_xml.c to use + mlt_log_warning() + +2012-01-22 Brian Matherly + + * src/modules/xml/producer_xml.c: Print useful information for xml parse + errors. + +2012-01-23 Dan Dennedy + + * src/modules/xml/consumer_xml.c: remove old 8-bit only version of xml char + filter + +2012-01-22 Dan Dennedy + + * src/modules/xml/consumer_xml.c: switch to working wchar version of xml char + filter I want to ensure this works on more platforms before removing the + non- + + * src/modules/xml/consumer_xml.c: quick fix for xml containing bad characters + Per the XML standard only the following characters are permitted: Char     +   ::=      #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | + [#x10000-#x10FFFF]  /* any Unicode character, excluding the surrogate + blocks, FFFE, and FFFF. */ This fix does not properly handle the ranges for + multi-byte characters, but it does remove the invalid single-byte "control + characters." + +2012-01-21 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: remove global avformat mutex and + add a local one to the producer for open/close coherency + +2012-01-17 Marco Gittler + + * src/modules/videostab/filter_videostab2.c: fixed bug when resizing in + consumer + +2012-01-21 Dan Dennedy + + * src/framework/mlt_producer.h, src/framework/mlt_service.h: update doc on + service-change and producer-changed events + + * src/framework/mlt_service.c: fix property-changed becoming a + service-changed event (kdenlive-2468) + +2012-01-19 j-b-m + + * src/modules/kdenlive/filter_freeze.c: fix freeze filter not retrieving + image of frame not within in-out + +2012-01-18 Brian Matherly + + * src/modules/avformat/factory.c: Add use of av_lockmgr_register in addition + to the existing mutex for avformat services. + +2012-01-17 Dan Dennedy + + * src/modules/gtk2/producer_pango.yml, src/modules/gtk2/producer_pixbuf.yml: + document force_aspect_ratio on pango and pixbuf producers + +2012-01-14 Maksym Veremeyenko + + * src/modules/gtk2/producer_pango.c: fix pango's producer force_aspect_ratio + property handling + + * docs/mlt-xml.txt: fix tag closing + +2012-01-16 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: fix segfault accessing possible + null frame (only when real_time > 0?) Patch-by: Maksym Veremeyenko + +2012-01-15 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: enable codec- and format-specific + options for v0.7 releases of ffmpeg (but not libav, which uses v53 of + libavformat and libavcodec in its 0.7 releases) + +2012-01-14 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: drop deprecated APIs of + libavformat/codec v53 + + * src/modules/core/producer_melt.c: fix melt parsing URL with query string + when not followed by -consumer, -profile, or -serialise + +2012-01-12 Dan Dennedy + + * src/modules/jackrack/Makefile: fix typo in previous fix for jackrack on + Fedora 16 (3468312) + + * src/modules/jackrack/Makefile: fix segfault loading jackrack on Fedora 16 + (3468312) + +2012-01-02 Dan Dennedy + + * src/modules/videostab/Makefile: fix videostab sse2 build cont'd + +2012-01-02 gmarco + + * src/modules/videostab/filter_videostab.c, + src/modules/videostab/stab/resample.c, src/modules/videostab/stab/resample.h, + src/modules/videostab/stab/utils.c, src/modules/videostab/stab/utils.h: do + not use lanc_kernels as global var. moved to filter struct + +2012-01-01 Dan Dennedy + + * src/modules/videostab/Makefile: fix videostab build with sse2 + +2011-12-28 gmarco + + * src/modules/videostab/transform_image.c: fixed wrong parameter order + +2011-12-27 Dan Dennedy + + * src/modules/avformat/factory.c: call avformat_network_init() + +2011-12-22 gmarco + + * src/modules/videostab/transform_image.c: use interpolation type from filter + also in rgb + + * src/modules/videostab/filter_videostab.c: fixed wrong image format + +2011-12-16 gmarco + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h, + src/modules/videostab/transform_image.c, + src/modules/videostab/transform_image.h: use calloc insteadt of malloc/memset + use struct for instance data small cleanup use PIX(n) dont use instable + yuv420 use stabilize on grayimage (converted from yuv422) + +2011-11-21 Marco Gittler + + * src/modules/videostab/stabilize.c, src/modules/videostab/transform_image.c: + sse2 updates + +2011-12-16 gmarco + + * src/modules/videostab/filter_videostab.c: image format error fix + +2011-12-15 gmarco + + * src/modules/videostab/filter_videostab2.c: fixed bug, resulting in crash at + end and wrong first image + +2011-12-22 gmarco + + * src/modules/videostab/transform_image.c: use interpolation type from filter + also in rgb + +2011-12-21 Dan Dennedy + + * configure, src/mlt++/configure: add configure support for GNU Hurd Patches + provided by Patrick Matthäi. + + * src/modules/rtaudio/RtAudio.cpp, src/modules/rtaudio/configure: only build + rtaudio for Linux, Windows, or OS X + + * src/framework/Makefile, src/framework/configure, + src/framework/mlt_property.h: add support for xlocale.h on FreeBSD with + assistance from Gleb Smirnoff + +2011-12-22 gmarco + + * src/modules/videostab/filter_videostab.c: fixed wrong image format + +2011-12-16 gmarco + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h, + src/modules/videostab/transform_image.c, + src/modules/videostab/transform_image.h: use calloc insteadt of malloc/memset + use struct for instance data small cleanup use PIX(n) dont use instable + yuv420 use stabilize on grayimage (converted from yuv422) + +2011-12-18 Dan Dennedy + + * src/modules/jackrack/factory.c: fix memory leaks in jackrack/ladspa + registration + + * src/modules/jackrack/plugin_mgr.c: fix crash at process exit on ladspa + plugins (3458967) + + * src/modules/core/producer_noise.c: fix producer noise indicating its audio + format + +2011-11-21 Marco Gittler + + * src/modules/videostab/stabilize.c, src/modules/videostab/transform_image.c: + sse2 updates + +2011-12-16 gmarco + + * src/modules/videostab/filter_videostab.c: image format error fix + +2011-12-15 gmarco + + * src/modules/videostab/filter_videostab2.c: fixed bug, resulting in crash at + end and wrong first image + +2011-12-14 Dan Dennedy + + * src/modules/core/producer_consumer.c: fix infinite loop regression with + consumer producer on xml (3458967) + +2011-12-11 Dan Dennedy + + * src/modules/xml/producer_xml.c: add trimming whitespace to some xml values + (debian-651604) + + * src/modules/xml/producer_xml.c: stop using this for a variable name + + * src/modules/xml/producer_xml.c: fix crash when fail to load filter or + transition (debian-651604) + +2011-12-10 Dan Dennedy + + * src/modules/core/producer_colour.c, src/modules/core/producer_noise.c, + src/modules/dv/producer_libdv.c, src/modules/frei0r/producer_frei0r.c, + src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/qimage/producer_qimage.c, src/modules/sdl/producer_sdl_image.c: + add mlt_image_none support to producers + + * src/modules/avformat/producer_avformat.c: if requested image format is + none, pick the most suitable mlt format + + * src/framework/mlt_frame.c: do not try to convert image or audio if + requested format is none + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: add consumer + properties mlt_image_format and mlt_audio_format + +2011-12-09 Dan Dennedy + + * src/modules/core/filter_fieldorder.c, + src/modules/core/filter_fieldorder.yml: add meta.swap_fields to the + fieldorder filter + +2011-12-08 Dan Dennedy + + * src/modules/core/Makefile, src/modules/core/factory.c, + src/modules/core/filter_fieldorder.c, src/modules/core/filter_fieldorder.yml, + src/modules/core/filter_resize.c, src/modules/core/filter_resize.yml, + src/modules/core/loader.ini: refactor field order correction into new filter + +2011-12-05 Dan Dennedy + + * src/modules/rtaudio/consumer_rtaudio.yml: add metadata yaml for rtaudio + consumer + + * src/modules/rtaudio/RtAudio.cpp, src/modules/rtaudio/RtAudio.h, + src/modules/rtaudio/consumer_rtaudio.cpp: improve selecting rtaudio device by + name + +2011-12-04 Dan Dennedy + + * src/modules/rtaudio/RtAudio.cpp: fix multiple rtaudio consumers on OSX + + * src/modules/rtaudio/consumer_rtaudio.cpp: fix setting playing member var in + rtaudio + +2011-12-03 Dan Dennedy + + * src/modules/rtaudio/RtAudio.cpp: revert ALSA default PCM + + * src/modules/rtaudio/RtAudio.cpp: fix rtaudio on mingw + +2011-11-28 Dan Dennedy + + * src/modules/rtaudio/Makefile, src/modules/rtaudio/RtAudio.cpp, + src/modules/rtaudio/RtAudio.h, src/modules/rtaudio/RtError.h, + src/modules/rtaudio/consumer_rtaudio.cpp: add rtaudio consumer + + * src/modules/core/consumer_multi.c: support consumers that use constructor + arg instead of target property + + * src/modules/core/consumer_multi.c: drain nested consumers of multi consumer + + * src/modules/core/consumer_multi.c: fix stopping in multi consumer + +2011-11-27 Dan Dennedy + + * src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: fix + VDPAU state issues Patch by Christophe Thommeret + +2011-11-25 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: fix decklink compile on mingw + +2011-11-23 Dan Dennedy + + * src/modules/jackrack/plugin_mgr.c: fix attempt to construct LADSPA plugin + with no _init. + + * src/modules/jackrack/plugin_mgr.c: fix loading LADSPA plugins with broken + constructor + +2011-11-04 Dan Dennedy + + * src/framework/mlt_factory.c, src/modules/frei0r/factory.c, + src/modules/jackrack/plugin_mgr.c: fix frei0r and ladspa loading for + relocatable builds + +2011-11-22 Dan Dennedy + + * src/modules/core/consumer_multi.c: default multi consumer to real_time=-1 + This defaults command line and XML usage most suitable for use with avformat + consumer. We still need a way to change multi consumer properties when using + more than one -consumer with melt. + +2011-11-20 Dan Dennedy + + * src/modules/core/producer_consumer.c: let 'mlt_profile' be a synonym for + 'profile' to be consistent with consumer property name for setting profile + + * src/modules/core/consumer_multi.yml: add YAML metadata for multi consumer + + * src/modules/videostab/filter_videostab2.yml: fix parameter type on + videostab2 yaml + + * src/modules/core/producer_consumer.yml: document profile=auto for producer + consumer + + * src/modules/core/filter_resize.c: fix video glitch seen with multi consumer + + * src/modules/core/consumer_multi.c: add framerate adaption to multi consumer + + * src/framework/mlt_frame.c: make deep mlt_frame_clone more robust + + * src/melt/melt.c: fix using a preset with multi consumer and avformat:file + +2011-11-19 Dan Dennedy + + * src/modules/xml/producer_xml.c: add support for more than one consumer + element in xml + + * src/melt/melt.c, src/modules/core/consumer_multi.c: change property + 'consumer' to 'mlt_service' consistent with xml + + * src/melt/melt.c: fix using multi consumer only when more than one -consumer + arg + + * src/melt/melt.c: add support for multiple -consumer arguments + + * src/modules/core/consumer_multi.c: add support for app-supplied properties + objects on multi consumer + + * src/modules/decklink/producer_decklink.cpp: use mlt_frame_clone() instead + of local method + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h, + src/modules/core/consumer_multi.c: enhance mlt_frame_clone with a + deep/shallow parameter + + * src/modules/decklink/producer_decklink.cpp: add caching to decklink + producer Now it supports YADIF deinterlace and framerate conversion. + +2011-11-15 Dan Dennedy + + * src/modules/core/producer_consumer.c: add framerate adaption to consumer + producer + +2011-11-13 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: change a decklink log message + to debug level + + * src/modules/core/consumer_multi.c: make sure nested consumer gets + mlt_profile before 'properties' preset + + * src/framework/mlt_property.c: fix passing property that has both numeric + and string types + + * src/modules/avformat/producer_avformat.c: fix possible source_fps + inconsistency + +2011-11-10 Dan Dennedy + + * src/modules/core/consumer_multi.c: use multi consumer properties if no + resource supplied + + * src/modules/core/consumer_multi.c: implement multi consumer + + * src/framework/mlt_producer.c: fix brief description of mlt_producer_clone() + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h: add mlt_frame_clone() + + * src/modules/sdl/consumer_sdl_preview.c: fix crash in sdl_preview with multi + consumer + + * src/modules/decklink/consumer_decklink.cpp: fix crash in decklink + mlt_consumer_stop() + + * src/modules/decklink/consumer_decklink.cpp: Make decklink + mlt_consumer_start more asynchronous. This puts preroll into a thread to + make it more asynchronous - a problem noticed with multi consumer. + +2011-11-05 Dan Dennedy + + * src/modules/core/Makefile, src/modules/core/consumer_multi.c, + src/modules/core/consumer_multi.yml, src/modules/core/factory.c: add multi + consumer (non-functional) + +2011-11-12 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: improve support for 480 line + NTSC in decklink consumer + + * profiles/sdi_486i_5994, profiles/sdi_486p_2398, + src/modules/linsys/consumer_SDIstream.c, src/modules/linsys/sdi_generator.c, + src/modules/linsys/sdi_generator.h: improve support for 486 line NTSC in + linsys sdi consumer + +2011-11-11 Marco Gittler + + * src/modules/oldfilm/filter_vignette.c: avoid segfault when smooth=0 + +2011-11-09 Marco Gittler + + * src/modules/oldfilm/filter_vignette.yml: added description for vignette + change + + * src/modules/oldfilm/filter_vignette.c: use linear or cos for blending + +2011-11-05 Dan Dennedy + + * src/framework/mlt_types.h: fix PATH_MAX undefined + +2011-11-03 Dan Dennedy + + * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer producer + aspect ratio (kdenlive-2372) + + * configure, src/framework/mlt_version.h: set interim version 0.7.7 + + * src/modules/avformat/vdpau.c, src/modules/videostab/stab/estimate.c: build + fixes for FreeBSD patches by Alberto Villa + +2011-10-31 Dan Dennedy + + * ChangeLog: update changelog for v0.7.6 + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: set version + to 0.7.6 + + * NEWS: add release notes for v0.7.6 + +2011-10-30 Dan Dennedy + + * src/modules/videostab/filter_videostab.c, + src/modules/videostab/filter_videostab2.c: Request progressive scan images + when stabilizing video. + + * presets/filter/brightness/from_black, presets/filter/brightness/to_black, + presets/filter/volume/fade_in, presets/filter/volume/fade_out: add fade + in/out presets When using to_black and fade_out, currently you need to + adjust in and out properties as needed because we cannot yet use negative + values to mean "from end." + + * src/modules/jackrack/plugin_mgr.c: reduce log level of some LADSPA-related + exceptions + +2011-09-21 Marco Gittler + + * src/modules/videostab/filter_videostab2.yml: updated desc + +2011-09-20 Marco Gittler + + * src/modules/videostab/filter_videostab2.yml: added description + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/transform_image.c, + src/modules/videostab/transform_image.h: set transform properties from mlt + + * src/modules/videostab/filter_videostab2.c: read filter params correct, set + interpol type + +2011-09-19 Marco Gittler + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/transform_image.c: use interpolation settings + + * src/modules/videostab/stabilize.c: log format error on draw* + + * src/modules/videostab/filter_videostab2.yml: added yml for videostab2 + +2011-09-11 Marco Gittler + + * src/modules/videostab/stabilize.c, src/modules/videostab/transform_image.c: + move printf -> mlt_log* + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/stabilize.c: set all paramters + + * src/modules/videostab/filter_videostab2.c, + src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h, + src/modules/videostab/transform_image.c, + src/modules/videostab/transform_image.h: avoid unreadable code like + (*format==mlt_image_rgb24?0:1) use mlt_types and names for it + + * src/modules/videostab/filter_videostab2.c: remove log since no parent/type + yet + + * src/modules/videostab/filter_videostab2.c: removed unsued code (point 4 ) + + * src/modules/videostab/filter_videostab2.c: removed printf from mlt filter + code (point 9) + + * src/modules/videostab/filter_videostab2.c: use mlt_pool_release instead of + mlt_properties_close (point 8) + + * src/modules/videostab/filter_videostab2.c: do not call stabilize_init() + anymore (point 7) thx to Dan D. + + * src/modules/videostab/Makefile: fix makefile to respect global FLAGS (point + 2) + +2011-09-02 Marco Gittler + + * src/modules/videostab/filter_videostab2.c: framesize 3/2 * w * h seems to + bee too small for yuv420 (segfault in filter) + +2011-08-19 Marco Gittler + + * src/modules/videostab/Makefile, src/modules/videostab/factory.c, + src/modules/videostab/filter_videostab2.c, src/modules/videostab/stabilize.c, + src/modules/videostab/stabilize.h, src/modules/videostab/tlist.c, + src/modules/videostab/tlist.h, src/modules/videostab/transform.c, + src/modules/videostab/transform.h, src/modules/videostab/transform_image.c, + src/modules/videostab/transform_image.h: added vstab from + http://public.hronopik.de/vid.stab/features.php?lang=en handles yuv, has zoom + (to avoid the interpolated borders), and seems to be stabilize a bit better + +2011-10-30 Dan Dennedy + + * src/modules/gtk2/producer_pango.yml: remove invalid metadata item for pango + + * src/modules/core/producer_consumer.c, + src/modules/core/producer_consumer.yml: add autoprofile property to consumer + producer + + * src/modules/decklink/producer_decklink.cpp: log profile info when profile + not compatible with decklink mode + + * src/modules/avformat/producer_avformat.c: fix crash cleaning packet queues + that were not created + + * src/framework/mlt_log.c: change default log level to WARN + +2011-10-29 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Let video_delay work with + new_seek (AVCHD). + + * src/modules/avformat/producer_avformat.c: Renove start_time from avformat + producer core object. + +2011-10-16 Brian Matherly + + * demo/mlt_voiceover, demo/pango.mlt, src/modules/core/data_fx.properties, + src/modules/feeds/NTSC/data_fx.properties, + src/modules/feeds/NTSC/etv.properties, + src/modules/feeds/PAL/data_fx.properties, + src/modules/feeds/PAL/etv.properties, src/modules/gtk2/filter_dynamictext.c, + src/modules/gtk2/filter_dynamictext.yml, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pango.yml, src/tests/pango.c: Add "family" and + "style" properties to pango producer. Deprecate "font" property. + +2011-10-14 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Improve a/v sync and fix possible + inf loop w/ audio_index=all Sometimes it would ignore the next packet that + falls on the current frame time - ignore was too agressive. And with + audio_index=all, it is faulty to predict interleaving level of streams + sometimes causing continual backward seeks. + +2011-10-11 Brian Matherly + + * src/modules/decklink/producer_decklink.yml, src/modules/sox/filter_sox.yml: + yml validation fixes + + * src/modules/gtk2/filter_dynamictext.c, + src/modules/gtk2/filter_dynamictext.yml, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pango.yml: Add outline to pango and dynamic text + services. Add pad and align to dynamic text. + +2011-10-08 Brian Matherly + + * src/modules/gtk2/filter_dynamictext.c: dynamic text fixes: buffer overflows + an support adjacent keywords. + +2011-10-09 Dan Dennedy + + * src/melt/melt.c: Add -progress2 option to get progress with newlines. + Makes easier to get progress updates in some scripts. + +2011-10-08 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix regression on audio devices. + +2011-10-05 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Improve previous fix (efebb3) to + prevent infinite loop. + + * src/modules/avformat/producer_avformat.c: Prevent closing alreadu closed + AVCoddecContexts. Patch supplied by Mikko Rapeli. + +2011-10-03 j-b-m + + * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer producer in + property (3417991) + +2011-10-02 Brian Matherly + + * README, docs/TODO, docs/policies.txt, docs/services.txt: Remove docs/TODO, + docs/policies.txt, docs/services/txt. All that information is now available + on the web site. + +2011-10-01 Dan Dennedy + + * src/melt/melt.c, src/modules/core/producer_melt.c, + src/modules/xml/mlt-xml.dtd, src/modules/xml/producer_xml.c: Add consumer + element to xml producer. + +2011-09-30 Dan Dennedy + + * src/modules/sox/filter_sox.c: Fix segfault in sox with no effect. + +2011-09-29 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix race on stream index + (kdenlive-2296) + + * src/modules/avformat/producer_avformat.c: Fix crash when codec not yet + opened (or just closed?) + + * src/modules/avformat/producer_avformat.c: Fix some unprotected calls to + av_close_input_file. + +2011-09-28 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Add re-open capability to + decklink producer. This causes the producer to automatically close itself + when it reaches the "end" as defined by an out or length property. Then, the + same producer can be re-opened if reused elsewhere in a playlist or another + instance of the decklink producer can use the same card. This requires that + the decklink producer be permitted to play out to its duration. + +2011-09-27 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix multi-threaded encoding on + libavcodec older than v53. + +2011-09-26 Dan Dennedy + + * src/framework/mlt_profile.c: Fix regression loading profile. Also, prefer + mlt_environment(MLT_DATA) over $datadir to make indirection possible with + MLT_DATA environment variable and to be consistent with mlt_profile_list(). + + * src/framework/mlt_profile.c: Fix regression loading profile. Also, prefer + mlt_environment(MLT_DATA) over $datadir to make indirection possible with + MLT_DATA environment variable and to be consistent with mlt_profile_list(). + +2011-09-25 Brian Matherly + + * src/modules/gtk2/filter_dynamictext.yml, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pango.yml: Add support for HTML style color + parameter to producer_pango. producer_color and producer_pango now work + exactly the same WRT color parameters. + +2011-09-25 Dan Dennedy + + * src/modules/frei0r/factory.c, src/modules/jackrack/plugin_mgr.c: Load + frei0r and ladspa plugins relative to exe on win32 + + * src/modules/videostab/stab/estimate.c: Fix videostab build on win32 + + * src/framework/Makefile, src/framework/mlt_factory.c, + src/framework/mlt_profile.c: Fix build on win32 + + * src/modules/avformat/consumer_avformat.c: Add parenthesis to fix warning. + + * src/framework/mlt_profile.c, src/framework/mlt_properties.c, + src/framework/mlt_repository.c: Fix and cleanup profile and preset dirs. + + * src/framework/Makefile, src/framework/mlt_factory.c, + src/framework/mlt_profile.c: Fix loading profile from datadir. + + * src/modules/frei0r/factory.c, src/modules/jackrack/plugin_mgr.c: Add + relative frei0r and LADSPA dirs for relocatable. + +2011-09-23 Dan Dennedy + + * src/framework/mlt_profile.c, src/framework/mlt_repository.c: Make profiles + relative to MLT_DATA instead of $prefix/share/mlt + +2011-07-22 Dan Dennedy + + * src/framework/mlt_factory.c: Make modules and data relative to executable + for win32 and osx. Requires RELOCATABLE to be defined for osx. + +2011-09-25 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/producer_decklink.cpp: Fix building decklink on win32 + +2011-09-24 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Fix executing stop when not + started (and vice versa). + +2011-09-23 Dan Dennedy + + * src/modules/linsys/consumer_SDIstream.c: Fix audio_index=all with linsys + SDI consumer. + + * src/modules/core/filter_audiochannels.c: Fix uninitialized var in + audiochannels filter. + +2011-09-22 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: Fix intermittent crash when closing + sdl_audio. + +2011-09-22 Marco Gittler + + * src/modules/videostab/stab/estimate.c: fix to compile an MAC (point 1) + +2011-09-21 Dan Dennedy + + * src/framework/mlt_geometry.c: Serialize geometry with %g instead of my own + macros. + +2011-09-20 Dan Dennedy + + * presets/consumer/avformat/Sony-PSP: Add Sony PlayStation Portable encode + preset + + * presets/consumer/avformat/XDCAM-HD422, + presets/consumer/avformat/atsc_1080i_50/DNxHD, + presets/consumer/avformat/atsc_1080i_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_2398/DNxHD, + presets/consumer/avformat/atsc_1080p_24/DNxHD, + presets/consumer/avformat/atsc_1080p_25/DNxHD, + presets/consumer/avformat/atsc_1080p_2997/DNxHD, + presets/consumer/avformat/atsc_1080p_30/DNxHD, + presets/consumer/avformat/atsc_1080p_50/DNxHD, + presets/consumer/avformat/atsc_1080p_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_60/DNxHD, + presets/consumer/avformat/atsc_720p_2398/DNxHD, + presets/consumer/avformat/atsc_720p_50/DNxHD, + presets/consumer/avformat/atsc_720p_5994/DNxHD, + presets/consumer/avformat/atsc_720p_60/DNxHD, + presets/consumer/avformat/dv_ntsc/D10, presets/consumer/avformat/dv_ntsc/DVD, + presets/consumer/avformat/dv_ntsc_wide/D10, + presets/consumer/avformat/dv_ntsc_wide/DVD, + presets/consumer/avformat/dv_pal/D10, presets/consumer/avformat/dv_pal/DVD, + presets/consumer/avformat/dv_pal_wide/D10, + presets/consumer/avformat/dv_pal_wide/DVD, presets/consumer/avformat/webm: + Fix video bitrate option in presets. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/consumer_avformat.yml: Support streamtype-specific + AVOptions (-vb) + +2011-08-28 Brian Matherly + + * src/modules/gtk2/Makefile, src/modules/gtk2/factory.c, + src/modules/gtk2/filter_dynamictext.c, + src/modules/gtk2/filter_dynamictext.yml: Add filter_dynamictext. + +2011-09-15 Till Theato + + * src/modules/kdenlive/filter_freeze.c: Freeze filter: Fix alpha handling. + + * src/modules/kdenlive/filter_freeze.c: Freeze filter: Stop using 'this'. + + * src/modules/kdenlive/producer_framebuffer.c: Framebuffer producer: Fix + alpha handling (Kdenlive-2311). + +2011-09-14 Till Theato + + * src/modules/kdenlive/producer_framebuffer.c: Producer framebuffer: Stop + using 'this'. + +2011-09-14 Dan Dennedy + + * src/framework/mlt_factory.c: Always Load the system locales. + +2011-09-11 Dan Dennedy + + * src/modules/sox/Makefile, src/modules/sox/factory.c, + src/modules/sox/filter_sox.yml, src/modules/sox/filter_sox_effect.yml: + Document normalise and analysis for sox. This change separates the general + sox metadata from effect instance metadata. + + * src/modules/sox/filter_sox.c: Add analysis effect to sox filter. This + analyzes the audio to determine a normalized gain level. The result is + suitable for XML serialization. + +2011-09-10 Dan Dennedy + + * src/modules/sox/filter_sox.c: Only compute rms if normalise. + + * src/modules/sox/filter_sox.c: Only compute rms if normalise. + + * src/modules/sox/filter_sox.c: Remove some old cruft in sox. + + * src/framework/mlt_property.c: Fix race conditions in mlt_property. + +2011-09-10 j-b-m + + * src/framework/mlt_geometry.c: Skip empty keyframes when parsing geometry. + +2011-09-09 Dan Dennedy + + * src/modules/core/Makefile, src/modules/core/factory.c, + src/modules/core/producer_melt.c, src/modules/core/producer_melt.yml, + src/modules/core/producer_melt_file.yml, src/modules/melt/Makefile, + src/modules/melt/factory.c, src/modules/melt/producer_melt.c, + src/modules/melt/producer_melt.yml, src/modules/melt/producer_melt_file.yml: + Move melt producer to core module. + + * presets/consumer/avformat/atsc_1080i_50/DNxHD, + presets/consumer/avformat/atsc_1080i_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_2398/DNxHD, + presets/consumer/avformat/atsc_1080p_24/DNxHD, + presets/consumer/avformat/atsc_1080p_25/DNxHD, + presets/consumer/avformat/atsc_1080p_2997/DNxHD, + presets/consumer/avformat/atsc_1080p_30/DNxHD, + presets/consumer/avformat/atsc_1080p_50/DNxHD, + presets/consumer/avformat/atsc_1080p_5994/DNxHD, + presets/consumer/avformat/atsc_1080p_60/DNxHD, + presets/consumer/avformat/atsc_720p_2398/DNxHD, + presets/consumer/avformat/atsc_720p_50/DNxHD, + presets/consumer/avformat/atsc_720p_5994/DNxHD, + presets/consumer/avformat/atsc_720p_60/DNxHD: Add a bunch of DNxHD encode + presets. + + * src/modules/core/transition_composite.c: Fix composite_copy_region on + locale using comma for decimal. + +2011-09-08 j-b-m + + * src/framework/mlt_property.c: Fix locale corruption. setlocale returns a + pointer that is no longer valid after the intermediate call to setlocale. + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix Kdenlive title module + breaking locale. + +2011-09-06 Dan Dennedy + + * presets/consumer/avformat/XDCAM-HD422: Add XDCAM HD encode preset. + + * src/framework/mlt_multitrack.c: Fix many tracks with avformat producer at + same time (kdenlive-2286). + + * presets/consumer/avformat/XDCAM-HD422: Fix many tracks with avformat + producer at same time (kdenlive-2286). + +2011-09-05 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Add support for writing timecode + from vitc metadata. + +2011-09-04 Dan Dennedy + + * src/modules/melt/producer_melt.c, src/modules/xml/producer_xml.c: Change + previous mods to use mlt_multitrack_count() + + * src/modules/melt/producer_melt.c, src/modules/xml/producer_xml.c: Fix XML + and melt producers producer_avformat cache size. Use track-count + 2 in case + a track is using a mixer between playlist items. + + * src/framework/mlt_service.c, src/framework/mlt_service.h: Add + mlt_service_cache_get_size() + + * src/framework/mlt_cache.c, src/framework/mlt_cache.h: Add + mlt_cache_get_size() + + * src/modules/melt/producer_melt.c: Fix melt crash on many avformat producers + active. + + * src/framework/mlt_cache.c: Fix setting the size of a cache up to 200. + +2011-09-03 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/producer_decklink.yml: Add vanc property to decklink + producer. This captures vertical ancillary data during the vertical + blanking, which often contains metadata with timecode. This can be used to + produce D10/IMX50 captures with VBI. + +2011-09-03 j-b-m + + * src/modules/core/transition_region.c, + src/modules/core/transition_region.yml: Add filter_only to region transition. + YAML patch by Dan Dennedy + +2011-09-01 Dan Dennedy + + * presets/consumer/avformat/dv_ntsc/D10, + presets/consumer/avformat/dv_ntsc_wide/D10, + presets/consumer/avformat/dv_pal/D10, + presets/consumer/avformat/dv_pal_wide/D10: Add SMPTE 356M (aka D-10 and + IMX50) encoode presets. + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, + src/framework/mlt_tractor.c, src/framework/mlt_transition.c, + src/modules/core/filter_resize.c: Add consumer property top_field_first. + +2011-08-31 Dan Dennedy + + * src/modules/sox/factory.c, src/modules/sox/filter_sox.c: Use the sox + version in metadata and serialization. + + * src/modules/frei0r/factory.c: Serialize the frei0r version. + + * src/modules/xml/consumer_xml.c, src/modules/xml/mlt-xml.dtd: Add MLT + version to serialized XML. + + * src/modules/frei0r/factory.c, .../motion_est/filter_autotrack_rectangle.c: + Convert some printfs to fprintf(stderr) or mlt_log. + +2011-08-29 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix crash at end of second pass. + +2011-08-28 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Copy VITC to frame meta + property. Can be burned in with data_show filter. Perhaps this can be stored + on the producer property using key frames for discontinuities. Then, it can + be retrieved and supplied to some new filter that would put the + meta.attr.vitc.markup property on frames. + +2011-08-22 Dan Dennedy + + * src/modules/sox/factory.c: Fix bad comparison on metadata for 'sox' (not + sox.*) + + * src/modules/frei0r/factory.c: Initialize stat buffer. + +2011-08-16 Dan Dennedy + + * src/modules/xml/consumer_xml.yml: Document serializing xml to property. + + * src/modules/xml/consumer_xml.c, src/modules/xml/consumer_xml.yml: Add + no_meta property to xml consumer. Applications that use the consumer for its + project file might want to reduce xml bloat by setting this. + + * src/modules/xml/consumer_xml.yml: Document some xml consumer properties. + + * src/modules/jackrack/consumer_jack.c, + src/modules/jackrack/filter_jackrack.c, src/modules/jackrack/process.c: Fix + segfault on concurrent calls to jack_activate(). + +2011-08-15 Dan Dennedy + + * src/modules/videostab/filter_videostab.c, + src/modules/videostab/filter_videostab.yml: Add vectors property to + videostab. Change videostab to save to and load from a property instead of + file. It uses mlt_geometry for the (de)serialization of the vectors, Also, + remove seeking on the producer and require a two pass mode of operation. + Finally, make it parallel-safe. + + * src/framework/mlt_geometry.c, src/framework/mlt_geometry.h, + src/mlt++/MltGeometry.cpp, src/mlt++/MltGeometry.h, + src/modules/core/transition_composite.c, src/modules/gtk2/producer_pango.c, + .../motion_est/filter_autotrack_rectangle.c: Add mlt_geometry_interpolate. + This removes re-interpolation on each call to mlt_geometry_insert() to make + bulk invocations of that call faster. This also makes mlt_geometry_parse() + faster. Also, this includes a fix to mlt_geometry_serialise() for a buffer + overflow memory corruption. + + * src/modules/xml/Makefile, src/modules/xml/consumer_xml.c, + src/modules/xml/consumer_xml.yml: Add 'all' property to xml consumer. Makes + the consumer process all frames before serializing to XML. + +2011-08-13 Dan Dennedy + + * src/framework/mlt_geometry.c: Serialize geometry with integer or float + representation. + + * src/modules/avformat/filter_avcolour_space.c: Check swscale context before + using it. Old patch suggested by j-b-m on Feb 9, 2011. + + * src/modules/videostab/filter_videostab.c: More cleanup. + + * src/modules/videostab/Makefile: Fix make install. + + * src/framework/mlt_filter.c, src/framework/mlt_filter.h, + src/mlt++/MltFilter.cpp, src/mlt++/MltFilter.h: Add mlt_filter_get_length2. + +2011-08-12 Dan Dennedy + + * src/modules/videostab/filter_videostab.c: Some cleanup - reformating, + consolidation + + * src/modules/videostab/filter_videostab.c: Stop using 'this' + + * src/modules/videostab/filter_videostab.c: Remove global variables. + + * src/modules/videostab/stab/estimate.c: Fix compile error on MAXFLOAT. + + * src/modules/videostab/filter_videostab.c: Fix for GPL license. + +2011-08-12 Marco Gittler + + * src/modules/videostab/factory.c, + src/modules/videostab/filter_videostab.yml: added yml metadata + + * src/modules/videostab/filter_videostab.c: removed comments + + * src/modules/videostab/filter_videostab.c: some cleanup, loading from + deshake file works now (if correct) for my sample (45 frames) the filter will + do 2 runs, first with 37 , second with 45 frames. so the resut will look like + not working. correct length deshake file will work. + +2011-08-11 Marco Gittler + + * src/modules/videostab/filter_videostab.c: some vars are now local instead + of global. storing pos_h now works, but loading pos_h from file does not + produce the same result. + + * src/modules/videostab/factory.c, src/modules/videostab/filter_videostab.c: + compile fix + + * src/modules/videostab/Makefile, src/modules/videostab/factory.c, + src/modules/videostab/filter_videostab.c, + src/modules/videostab/stab/estimate.c, src/modules/videostab/stab/estimate.h, + src/modules/videostab/stab/klt/base.h, + src/modules/videostab/stab/klt/convolve.c, + src/modules/videostab/stab/klt/convolve.h, + src/modules/videostab/stab/klt/error.c, + src/modules/videostab/stab/klt/error.h, src/modules/videostab/stab/klt/klt.c, + src/modules/videostab/stab/klt/klt.h, + src/modules/videostab/stab/klt/klt_util.c, + src/modules/videostab/stab/klt/klt_util.h, + src/modules/videostab/stab/klt/pyramid.c, + src/modules/videostab/stab/klt/pyramid.h, + .../videostab/stab/klt/selectGoodFeatures.c, + src/modules/videostab/stab/klt/trackFeatures.c, + src/modules/videostab/stab/main.c, src/modules/videostab/stab/resample.c, + src/modules/videostab/stab/resample.h, src/modules/videostab/stab/utils.c, + src/modules/videostab/stab/utils.h, src/modules/videostab/stab/vector.c, + src/modules/videostab/stab/vector.h: first version of video stabilization + from http://vstab.sourceforge.net/ + +2011-08-09 Till Theato + + * src/modules/jackrack/factory.c: Fix regression with ladspa metadata. + +2011-08-06 Dan Dennedy + + * src/modules/jackrack/consumer_jack.c: Use JACK to lookup default ports. + +2011-08-03 Dan Dennedy + + * src/modules/jackrack/Makefile, src/modules/jackrack/configure, + src/modules/jackrack/consumer_jack.c, src/modules/jackrack/factory.c: Make + jack consumer LGPLv2.1 license. This change allows the module to be built in + either GPL or LGPL mode where GPL mode also adds the jackrack and ladspa + filters. + + * src/modules/jackrack/Makefile, src/modules/jackrack/consumer_jack.yml: Add + service metadata for jack consumer. + + * src/modules/jackrack/consumer_jack.c: Add volume property to jack consumer. + + * src/modules/jackrack/filter_jackrack.c: Fail gracefully when unable to + connect to JACK. + + * src/modules/jackrack/Makefile, src/modules/jackrack/consumer_jack.c, + src/modules/jackrack/factory.c: Add audio-only JACK consumer. Fires + consumer-frame-show for video frames. + +2011-08-01 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix regression in multiple audio + tracks. Regresssion introduced with audiochannels normalization filter. + +2011-07-28 Maksym Veremeyenko + + * src/modules/decklink/consumer_decklink.cpp: Make scheduling priority of + decklink lib thread adjustable. Uses existing mlt_consumer priority + property, but also responds to special "max" and "min" values. + +2011-07-26 Brian Matherly + + * src/modules/core/transition_composite.yml: Mark composite transition + metadata properties that are deprecated as such. + + * src/melt/melt.c: Filter service metadata from being displayed if it is + tagged as "Hidden". + +2011-07-24 Brian Matherly + + * Makefile, src/modules/avformat/consumer_avformat.yml, + src/modules/avformat/producer_avformat.yml, src/modules/core/factory.c, + src/modules/core/filter_channelcopy.yml, src/modules/core/filter_gamma.yml, + src/modules/core/filter_luma.yml, src/modules/core/filter_region.yml, + src/modules/core/filter_rescale.yml, src/modules/core/filter_resize.yml, + src/modules/core/producer_loader.yml, + src/modules/core/transition_composite.yml, + src/modules/core/transition_luma.yml, src/modules/dv/producer_libdv.yml, + src/modules/gtk2/factory.c, src/modules/gtk2/filter_rescale.yml, + src/modules/gtk2/producer_pango.yml, src/modules/kdenlive/filter_boxblur.yml, + src/modules/resample/Makefile, src/modules/resample/factory.c, + src/modules/resample/filter_resample.yml: Add service metadata for composite + transition, all normalizing filters (resample, resize, rescale), and the + loader producer. Add yml validation rule to Makefile. All yml files pass + validation against metaschema.yaml. + +2011-07-24 Dan Dennedy + + * src/modules/avformat/consumer_avformat.yml: Document the redirect property. + + * src/modules/avformat/consumer_avformat.c: Remove mlt protocol, use + ByteIOContext if + + * src/modules/avformat/consumer_avformat.c: Add support for custom + AVIOContext. New versions of ffmpeg drop ability to register a protocol. + +2011-07-22 Dan Dennedy + + * src/swig/Makefile: Add empty uninstall target to swig Makefile. + + * src/modules/core/filter_mirror.yml, src/modules/core/filter_mono.yml, + src/modules/core/filter_obscure.yml, src/modules/core/filter_region.yml, + src/modules/core/transition_luma.yml, src/modules/core/transition_mix.yml, + src/modules/core/transition_region.yml, src/modules/dv/consumer_libdv.yml, + src/modules/normalize/filter_volume.yml, src/modules/sdl/consumer_sdl.yml, + src/modules/xml/consumer_xml.yml: Cleanup Brian's service metadata + contribution. + + * src/modules/decklink/consumer_decklink.cpp: Touchup spacing in decklink + consumer. + +2011-07-22 Maksym Veremeyenko + + * src/modules/decklink/consumer_decklink.cpp: Log when decklink audio buffer + level changes. Very useful to understand when unexpected behavior happens. + + * src/modules/decklink/consumer_decklink.cpp: Prevent decklink audio buffer + overflow. Flush audio buffer if it more then preroll configured length. + + * src/modules/decklink/consumer_decklink.cpp: Notify dropped frame in + decklink. i.e. status *bmdOutputFrameDropped* + + * src/modules/decklink/consumer_decklink.cpp: Avoid float rounding error when + calculating audio timestamp. + +2011-07-22 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: Make ffmpeg v53-specific code more + readable and searchable. + + * src/modules/avformat/consumer_avformat.c: Fix codec-specific defaults for + libavcodec v53 (3370720). + + * src/modules/avformat/consumer_avformat.c: Refactor to pass AVCodec into + add_audio/video_stream. + + * configure, src/framework/mlt_version.h: set interim version 0.7.5 + + * src/framework/mlt_property.c, src/framework/mlt_property.h: Fix build on + Debian kfreebsd. + +2011-07-21 Dan Dennedy + + * src/framework/mlt_consumer.h: Document the priority property. + +2011-07-22 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Touchup spacing in decklink + consumer. + +2011-07-22 Maksym Veremeyenko + + * src/modules/decklink/consumer_decklink.cpp: Log when decklink audio buffer + level changes. Very useful to understand when unexpected behavior happens. + + * src/modules/decklink/consumer_decklink.cpp: Prevent decklink audio buffer + overflow. Flush audio buffer if it more then preroll configured length. + + * src/modules/decklink/consumer_decklink.cpp: Notify dropped frame in + decklink. i.e. status *bmdOutputFrameDropped* + + * src/modules/decklink/consumer_decklink.cpp: Avoid float rounding error when + calculating audio timestamp. + +2011-07-22 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: Make ffmpeg v53-specific code more + readable and searchable. + + * src/modules/avformat/consumer_avformat.c: Fix codec-specific defaults for + libavcodec v53 (3370720). + + * src/modules/avformat/consumer_avformat.c: Refactor to pass AVCodec into + add_audio/video_stream. + + * configure, src/framework/mlt_version.h: set interim version 0.7.5 + + * src/framework/mlt_property.c, src/framework/mlt_property.h: Fix build on + Debian kfreebsd. + +2011-07-21 Dan Dennedy + + * src/framework/mlt_consumer.h: Document the priority property. + +2011-07-19 Brian Matherly + + * src/modules/core/filter_mirror.yml, src/modules/core/filter_mono.yml, + src/modules/core/filter_obscure.yml, src/modules/core/filter_region.yml, + src/modules/core/transition_luma.yml, src/modules/core/transition_mix.yml, + src/modules/core/transition_region.yml, src/modules/dv/consumer_libdv.yml, + src/modules/jackrack/filter_ladspa.yml, + src/modules/normalize/filter_volume.yml, src/modules/sdl/consumer_sdl.yml, + src/modules/xml/consumer_xml.yml: Transcribe service metadata from + services.txt to corresponding yml files. + +2011-07-17 Brian Matherly + + * src/modules/avformat/consumer_avformat.yml, + src/modules/avformat/producer_avformat.yml, + src/modules/core/filter_data_show.yml, src/modules/core/filter_watermark.yml, + src/modules/core/producer_noise.yml, + src/modules/decklink/producer_decklink.yml, + src/modules/dv/producer_libdv.yml, src/modules/gtk2/producer_pango.yml, + src/modules/gtk2/producer_pixbuf.yml, src/modules/vorbis/producer_vorbis.yml, + src/modules/xml/producer_xml.yml: Remove from all existing yml: in, out, + length, resource, and aspect_ratio. + +2011-07-16 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.7.4 + + * Doxyfile, configure, docs/melt.1, docs/melt.txt, + src/framework/mlt_version.h: Set version to 0.7.4 + + * NEWS: Add release notes for v0.7.4 + + * src/modules/jackrack/factory.c, src/modules/jackrack/plugin_desc.c, + src/modules/jackrack/plugin_desc.h: Properly represent LADSPA plugin author. + +2011-07-14 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Cleanup fprintf left in last + commmit + + * src/modules/avformat/producer_avformat.c: Fix audio glitch on seek + (3362840). + +2011-07-13 Dan Dennedy + + * src/modules/xml/producer_xml.c: Load XML with LC_NUMERIC without changing + global locale. Uses mlt_properties_set_lcnumeric() instead of setlocale(). + This is only known to work on Linux. + + * src/framework/mlt_properties.c: Use correct constant for + mlt_properties_set_lcnumeric(). + +2011-07-12 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix regression seeking to in + point on seekable. + +2011-07-11 Dan Dennedy + + * src/framework/mlt_properties.c, src/framework/mlt_property.c, + src/framework/mlt_property.h: Fix build on new locale stuff when not Linux or + OS X. + +2011-07-10 Dan Dennedy + + * src/framework/mlt_properties.c, src/framework/mlt_property.c: Fix build for + querylocale() on OS X. + + * presets/consumer/avformat/webm, presets/consumer/avformat/webm-pass1, + presets/consumer/avformat/webm-pass2: Fix webm preset. + + * src/framework/mlt_properties.c: Ensure serialized yaml is LC_NUMERIC=C. + This is needed to ensure consistency. The metadata is read as string data and + converted to numbers on demand. This is why loading defaults to C locale - + since they were authored with that in mind. However, some plugins dynamically + generate metadata and may set values with int or double. Therefore, we need + to make it all output consistently, and for now that means C. + + * src/framework/mlt_property.c: Protect locale hack with a mutex to ensure + consistency. + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, + src/modules/sdl/consumer_sdl_preview.c: Make maximum consecutive-dropped + frames configurable. Defaults to old value of 5 that seems more preferable + for video editing. + + * src/framework/mlt_playlist.c: Fix playlist corruption with long blanks + (kdenlive-2219). + + * src/modules/gtk2/producer_pango.c: Add a workaround in pango for old + kdenlive countdowns. + +2011-07-09 Dan Dennedy + + * src/modules/feeds/NTSC/data_fx.properties, + src/modules/feeds/NTSC/etv.properties, + src/modules/feeds/NTSC/obscure.properties, + src/modules/feeds/PAL/border.properties, + src/modules/feeds/PAL/data_fx.properties, + src/modules/feeds/PAL/etv.properties: Convert , to / delimiter in data_show + templates. + + * src/framework/metaschema.yaml, src/framework/mlt_properties.c: Add + LC_NUMERIC handling to YAML Tiny parser. + + * src/framework/mlt_properties.c, src/framework/mlt_properties.h, + src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h: Add + mlt_properties_get_lcnumeric and Properties::get_lcnumeric + + * src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h: Add + Properties::set_lcnumeric(). + + * src/framework/mlt_properties.c, src/framework/mlt_properties.h, + src/framework/mlt_property.c, src/framework/mlt_property.h: Add + mlt_properties_set_lcnumeric, mlt_property_get_double_l, and + mlt_property_get_string_l. Locale-specific variants of key properties + functions. + + * src/modules/core/filter_obscure.c: Let obscure accept / as a coordinate + delimiter. + + * src/modules/frei0r/factory.c: Make frei0r version metadata support locale. + Patch by j-b-m + +2011-07-07 Dan Dennedy + + * src/modules/core/filter_data_show.yml, src/modules/core/filter_gamma.yml, + src/modules/core/filter_greyscale.yml, src/modules/core/filter_luma.yml, + src/modules/core/filter_watermark.yml, src/modules/core/producer_colour.yml, + src/modules/core/producer_noise.yml, src/modules/dv/producer_libdv.yml, + src/modules/gtk2/producer_pango.yml, src/modules/gtk2/producer_pixbuf.yml, + src/modules/vorbis/producer_vorbis.yml, src/modules/xml/producer_xml.yml: + Convert services.txt to metadata YAML (WIP). Patch by Brian Matherly. + +2011-07-06 Dan Dennedy + + * src/modules/xml/consumer_xml.c, src/modules/xml/mlt-xml.dtd, + src/modules/xml/producer_xml.c: Add LC_NUMERIC to MLT XML. This does not + permit one to mix locales within a MLT process! In other words, you can not + load a document in a locale using one decimal separator and then filter with + a double property using a different separator. + + * src/modules/oldfilm/filter_vignette.c, src/modules/plus/filter_charcoal.c: + Fix some default numeric property values in some locales. Strings with a + period for decimal separator do not convert correctly in locales that use + comma for the decimal separator. + + * demo/README, demo/demo, demo/mlt_bouncy, demo/mlt_bouncy_ball, + demo/mlt_composite_transition, demo/mlt_my_name_is, demo/mlt_news, + demo/mlt_obscure, demo/mlt_push, demo/mlt_slideshow2, + demo/mlt_slideshow_black, demo/mlt_squeeze, demo/mlt_squeeze_box, + demo/mlt_swf_variables, demo/mlt_ticker, demo/mlt_title_over_gfx, + demo/mlt_titleshadow_watermark, demo/mlt_voiceover, demo/mlt_watermark, + demo/pango.mlt, docs/framework.txt, docs/services.txt, + src/framework/mlt_geometry.c, src/modules/core/filter_obscure.c, + src/modules/core/transition_composite.c, + src/modules/core/transition_region.c, src/modules/motion_est/Makefile, + .../motion_est/filter_autotrack_rectangle.c, + src/modules/plus/transition_affine.c, src/tests/hello.c: Use '/' for + coordinate delimiter instead of period. Period is a decimal separator in + some locales. + + * demo/consumers.ini, demo/demo.ini: Fix usage of cut in demo script for some + platforms (OSX). + +2011-07-05 Dan Dennedy + + * presets/consumer/avformat/webm, presets/consumer/avformat/webm-pass1, + presets/consumer/avformat/webm-pass2: Add some WebM presets. + +2011-07-04 Dan Dennedy + + * src/modules/avformat/configure: Cleanup display of recommended versions. + + * presets/consumer/avformat/x264-medium-pass1: Skip audio output with first + pass. + + * presets/consumer/avformat/x264-medium-pass1: Add new FFmpeg fastfirstpass + option. + + * src/modules/avformat/consumer_avformat.c: Suppress confusing message when + vpre does not exist. + + * presets/consumer/avformat/x264-medium-baseline, + presets/consumer/avformat/x264-medium-main: Fix profile-based x264 presets + for FFmpeg v0.8+. + + * src/modules/avformat/consumer_avformat.c: Fix crash in consumer on FFmpeg + v0.8 and later. + + * src/modules/avformat/configure: Revert removal of --avformat-ldextra. + + * src/modules/avformat/factory.c: Fix metadata for avformat + demuxer/device-specific options. + + * presets/consumer/avformat/x264-medium, + presets/consumer/avformat/x264-medium-baseline, + presets/consumer/avformat/x264-medium-main, + presets/consumer/avformat/x264-medium-pass1: Add some x264-medium presets. + + * src/modules/avformat/Makefile, src/modules/avformat/configure: Dropping + support for --avformat-svn. Subversion is no longer used, FFmpeg and libav + have forked, and now there are the build scripts. + + * src/modules/avformat/producer_avformat.c, + src/modules/avformat/producer_avformat.yml, src/modules/melt/producer_melt.c: + Support standard query syntax on avformat URL. + + * reconfigure: Add convenient reconfigure script. + +2011-07-03 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Change some verbose messages with + new_seek to debug. + + * src/modules/avformat/producer_avformat.c: Fix file descriptor leak in + reopen_video(). + + * src/modules/avformat/producer_avformat.c: Fix race condition by adding + take_lock to producer_open(). + + * src/framework/mlt_consumer.c: Add check for null frame. + + * src/modules/dv/producer_libdv.c: Make libdv sample aspect ratio consistent + with profiles. Patch by: Maksym Veremeyenko + +2011-07-02 Dan Dennedy + + * src/modules/decklink/DeckLinkAPI_h.h, + src/modules/decklink/DeckLinkAPI_i.cpp, src/modules/decklink/Makefile, + src/modules/decklink/configure, src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/producer_decklink.cpp: Add Windows support for DeckLink. + +2011-06-26 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Make it easier to embed sdl in Windows + applications. + +2011-06-25 Dan Dennedy + + * src/framework/mlt_consumer.c: Add handling for heavy frame-dropping with + real_time>1. + + * src/framework/mlt_consumer.c: Improve reliability of real_time=1 + frame-dropping. + + * src/framework/mlt_consumer.c: Simplify and comment real_time=1 + frame-dropping. + +2011-06-24 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Use int64_t for req_position and + int_position. + +2011-06-22 Dan Dennedy + + * presets/consumer/avformat/dv_ntsc/DV, + presets/consumer/avformat/dv_ntsc/DVCPRO50, + presets/consumer/avformat/dv_ntsc_wide/DV, + presets/consumer/avformat/dv_ntsc_wide/DVCPRO50, + presets/consumer/avformat/dv_pal/DV, + presets/consumer/avformat/dv_pal/DVCPRO50, + presets/consumer/avformat/dv_pal_wide/DV, + presets/consumer/avformat/dv_pal_wide/DVCPRO50: Add DV and DVCPRO50 encode + presets. + +2011-06-21 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Make sure avformat consumer + closes all mlt_frames. + + * src/modules/avformat/producer_avformat.c: Fix regression on avdevice. When + using non-integer profile frame rate, supplying frame_rate on URL, and not + supplying frame_rate_base on URL. + + * src/modules/core/producer_consumer.c: Fix xml producer overwriting explicit + profile. + +2011-06-17 Dan Dennedy + + * src/framework/Makefile, src/framework/mlt_types.h, src/melt/Makefile, + src/modules/avformat/Makefile, src/modules/gtk2/Makefile, + src/modules/sdl/Makefile, src/win32/fnmatch.c: Cleanup Win32 build. + + * src/framework/mlt_repository.c: Win32 compile fix. + +2011-06-15 Dan Dennedy + + * src/framework/mlt_transition.c, src/modules/core/transition_composite.c: + Fix regression in field rendering luma transition. Due to refactoring + composite and luma into mlt_transition_get_progress_delta(). + + * src/modules/avformat/producer_avformat.c: Fix int64_t to int overflow + problem. + +2011-06-14 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Support decklink video input + format detection. This makes it work with auto-producer. After calling + mlt_profile_from_producer(), you must close the decklink producer and re-open + it with the updated profile. Also, this adds support for top_field_first and + colorspace indication. + +2011-06-13 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Fix waiting for frame in + decklink producer. + + * profiles/sdi_486i_5994: Fix aspect ratio of sdi_486i_5994. + + * src/modules/avformat/producer_avformat.c, + src/modules/avformat/producer_avformat.yml: Add video_delay to avformat + producer. + +2011-06-11 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Provide A/V sync for non-seekable + sources. + + * src/melt/melt.c: Fix melt -silent with pipe input. + + * src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/producer_decklink.yml: Add prefill property to decklink + producer. + + * src/modules/avformat/producer_avformat.c: Fix bug in avformat URL parsing. + Especially reproducible on file: URLs. + + * src/modules/avformat/producer_avformat.c: Fix sync of multiple audio + streams with audio_index=all. + +2011-06-10 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix infinite loop with + audio_index=all on sample provided by BCE. + + * src/modules/decklink/consumer_decklink.cpp: Rework decklink consumer to use + timestamped audio packet. Patches supplied by Maksym Veremeyenko. + +2011-06-08 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Disable new_seek on h264/ts from + non-seekable source (udp, pipe). + +2011-06-07 Dan Dennedy + + * src/modules/gtk2/producer_pango.c: Fix pango producer from loading with + empty string arg. + +2011-06-06 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Temporary fix for new crash when + closing codec. + + * src/modules/avformat/consumer_avformat.c: Fix setting codec-specific + options for avcodec v53. + + * src/modules/avformat/factory.c: Fix crash generating avformat metadata. + + * src/framework/mlt_consumer.c, src/modules/avformat/consumer_avformat.yml: + Change consumer 'profile' property to 'mlt_profile' libavcodec uses the + profile property for aac and libx264. + +2011-06-05 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Drop usage of av_demuxer_open() + in avformat v53. It is causing problems and need more stability after the + raft of changes. + + * src/modules/avformat/producer_avformat.c: Fix regressions on libavformat + v53 and failing on invalid file. + + * src/modules/avformat/consumer_avformat.yml, + src/modules/avformat/producer_avformat.yml: Change URI to URL in avformat + yaml. + + * src/modules/avformat/producer_avformat.c: Fix compilation error on + libavformat v53. + + * src/melt/melt.c, src/modules/avformat/consumer_avformat.c: Send melt -query + and -help to stdout. Nice for use with pager or grep, awk, etc. + + * src/melt/melt.c: Do not open terminal on stdin if not a tty. + + * src/melt/melt.c: Have melt detect 'pipe:' and disable reading stdin on + terminal. + + * src/modules/avformat/producer_avformat.c: Fix setting default streams on + non-seekable streams. + + * src/modules/avformat/producer_avformat.c: Fix setting demuxer private + options libavformat for v53+. + + * src/modules/avformat/producer_avformat.c: Tidy code dealing with + AVFormatParameters. + + * src/modules/avformat/producer_avformat.c: Refactor common code around + producer_open into producer_open. + + * src/modules/avformat/producer_avformat.c: minor cleanup in return handling + in parse_url + +2011-06-04 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Use a single AVFormatContext for + non-seekable sources. This provides better support for reading from network + streams such as rtsp, rtmp, udp, and hopefully pipe. + + * src/modules/avformat/producer_avformat.c: Refactor avformat get_image() + into new seek_video(). + + * src/modules/avformat/producer_avformat.c: refactor avformat producer_open + + * src/modules/avformat/producer_avformat.c: cleanup producer_avformat_init + + * src/modules/decklink/consumer_decklink.cpp: Default decklink consumer to + onefield deinterlace method. + + * src/modules/decklink/consumer_decklink.cpp: Fix decklink keyer playout + speed (3311056). + +2011-06-03 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp, + src/modules/decklink/consumer_decklink.yml: Enable external keyer on decklink + consumer. Patch supplied by Maksym Veremeyenko. + +2011-06-02 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Fix deadlock on no signal in + decklink producer. + + * src/modules/decklink/consumer_decklink.cpp: Fix crash in decklink with + keyer and interlaced clips (3310104). + + * src/modules/decklink/Makefile: Install consumer_decklink.yml. + +2011-05-31 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Let decklink run forever. Also + fix setting resource property. + +2011-05-30 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Fix decklink choppy playback + (3308341). This would occur after several pause and play cycles. + + * src/modules/rotoscoping/filter_rotoscoping.yml: Make rotoscoping filter + metadata valid yaml. + + * src/modules/linsys/Makefile, src/modules/linsys/consumer_sdi.yml, + src/modules/linsys/factory.c: Add service metadata to linsys module (WIP). + + * src/modules/xml/Makefile, src/modules/xml/consumer_xml.yml, + src/modules/xml/factory.c, src/modules/xml/producer_xml-string.yml, + src/modules/xml/producer_xml.yml: Add service metadata to xml module (WIP). + + * src/modules/vorbis/Makefile, src/modules/vorbis/factory.c, + src/modules/vorbis/producer_vorbis.yml: Add service metadata to vorbis module + (WIP). + + * src/modules/core/filter_mono.yml, src/modules/vmfx/Makefile, + src/modules/vmfx/factory.c, src/modules/vmfx/filter_chroma.yml, + src/modules/vmfx/filter_chroma_hold.yml, src/modules/vmfx/filter_mono.yml, + src/modules/vmfx/filter_shape.yml, src/modules/vmfx/producer_pgm.yml: Add + service metadata to vmfx module (WIP). + + * src/modules/jackrack/plugin.c, src/modules/jackrack/plugin_mgr.c, + src/modules/jackrack/plugin_settings.c: Remove aborts in jackrack module. + +2011-05-29 Dan Dennedy + + * src/modules/swfdec/Makefile, src/modules/swfdec/producer_swfdec.c, + src/modules/swfdec/producer_swfdec.yml: Add service metadata to swfdec module + (WIP). + + * src/modules/qimage/producer_qimage.yml, src/modules/sdl/Makefile, + src/modules/sdl/consumer_sdl.yml, src/modules/sdl/consumer_sdl_audio.yml, + src/modules/sdl/consumer_sdl_preview.yml, + src/modules/sdl/consumer_sdl_still.yml, src/modules/sdl/factory.c, + src/modules/sdl/producer_sdl_image.yml: Add service metadata for SDL module + (WIP). + + * src/modules/plus/transition_affine.yml, src/modules/qimage/Makefile, + src/modules/qimage/factory.c, src/modules/qimage/producer_kdenlivetitle.yml, + src/modules/qimage/producer_qimage.yml: Add service metadata for qimage + module (WIP). + + * src/modules/plus/Makefile, src/modules/plus/factory.c, + src/modules/plus/filter_affine.yml, src/modules/plus/filter_charcoal.yml, + src/modules/plus/filter_invert.yml, src/modules/plus/filter_sepia.yml, + src/modules/plus/transition_affine.yml: Add service metadata to plus module + (WIP). + + * src/modules/normalize/Makefile, src/modules/normalize/factory.c, + src/modules/normalize/filter_volume.yml: Add service metadata to normalize + module (WIP). + + * src/modules/motion_est/Makefile, src/modules/motion_est/factory.c, + .../motion_est/filter_autotrack_rectangle.yml, + src/modules/motion_est/filter_motion_est.yml, + src/modules/motion_est/filter_vismv.yml, + src/modules/motion_est/producer_slowmotion.yml: Add service metadata to + motion_est module (WIP). + + * src/modules/melt/Makefile, src/modules/melt/factory.c, + src/modules/melt/producer_melt.yml, src/modules/melt/producer_melt_file.yml: + Add service metadata for melt module (WIP). + + * src/modules/kdenlive/Makefile, src/modules/kdenlive/factory.c, + src/modules/kdenlive/filter_boxblur.yml, + src/modules/kdenlive/filter_freeze.yml, src/modules/kdenlive/filter_wave.yml, + src/modules/kdenlive/producer_framebuffer.yml: Add service metadata for + kdenlive module (WIP). + + * src/modules/gtk2/Makefile, src/modules/gtk2/consumer_gtk2_preview.yml, + src/modules/gtk2/factory.c, src/modules/gtk2/producer_pango.yml, + src/modules/gtk2/producer_pixbuf.yml: Add service metadata for gtk2 module + (WIP). + + * src/modules/effectv/Makefile, src/modules/effectv/factory.c, + src/modules/effectv/filter_burningtv.yml: Add service metadata for effectv + module (WIP). + + * src/modules/dv/Makefile, src/modules/dv/consumer_libdv.yml, + src/modules/dv/factory.c, src/modules/dv/producer_libdv.yml: Add service + metdata for dv module (WIP). + + * src/swig/ruby/metadata.rb: Add ruby script to generate wiki text files. + + * src/modules/core/Makefile, src/modules/core/factory.c, + src/modules/core/filter_audiowave.yml, + src/modules/core/filter_brightness.yml, + src/modules/core/filter_channelcopy.yml, src/modules/core/filter_crop.yml, + src/modules/core/filter_data_show.yml, src/modules/core/filter_gamma.yml, + src/modules/core/filter_greyscale.yml, src/modules/core/filter_luma.yml, + src/modules/core/filter_mirror.yml, src/modules/core/filter_mono.yml, + src/modules/core/filter_obscure.yml, src/modules/core/filter_region.yml, + src/modules/core/filter_transition.yml, + src/modules/core/filter_watermark.yml, src/modules/core/producer_colour.yml, + src/modules/core/producer_consumer.yml, src/modules/core/producer_hold.yml, + src/modules/core/producer_noise.yml, + src/modules/core/transition_composite.yml, + src/modules/core/transition_luma.yml, src/modules/core/transition_mix.yml, + src/modules/core/transition_region.yml: Add service metadata for core module + (WIP). + +2011-05-28 Dan Dennedy + + * src/modules/decklink/producer_decklink.cpp: Report dropped frames. + + * src/modules/decklink/producer_decklink.cpp: Fix memory leak in decklink + producer. + + * src/swig/python/getimage.py, src/swig/python/waveforms.py: Convert Python + examples to new frame method. + + * src/swig/python/build: Fix python binding for OS X + + * src/swig/mlt.i: Add mlt.Frame.get_image for Python. + + * src/melt/melt.c: Refactor melt to mlt_profile_from_producer. + + * src/framework/mlt_profile.c, src/framework/mlt_profile.h, + src/mlt++/MltProfile.cpp, src/mlt++/MltProfile.h: Add + mlt_profile_from_producer(). This new function contains the auto-profile + feature. Plus setters for Mlt::Profile. + +2011-05-26 Dan Dennedy + + * src/framework/mlt_cache.c: Do not immediately destroy all cache items on + purge. This is behaving badly with the addition of mlt_service_cache_purge + in the avformat producer because there were frames in consumer buffers + holding references to cache items calling mlt_cache_item_close on + destruction. + +2011-05-25 Dan Dennedy + + * src/framework/mlt_consumer.c: Prevent multiple starts on mlt_consumer. + +2011-05-22 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix full closure of avformat on + explicit close. JBM wrote: Creating a video4linux producer like (simplified + code): producer = new Mlt::Producer(*profile, "video4linux2:/dev/video0"); + consumer->connect(*producer); consumer->start(); It works fine. But when I + want to stop the capture, there is no way to stop the video4linux producer. + Deleting the producer and the consumer still leaves the video4linux device + open. After a few hours of struggling, I figured out that some stuff was + kept in the cache. Adding : mlt_service_cache_purge( + MLT_PRODUCER_SERVICE(parent) ); to producer_close (as already done for the + qimage producer for example) fixes the issue. + + * src/modules/avformat/producer_avformat.c: Fix regression in + protocol/avdevice handling. + + * src/modules/jackrack/Makefile, src/modules/jackrack/blacklist.txt, + src/modules/jackrack/plugin_mgr.c, src/modules/jackrack/plugin_mgr.h: Add + blacklist for ladspa filters. Initially includes dssi-vst since that is + unstable on AV Linux 5. + + * configure: Fix segfault in yadif with gcc 4.6 -O1 or -O2. + +2011-05-17 Dan Dennedy + + * src/modules/jackrack/jack_rack.c: Do not destroy shared plugin_mgr when + closing instance. + + * src/modules/jackrack/factory.c, src/modules/jackrack/jack_rack.c: Let all + instances of ladspa share single plugin_mgr. + +2011-05-16 Dan Dennedy + + * src/modules/core/filter_resize.c: Fix regression getting consumer + aspect_ratio. + + * src/modules/feeds/PAL/data_fx.properties: Fix background color on default + PAL data_show. + + * src/modules/core/transition_composite.c: Fix manual deinterlace on B in + composite. + +2011-05-15 Dan Dennedy + + * docs/melt.1, src/melt/melt.c: Document -jack option. + + * docs/melt.1: Add -query preset to man page. + + * src/modules/jackrack/filter_jackrack.c: Change a log item to debug. + + * src/melt/melt.c, src/modules/jackrack/filter_jackrack.c, + src/modules/jackrack/process.c: Add first draft of JACK transport sync. + + * src/framework/mlt_consumer.c: Improve frame-dropping for real_time=1. Uses + thresholds relative to fps and buffer levels. Properly drops more frames to + keep audio continuous. Does not drop first several frames to prevent chopping + playback. + + * src/modules/sdl/consumer_sdl_preview.c: Add audio_off and frequency to + properties passed to sdl consumer. + + * src/framework/mlt_producer.c: Fix dox error. + +2011-05-14 Dan Dennedy + + * src/modules/jackrack/factory.c: Fix big slowdown enumerating all metadata + for ladspa plugins. + + * configure, src/mlt++/configure: Fix build on Debian GNU/kFreeBSD. + +2011-05-12 Dan Dennedy + + * Makefile, presets/consumer/avformat/dv_ntsc/DVD, + presets/consumer/avformat/dv_ntsc_wide/DVD, + presets/consumer/avformat/dv_pal/DVD, + presets/consumer/avformat/dv_pal_wide/DVD, setenv, + src/framework/mlt_properties.c, src/framework/mlt_properties.h, + src/framework/mlt_repository.c, src/framework/mlt_repository.h, + src/melt/melt.c, src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h, + src/mlt++/MltRepository.cpp, src/mlt++/MltRepository.h, src/swig/mlt.i: + Presets! Put property setters in a file and apply them to a service using + properties=filename. Alternatively, apply a supplied preset using + properties=preset. For example, melt ... -consumer avformat:my.vob + properties=DVD. + + * src/modules/jackrack/jack_rack.c, src/modules/jackrack/plugin.c, + src/modules/jackrack/plugin_mgr.c, src/modules/jackrack/process.c: Convert + jackrack printfs to mlt_log (3301094). + +2011-05-10 Dan Dennedy + + * src/modules/jackrack/Makefile, src/modules/jackrack/factory.c, + src/modules/jackrack/filter_jackrack.yml, + src/modules/jackrack/filter_ladspa.yml: Add service metadata for jackrack, + ladspa, and ladspa.id. + + * src/modules/jackrack/filter_ladspa.c, src/modules/jackrack/plugin_mgr.c: + Add support for ladspa.id variants. This is much more convenient to use + without having to compose the JACK Rack XML. Also, we will be able to add + future support for property animation (automation), which JACK Rack lacks. + However, it does still support loading and processing JACK Rack files. + + * src/modules/sox/factory.c: Simplify sox metadata generator. + +2011-05-09 Dan Dennedy + + * src/modules/decklink/configure: Allow decklink to build on OS X. + + * src/modules/sdl/consumer_sdl_preview.c: sdl_preview should default to + real_time=1 + + * src/framework/mlt_consumer.c: Revert change to max consecutive dropped + frames. At least until a better heuristic is determined. + +2011-05-08 Dan Dennedy + + * src/modules/sox/factory.c: Add version check for SOX_EFF_INTERNAL. + + * src/modules/sox/Makefile, src/modules/sox/factory.c, + src/modules/sox/filter_sox.c, src/modules/sox/filter_sox.yml: Add support for + sox.effect variants. The legacy forms of 'sox:"effect options"' and 'sox + effect="name options"' still work. The new forms allows them all to be + enumerated by Mlt apps, e.g.: melt -query filter. Also, this registers + metadata for both the generic 'sox' filter and all of the new 'sox.effect' + ones including their usage help! + + * src/modules/avformat/Makefile: Install consumer_avformat.yml + + * src/modules/avformat/filter_avresample.c, src/modules/core/loader.ini: Fix + inadvertent reording of resample filters. And add debug log to avresample. + +2011-05-06 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Pad the last audio frame with + silence. Instead of returning fewer samples than requested. + + * src/framework/mlt_frame.h: Document the frame audio and image properties. + + * src/framework/mlt_tractor.c, src/modules/avformat/producer_avformat.c, + src/modules/dv/producer_libdv.c, src/modules/vorbis/producer_vorbis.c: Make + the frame audio properties consistent. + + * src/modules/avformat/producer_avformat.c: Fix avformat producer to use new + mlt audio formats. + + * src/modules/core/filter_audioconvert.c: Add conversion routines for new + audio formats. These only doing conversion _from_ the new types + mlt_audio_s32le and mlt_audio_f32le. There are no plans at the moment for + conversion into them, but it is certainly not out of the question. + + * src/framework/mlt_frame.c, src/framework/mlt_types.h: Add mlt_audio_s32le + and mlt_audio_f32le audio formats. + + * src/modules/avformat/filter_avresample.c, src/modules/core/Makefile, + src/modules/core/factory.c, src/modules/core/filter_audiochannels.c, + src/modules/core/loader.ini, src/modules/resample/filter_resample.c: Add + audiochannels normalization filter. Refactors code from the resamplers into + a new filter to be more manageable. Eventually, we can add options on what to + do when adding/removing channels. + +2011-05-05 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix channel count for resizing + decoded audio buffer when not resampling. + + * src/modules/avformat/producer_avformat.c: Fix regressions in audio + decoding. + + * src/modules/avformat/producer_avformat.c: Cleanup compile warnings. + + * src/modules/avformat/producer_avformat.c: Simplify audio pointer and sample + size code. + +2011-05-01 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: WIP to get >16-bit multi-channel + audio working. Seems close, but something is wrong. + +2011-05-04 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Copy cached image if writable + copy requested. + +2011-05-03 Dan Dennedy + + * configure, src/framework/mlt_transition.c: Ensure transition B frames get + some consumer properties. Also, ensure both A and B frames have sane scaling + and aspect ratio values. This addresses an issue where composite and region + were not getting the correct deinterlace method impacting performance. In + addition, it factors out some common code (best practice) from various + transitions moving it into the framework. + +2011-05-01 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.7.2 + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: Set version + to 0.7.2 + + * NEWS: Add release notes for v0.7.2. + + * src/modules/avformat/filter_avresample.c, + src/modules/resample/filter_resample.c: Finish work to normalize channel + count. Also, refactor the audio resamplers to use mlt_audio_format_size() + and mlt_frame_set_audio(). Currently, there are no controls over which + channels to drop or duplicate. + + * src/framework/mlt_tractor.c, src/modules/core/producer_consumer.c, + src/modules/core/producer_noise.c, src/modules/core/producer_ppm.c: Refactor + to mlt_frame_set_audio(). + + * src/melt/melt.c: Let 'Q' stop melt as well. + + * src/modules/feeds/NTSC/data_fx.properties, + src/modules/feeds/PAL/data_fx.properties: Fix alpha on color of some + data-feed properties. + + * src/modules/avformat/factory.c: Free temp string. + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: Add support for new codec- and + muxer-specific AVOptions. + +2011-04-30 Dan Dennedy + + * setenv: DYLD_LIBRARY_PATH not needed for me on OS X. + + * src/modules/avformat/producer_avformat.c: Fix sample rate and channel count + from avformat producer. If unable to resample or the decoder does not give + the requested channel count, then we should return the actual values so + downstream components can do the correct thing if they can. A good example of + this is 6 channel AAC when the consumer requests 2 channels. Unlike the AC-3 + decoder, the AAC decoder can not downmix. So, we were returning audio pcm + containing 6 channels but with a channel count of 2. + +2011-04-29 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Try to duplicate last image if + decoding fails. + +2011-04-22 Dan Dennedy + + * src/framework/mlt_consumer.c: Fix intermitent crash in mlt_consumer + consumer_read_ahead_thread. + + * src/modules/avformat/producer_avformat.c: Use new + av_get_bits_per_sample_fmt() in avformat producer. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: Use new avio functions in avformat + module. + +2011-04-21 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: Fix deadlock in sdl_audio appearing + in kdenlive. + + * src/modules/core/producer_ppm.c: Fix compile warns in producer_ppm.c. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Fix regression initializing + coefficients. + + * src/modules/avformat/producer_avformat.c: Use newer + av_get_sample_fmt_name() if available. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c: Fix avformat compile warns on const + and 64-bit string formatting. + + * src/modules/core/producer_hold.c, src/modules/jackrack/filter_jackrack.c: + Fix couple compile warns. + + * src/framework/mlt_property.c, src/framework/mlt_types.h, + src/modules/linsys/sdi_generator.c: Fix some compile warnings about + string-formatting 64bit. + + * src/modules/avformat/audioconvert.h, + src/modules/avformat/producer_avformat.c: Drop private audioconvert.h for + public samplefmt.h. + +2011-04-20 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: More libavcodec v53 changes + required. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: Fix avformat build with libavcodec + v53. + + * src/modules/avformat/configure: Fix detect swscale on libavcodec major + version bump. + +2011-04-18 Dan Dennedy + + * src/modules/core/producer_colour.c: Fix corruption in color producer + (3288984) + +2011-04-12 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Fix decklink consumer on + devices without keyer. + +2011-04-09 Dan Dennedy + + * src/framework/mlt_profile.c, src/mlt++/MltProfile.cpp, + src/mlt++/MltProfile.h, src/swig/mlt.i: Add Mlt::Profile.list(). + + * src/framework/mlt_profile.c: Fix mlt_profile_list when MLT_PROFILES_PATH + not set. + +2011-04-08 Dan Dennedy + + * src/modules/kdenlive/filter_freeze.c: Fix deadlock in freeze filter. + Reported by Andrew Wason. + +2011-04-07 Dan Dennedy + + * src/modules/avformat/consumer_avformat.yml, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.yml: Add avformat consumer metadata. + Improve avformat producer metadata. Significantly extend each with AVOptions. + +2011-04-06 Dan Dennedy + + * src/modules/core/transition_region.c: Better fix to the region regression + (3277867). This one works with bug report test case, timecode overlay in + Kdenlive Render, and Region transition in Kdenlive. + + * src/modules/core/transition_composite.c: Fix regression on region + transition (3277867). + +2011-04-04 Dan Dennedy + + * demo/README, demo/demo.ini, demo/mlt_pango_keyframes, + demo/pango_keyframes.mpl: Add mlt_pango_keyframes demo. + + * src/modules/gtk2/producer_pango.c: Make pango file on invalid file + (3272537). + +2011-04-03 Dan Dennedy + + * docs/melt.1, docs/melt.txt, src/melt/melt.c: Add -query formats and codecs + to melt. + + * docs/melt.1, docs/melt.txt, src/melt/melt.c: Add -query profile to melt. + + * src/framework/mlt_profile.c, src/framework/mlt_profile.h: Add + mlt_profile_list(). + + * src/modules/decklink/consumer_decklink.yml: Add parameter descriptions. + +2011-04-02 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Add keyer support to decklink + consumer. + +2011-03-31 Dan Dennedy + + * src/modules/decklink/consumer_decklink.yml, + src/modules/decklink/producer_decklink.yml: Add metadata for decklink + consumer. + + * src/modules/decklink/Makefile, src/modules/decklink/producer_decklink.cpp, + src/modules/decklink/producer_decklink.yml: Add decklink producer. + +2011-03-27 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fail gracefully on unsupported + codec (3251438). + + * configure, src/modules/core/transition_composite.c: Fix regression in + region filter (3251260). + + * ChangeLog: Update ChangeLog for v0.7.0. + + * Doxyfile, configure, src/framework/mlt_version.h: Set version to 0.7.0 + + * NEWS: Add release notes for v0.7.0. + + * src/modules/melt/producer_melt.c: Fix segfault on missing melt argument + (3249982). + + * src/modules/avformat/producer_avformat.c: Fix a segfault in avformat with + parallel consumer. + + * src/modules/core/transition_composite.c: Fix composite using wrong B frame + scaling. This could happen when the caller of mlt_frame_get_image supplied 0 + for width and height. For example, Kdenlive's GL output with the sdl_audio + consumer with real_time > 1 and paused. + + * docs/melt.1: Fix segfaul on missing melt argument (3249982). + + * src/modules/sdl/consumer_sdl_audio.c: Fix some crashing in sdl_audio. + + * src/modules/sdl/consumer_sdl_audio.c: Also increase audio_buffer default in + sdl_audio. + + * src/modules/avformat/configure: Disable VDPAU by default. Require new + --avformat-vdpau to enable it. + + * src/modules/avformat/consumer_avformat.c, src/modules/sox/filter_sox.c, + src/modules/xml/producer_xml.c: Use mlt_properties_get_value where possible. + + * src/framework/mlt_playlist.c, src/framework/mlt_producer.c, + src/framework/mlt_properties.c, src/framework/mlt_properties.h, + src/framework/mlt_tractor.c, src/mlt++/MltProperties.cpp, + src/mlt++/MltProperties.h: Add mlt_properties_lock and _unlock. Fixes some + concurrency safetiness problems. + +2011-03-24 Dan Dennedy + + * src/modules/decklink/configure, src/modules/kino/configure, + src/modules/linsys/configure: Enable linsys by default on Linux. Disable + linsys and decklink by default on OS X and Windows. + + * src/modules/configure: Display all configure options with --help. + Regardless of --enable-gpl setting. + + * src/modules/avformat/producer_avformat.c: Redo locking in avformat + producer. This significantly improves concurrency. The service locks added + during parallel consumer development also introduced a concurrency + performance regression even for the single-threaded consumer. The result was + much audio discontinuity due to audio output buffer underruns. As a result, + the recent bug fix to re-open the video demuxer upon seeking to the first + frame had to be rewritten. + +2011-03-23 Dan Dennedy + + * src/modules/avformat/vdpau.c: Fix vdpau crashes when failed to init. + + * src/modules/avformat/vdpau.c: Fix unchecked vdpau pointer. + + * src/modules/sdl/consumer_sdl_preview.c: Default sdl_preview prefill to 1. + Since buffer and prefill were recently passed from sdl_preview onto sdl, + sdl's default buffer level changed to the base service default of 25. That + change increases the latency of transport controls. Changing the prefill to 1 + resolves that while still allowing the rendering thread a chance to do some + anticipatory work. + + * src/modules/decklink/consumer_decklink.cpp: Fix a comment in decklink + consumer. + + * src/framework/mlt_consumer.c, src/modules/decklink/consumer_decklink.cpp: + Fix a couple null pointer bugs. + +2011-03-22 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Improve frame-dropping in + decklink. + +2011-03-20 Dan Dennedy + + * src/modules/jackrack/filter_jackrack.c, src/modules/jackrack/plugin.h, + src/modules/jackrack/process.c: Fix build of jackrack module on mingw. + +2011-03-19 Dan Dennedy + + * profiles/atsc_1080p_50, profiles/atsc_1080p_5994, profiles/atsc_1080p_60: + Add high frame rate 1080p profiles. + +2011-03-17 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix regression on seeking to + first frame with audio_index set. + +2011-03-14 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add force_length and + adjust_length properties. The reporter on kdenlive bug 2003 reports another + user on IRC had the same problem with clips being too long. Change the + default length adjustment to be more safe and add new properties to affect + the heuristic for other applications that might want a different behavior. + adjust_length applies a plus/minus operand to the detected length. + force_length provides a brute force length override. + + * src/modules/avformat/producer_avformat.c: Fix some incorrect frame rates in + avformat (kdenlive-1616). + + * src/modules/frei0r/factory.c: Support frei0r transitions that use + f0r_update2(). + + * configure: Fix amd64 detection on FreeBSD. Patch from Alberto Villa. + +2011-03-13 Dan Dennedy + + * src/modules/core/filter_crop.c: Add boolean use_profile property to crop + filter. This lets one express crop amounts in pixels relative to profile + resolution instead of in terms of source resolution. + + * src/modules/frei0r/blacklist.txt: We do not yet support + f0r_param_position_t. + +2011-03-12 Ertan Deniz + + * src/framework/mlt_factory.c: Set global variables to NULL in + mlt_factory_close to enable mlt_factory to be initialized and closed + multiple times. + +2011-03-12 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Prefer opening codec by name + instead of by ID. This fixes a bug with actually using libxvid instead of + mpeg4 because both share the same CODEC_ID_MPEG4. This is similar to the + recent problem with ac3 selection in new versions of ffmpeg that have 2 ac3 + encoders. + +2011-03-09 Dan Dennedy + + * src/modules/frei0r/filter_frei0r.c, src/modules/frei0r/frei0r_helper.c, + src/modules/frei0r/frei0r_helper.h, src/modules/frei0r/producer_frei0r.c, + src/modules/frei0r/transition_frei0r.c: Refactor frei0r and fix time + parameter. Refactored to use mlt_filter_get_position and + mlt_transition_get_position. frei0r's time parameter is seconds, but we were + passing frame count. + + * src/modules/core/transition_region.c: Fix region transition with more than + 2 tracks. + + * src/modules/core/transition_region.c, src/modules/plus/transition_affine.c: + Refactor to mlt_transition_get_position() + + * src/framework/mlt_transition.c, src/framework/mlt_transition.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h: Add + mlt_transition_get_position() + + * src/modules/core/transition_luma.c: Remove obsolete unique position on + frame. + + * src/framework/mlt_transition.c: Use the producer when always active. + + * src/modules/core/filter_luma.c, src/modules/core/filter_watermark.c, + src/modules/dgraft/filter_telecide.c, src/modules/kdenlive/filter_freeze.c, + .../motion_est/filter_autotrack_rectangle.c, + src/modules/motion_est/filter_crop_detect.c, + src/modules/oldfilm/filter_vignette.c, src/modules/plus/filter_affine.c, + src/modules/vmfx/filter_shape.c: Refactor to mlt_filter_get_position(). + +2011-03-08 Dan Dennedy + + * src/modules/core/filter_obscure.c: Refactor to mlt_filter_get_progress(). + + * src/framework/mlt_filter.c, src/framework/mlt_transition.c: Use the + producer when filter/transition always active. + + * src/framework/mlt_filter.c, src/framework/mlt_filter.h, + src/mlt++/MltFilter.cpp, src/mlt++/MltFilter.h: Add + mlt_filter_get_position(). + +2011-03-07 Dan Dennedy + + * src/modules/core/transition_composite.c, + src/modules/core/transition_luma.c: Refactor to + mlt_transition_get_progress_delta(). + + * src/framework/mlt_transition.c, src/framework/mlt_transition.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h: Add + mlt_transition_get_progress_delta(). + + * src/modules/core/transition_luma.c, src/modules/core/transition_mix.c: + Refactor to mlt_transition_get_progress(). + + * src/framework/mlt_transition.c, src/framework/mlt_transition.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h: Add + mlt_transition_get_progress(). + + * src/modules/core/filter_brightness.c, src/modules/core/filter_obscure.c, + src/modules/kdenlive/filter_boxblur.c, src/modules/kdenlive/filter_wave.c, + src/modules/normalize/filter_volume.c, src/modules/oldfilm/filter_dust.c, + src/modules/oldfilm/filter_grain.c, src/modules/oldfilm/filter_lines.c, + src/modules/oldfilm/filter_oldfilm.c: Refactor to mlt_filter_get_progress(). + + * src/framework/mlt_filter.c, src/framework/mlt_filter.h, + src/mlt++/MltFilter.cpp, src/mlt++/MltFilter.h: Add + mlt_filter_get_progress(). + + * src/modules/plus/transition_affine.c: Refactor to + mlt_transition_get_length(). + +2011-03-10 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix regression on AC-3 fix. The + recent AC-3 fix broke automatic codec selection based on format. So, we + choose codec by name only for ac3 now. + + * src/modules/swfdec/configure: Fix typo in swfdec configure script. + + * src/modules/swfdec/Makefile, src/modules/swfdec/configure: Add build + support for swfdec 0.7. And prioritize newer versions over older ones. + + * src/modules/resample/filter_resample.c: Increase resample buffer size. For + example, trying to resample 6 channels of 48 KHz would fail. + + * src/modules/resample/filter_resample.c: Remove unnecessary audio conversion + to float. + + * src/modules/avformat/producer_avformat.c: Fix audio resample with + audio_index=all. This still only works with channels <= 2. Streams with + channels > 2 are resampled downstream with the resample filter. However, that + only works when said stream has the highest sample rate. + +2011-03-07 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: use new API + functions to prevent some possible issues. + +2011-03-07 Dan Dennedy + + * src/modules/core/filter_audioconvert.c: Fix regression in audioconvert. + +2011-03-06 Dan Dennedy + + * src/modules/core/transition_composite.c, + src/modules/plus/transition_affine.c: Refactor to use + mlt_transition_get_length(). + + * src/framework/mlt_transition.c, src/framework/mlt_transition.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h: Add + mlt_transition_get_length(). + + * src/modules/frei0r/filter_frei0r.c: Refactor to use mlt_frame_get_length(). + + * src/modules/normalize/filter_volume.c: Remove unused variable. + + * src/framework/mlt_filter.c, src/framework/mlt_filter.h, + src/mlt++/MltFilter.cpp, src/mlt++/MltFilter.h: Add mlt_filter_get_length(). + + * src/framework/mlt_playlist.c: Refactor to use mlt_producer_get_playtime(). + + * src/modules/core/filter_audioconvert.c, src/modules/core/filter_mono.c, + src/modules/core/producer_consumer.c: Refactor to mlt_audio_format_size(). + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h: Add + mlt_audio_format_size(). + + * src/modules/core/producer_noise.c, src/modules/normalize/filter_volume.c: + Remove unused variables. + + * src/modules/avformat/filter_avcolour_space.c: Define out this unused code. + + * src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, src/modules/core/filter_crop.c, + src/modules/core/filter_resize.c, src/modules/core/producer_colour.c, + src/modules/gtk2/filter_rescale.c, src/modules/kdenlive/filter_freeze.c, + src/modules/kdenlive/producer_framebuffer.c: Refactor to use + mlt_image_format_size(). + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h: Add + mlt_image_format_size() + + * src/framework/mlt_tractor.c, src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, + src/modules/core/filter_audiowave.c, src/modules/core/filter_crop.c, + src/modules/core/filter_imageconvert.c, src/modules/core/filter_luma.c, + src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c, + src/modules/core/filter_watermark.c, src/modules/core/producer_colour.c, + src/modules/core/producer_consumer.c, src/modules/core/producer_hold.c, + src/modules/core/producer_noise.c, src/modules/core/producer_ppm.c, + src/modules/core/transition_composite.c, + src/modules/core/transition_region.c, src/modules/dgraft/filter_telecide.c, + src/modules/dv/producer_libdv.c, src/modules/frei0r/frei0r_helper.c, + src/modules/frei0r/producer_frei0r.c, src/modules/gtk2/filter_rescale.c, + src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/kdenlive/filter_freeze.c, src/modules/kdenlive/filter_wave.c, + src/modules/kdenlive/producer_framebuffer.c, + src/modules/motion_est/producer_slowmotion.c, + src/modules/plus/filter_affine.c, src/modules/plus/filter_charcoal.c, + src/modules/qimage/producer_kdenlivetitle.c, + src/modules/qimage/producer_qimage.c, src/modules/sdl/producer_sdl_image.c, + src/modules/swfdec/producer_swfdec.c, src/modules/vmfx/producer_pgm.c, + src/modules/xine/filter_deinterlace.c: Refactor to use + mlt_frame_set_image/_alpha. + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h, + src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h: Add mlt_frame_set_image and + mlt_frame_set_alpha. + + * src/framework/mlt_properties.c: Fix spelling error in doxygen. + + * src/framework/mlt_consumer.c: Fix thread cleanup on parallel consumer stop. + This was appearing often as a segfault at the end of melt with the avformat + consumer. + + * src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c: + Alias bicubic for hyper in pango and pixbuf. + + * : Add gpl flag file to rotoscoping filter. + + * src/modules/avformat/consumer_avformat.c: Fix AC-3 encoding + (kdenlive-2010). FFmpeg now has separate encoders that take float versus + fixed samples. + +2011-03-05 Dan Dennedy + + * src/modules/gtk2/filter_rescale.c: Make 'bicubic' an alias for highest + quality in gtk scaler. + + * src/modules/qimage/qimage_wrapper.cpp: Fix handling monochrome in qimage. + +2011-03-03 Dan Dennedy + + * src/modules/core/transition_luma.c: Fix string comparison and requested + luma size. + + * src/modules/core/filter_resize.c: Prevent attempt to pad to a smaller size. + + * src/modules/core/transition_luma.c: Fix luma semantics when both reverse + and invert. Previously, when not using a wipe (dissolve), invert would make + the transition have no effect. Now, it works and does the same thing as + reverse. Also, when using a wipe, reverse had no effect when invert was set, + and the desired effect could not be achieved. Now, it works as expected. + + * demo/demo: Set a profile for the demo script. + + * demo/consumers.ini: Drop MainConcept and BlueFish444 from the demo + consumers. + + * src/framework/mlt_properties.c: Improve mlt_properties_close() in debugger. + +2011-03-02 Dan Dennedy + + * src/modules/kdenlive/filter_wave.c: Rewrite wave filter to be + parallel-safe. It does this by using mlt_frame_unique_properties(). Also, it + fixes a problem not properly processing a source image. + + * src/modules/normalize/filter_volume.c: Refactor volume to use + mlt_frame_unique_properties(). + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h: Add + mlt_frame_unique_properties(). + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_avdeinterlace.c, + src/modules/avformat/filter_avresample.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: + Rename 'this' in avformat module. + + * src/modules/frei0r/not_thread_safe.txt: Mark more frei0r filters not + thread-safe. + +2011-03-01 Dan Dennedy + + * src/modules/kdenlive/producer_framebuffer.c: Fix deadlock regression in + framebuffer producer. + + * src/modules/frei0r/not_thread_safe.txt: Flag some frei0r filters as not + thread-safe. + + * src/modules/sdl/consumer_sdl.c: Fix deadlock in sdl_preview. This would + occur when trying to play from a paused state at the end of the project. + +2011-03-01 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c, + src/modules/rotoscoping/filter_rotoscoping.yml: rotoscoping: remove parameter + precision. Its influence on speed was very minimal while it caused some + crashes. Also update YAML filter description. + +2011-02-28 Dan Dennedy + + * src/modules/core/transition_luma.c: Fix integrity of luma transition when + parallel. + + * src/modules/avformat/producer_avformat.c: Workaround incorrect duration on + some clips (kdenlive-2003). + + * src/modules/avformat/producer_avformat.c: Fix regression in determination + of seekable. + + * src/framework/mlt_consumer.c, src/framework/mlt_deque.c, + src/framework/mlt_events.c, src/framework/mlt_factory.c, + src/framework/mlt_field.c, src/framework/mlt_filter.c, + src/framework/mlt_frame.c, src/framework/mlt_geometry.c, + src/framework/mlt_multitrack.c, src/framework/mlt_parser.c, + src/framework/mlt_playlist.c, src/framework/mlt_pool.c, + src/framework/mlt_producer.c, src/framework/mlt_profile.c, + src/framework/mlt_properties.c, src/framework/mlt_property.c, + src/framework/mlt_property.h, src/framework/mlt_repository.c, + src/framework/mlt_service.c, src/framework/mlt_tokeniser.h, + src/framework/mlt_tractor.c, src/framework/mlt_transition.c: Rename this to + self in the framework. This makes doxygen output better match the headers, + and it improves life within a code-parsing IDE like Qt Creator. + + * demo/demo.ini: Fixup demo.ini + + * src/framework/mlt_geometry.c: Rename self to g in mlt_geometry. + + * src/modules/avformat/producer_avformat.c: Fix compiler error on older + version of libavutil. + +2011-02-27 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix mlt_consumer_position when + encoding audio only. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: Add support for FFmpeg AVMetadata + API. + + * src/modules/avformat/producer_avformat.c: Fix compiler warning on + av_get_pix_fmt(). + + * src/modules/avformat/producer_avformat.c: Rewrite seekable check in + avformat. Now, alsa input works: melt -profile dv_pal alsa:default + video4linux with alsa: melt -profile quarter_15 video4linux2:/dev/video1 \ + -track alsa:default -transition mix And files over HTTP can handle seeking. + +2011-02-27 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: Add parameters + feather and feather_passes. Feathering is done by bluring the map containing + the masked area. + +2011-02-26 Dan Dennedy + + * src/modules/frei0r/blacklist.txt: Remove frei0r.facedetect from black list. + + * src/modules/frei0r/not_thread_safe.txt: Mark frei0r.cluster as not + thread-safe. + + * src/modules/frei0r/factory.c: Fix small memory leak each a frei0r plugin is + instantiated. + +2011-02-25 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add support for pix_fmt on + avformat resource URL. For example, + libdc1394:/dev/raw1394?frame_rate:15\&pix_fmt:yuv422 makes a Firewire digital + camera (not DV camcorder) on Linux work. + + * src/modules/avformat/producer_avformat.c: Add support for avdevice video + channel selection. For example, video4linux2:/dev/video0?channel=2 sets the + input to S- + + * setenv: fix setenv + +2011-02-24 Dan Dennedy + + * src/framework/mlt_transition.c: Support forever transitions (in and out not + supplied). + + * src/modules/core/filter_rescale.c: Add 'factor' property to scale filters. + Under certain conditions it can be desirable to manually change the + resolution. Caution: one can still not use this in a completely generic way + with this change. For example, in a realtime playout situation, one can + attach swscale with factor=0.25, followed by frei0r.cluster, followed by + swscale again with no properties. The first swscale will downscale the image + for the heavy cluster filter. The last swscale will upscale it to make the + rest of the project components happy. + +2011-02-20 Dan Dennedy + + * src/modules/frei0r/Makefile, src/modules/frei0r/factory.c, + src/modules/frei0r/frei0r_helper.c, src/modules/frei0r/not_thread_safe.txt: + Mark some frei0r plugins as not thread safe. + +2011-02-20 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: number of points + can now change from keyframe to keyframe. Result may be unexpected though. + Additionally some cleanup + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: rename mode + "matte" to "luma" Additionally prevent serialization of internal parameters + +2011-02-19 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix video4linux in avformat + producer. melt video4linux2:/dev/video0 + + * docs/install.txt, docs/mlt-xml.txt, docs/services.txt, setenv: Remove info + about mainconcept and bluefish services. + + * src/framework/mlt_producer.c, src/framework/mlt_producer.h, + src/modules/core/producer_consumer.c, src/modules/core/producer_hold.c, + src/modules/core/producer_noise.c, src/modules/frei0r/factory.c, + src/modules/motion_est/producer_slowmotion.c: Add profile parameter to + mlt_producer_new. + + * src/framework/mlt_service.c: Check pointer passed to mlt_service_profile. + + * src/modules/core/producer_colour.c: Fix aspect ratio of color producer. + + * configure: Add --enable-debug option. + +2011-02-19 j-b-m + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + Store exif orientation. Patch attached internally stores the exif + orientation so that it can be accessible to the framework and apps using it. + Useful it in Kdenlive to correctly rotate images when creating proxy images. + +2011-02-19 Dan Dennedy + + * src/modules/motion_est/Makefile: Fix lib suffix on motion_est. + +2011-02-16 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: Disable purging consumer on seek in + sdl_audio. Due to misbehaving on parallel-consumer. + +2011-02-16 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: Use + "property-changed" event to find out when to parse the spline + +2011-02-13 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Playout remaining frames in sdl at + end-of-stream. + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, + src/modules/sdl/consumer_sdl_preview.c: Fix deadlocks in sdl_preview with + parallel-consumer. + +2011-02-08 Dan Dennedy + + * src/modules/core/transition_composite.c: Fix image skew bug in composite + (kdenlive-1923). + + * src/modules/core/transition_luma.c: Fix deinterlace when luma is inverted + (kdenlive-1953). + +2011-02-07 j-b-m + + * src/modules/plus/transition_affine.c: Make offset in affine transition + keyframable. + +2011-02-05 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: fix mode alpha + not working with image format rgb24a + +2011-02-03 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping: prevent possible + crash + +2011-01-31 Dan Dennedy + + * src/modules/core/producer_consumer.c: Copy the alpha channel in + producer_consumer. + +2011-01-30 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Improve efficiency of memory copy + in avformat consumer. Patch from Paul Flinders . + + * src/modules/avformat/producer_avformat.c: Be pessimistic about the duration + (kdenlive-1962). Some clip formats give a slightly longer duration estimate, + and MLT does not handle that well especially in some non-interactive use + cases like transcoding and automated processing. + +2011-01-27 Dan Dennedy + + * src/modules/gtk2/Makefile: Link pango producer with libiconv on Mac OS X. + +2011-01-27 Till Theato + + * src/modules/rotoscoping/Makefile, src/modules/rotoscoping/factory.c, + src/modules/rotoscoping/filter_rotoscoping.c, + src/modules/rotoscoping/filter_rotoscoping.yml: Rotoscoping: Set default mode + to alpha and add YAML filter description + +2011-01-26 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Do not round up the duration + (kdenlive-1962). + + * src/modules/avformat/producer_avformat.c: Fix pausing on vdpau with + noimagecache. Also uses AVFrame we already have instead of local AVPicture. + + * src/modules/avformat/producer_avformat.c: Make seeking to first frame more + reliable. + +2011-01-25 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Increase default SDL audio buffer to + prevent crackling. + + * src/framework/mlt_consumer.c: Make worker thread handle tracking more + portable. + +2011-01-25 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: another small + cleanup + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: cleanup + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: Mode matte + should also work in yuv420p (untested since forcing a conversion from yuv422 + does not work) + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: only the mode + rgb requires a specific colorspace + +2011-01-24 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: Save the the + json object so we do not have to parse the parameter at every processing but + only when it changed + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: use mlt_pool + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: rename "mask" + mode to "matte" + +2010-11-23 Dan Dennedy + + * src/modules/plus/filter_affine.c: Reduce service lock contention in affine + filter. + + * src/modules/frei0r/filter_frei0r.c, src/modules/frei0r/frei0r_helper.c, + src/modules/frei0r/frei0r_helper.h, src/modules/frei0r/producer_frei0r.c, + src/modules/frei0r/transition_frei0r.c: Reduce service lock contention in + frei0r module. + +2010-11-04 Dan Dennedy + + * src/framework/mlt_consumer.c: Fix race condition on frame pointer in + parallel consumer. + +2010-10-17 Dan Dennedy + + * src/framework/mlt_consumer.c: Fix multiple workers getting the same frame. + +2010-10-04 Dan Dennedy + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, + src/framework/mlt_frame.h: Use a single queue for parallel workers. This is + a major change from the previous model of moving work items (frames) from one + queue to another. This new model improves the behavior of realtime mode and + performance overall. In the new model, a single queue is used along with an + is_processed flag on the frame. Also, there is an index into the queue + (process_head) that indicates from which point should a worker consider + fetching the next unprocessed frame. There are situations in realtime mode + where the processing of a frame takes longer than the queue (or from head to + its fetch index). Over extended periods of this heavy processing, the video + frame in the consumer may never be updated (rendered=1)! To remedy this, the + consumer detects this and automatically moves the process_head towards the + tail, but even this may not be good enough. The only real remedy is to + increase buffers and suffer with poor latency. If lower latency is preferred, + then it may be better to not use realtime mode and permit audio + discontinuity. + + * src/framework/mlt_types.h: Add a MLT_FRAME() cast. And white-space align + the casts. + + * src/framework/mlt_deque.c, src/framework/mlt_deque.h: Add mlt_deque_peek() + with index. + +2010-06-15 Dan Dennedy + + * src/framework/mlt_consumer.c: Remove audio processing from the worker + threads. This has a bad interaction with the avformat producer, which + contains a buffer of unused decoded samples. This shifts audio processing to + the main consumer thread, which is often light anyways. I recommend to set + the threads property to 2 or more on the avformat consumer to offload video + encoding to separate threads from the audio processing and encoding. + + * src/modules/xine/filter_deinterlace.c: Make YADIF reentrant. + + * src/framework/mlt_consumer.c: Fix regression frames out-of-order. + + * src/framework/mlt_consumer.c: Fix compiler warning on this enum. + +2010-06-14 Dan Dennedy + + * src/framework/mlt_consumer.c: Change this log message back to debug level. + + * src/framework/mlt_consumer.c, src/framework/mlt_frame.c, + src/framework/mlt_tractor.c, src/modules/core/filter_imageconvert.c, + src/modules/sdl/consumer_sdl.c: Fix image format consistency and conversion. + +2010-06-11 Dan Dennedy + + * src/framework/mlt_consumer.c, src/framework/mlt_tractor.c: Remove the + tractor service locking. This completely inhibited parallelism, but removing + it also exposes more race conditions that require resolution. + + * src/framework/mlt_consumer.c: Add work queue to the parallel consumer. + This removes get_frame calls from the worker threads. The get_frame call must + take a service lock and that creates contention between the threads. + + * src/modules/xine/filter_deinterlace.c: Add service locks around yadif + context. + +2010-04-15 Dan Dennedy + + * src/framework/mlt_consumer.c: Change this log message to debug level. + +2010-03-04 Dan Dennedy + + * .../motion_est/filter_autotrack_rectangle.c, + src/modules/motion_est/filter_crop_detect.c, + src/modules/motion_est/filter_motion_est.c, + src/modules/normalize/filter_volume.c, src/modules/oldfilm/filter_dust.c, + src/modules/oldfilm/filter_lines.c, src/modules/plus/filter_affine.c, + src/modules/plus/transition_affine.c, + src/modules/qimage/producer_kdenlivetitle.c, + src/modules/qimage/producer_qimage.c, src/modules/sox/filter_sox.c, + src/modules/vorbis/producer_vorbis.c: Add service locks for parallelism. + + * src/modules/sdl/consumer_sdl_preview.c: Pass real_time, buffer, and prefill + properties onto normal sdl consumer. + + * src/modules/sdl/consumer_sdl.c: Log dropped frames at info log level. + + * src/modules/avformat/filter_avresample.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, + src/modules/core/filter_data_show.c, src/modules/core/filter_luma.c, + src/modules/core/filter_watermark.c, src/modules/core/producer_colour.c, + src/modules/core/transition_composite.c, src/modules/core/transition_luma.c, + src/modules/core/transition_region.c, src/modules/effectv/filter_burn.c, + src/modules/frei0r/filter_frei0r.c, src/modules/frei0r/producer_frei0r.c, + src/modules/frei0r/transition_frei0r.c, src/modules/gtk2/producer_pango.c, + src/modules/gtk2/producer_pixbuf.c, src/modules/kdenlive/filter_freeze.c, + src/modules/kdenlive/producer_framebuffer.c, + src/modules/resample/filter_resample.c: Add service locks for parallelism. + RGB filters and transitions from frei0r and burningtv are still not safe + enough. + + * src/framework/mlt_tractor.c: Set the proper size of "image" where known. + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: Add parallelism + to mlt_consumer. To use set real_time greater than 1 for frame-dropping or + less than -1 for no frame-dropping. It works better with a liberal buffer + size. You can still set prefill less than buffer size, but it must be at + least the same number as real_time, preferably a little higher to help with + frame ordering. + +2010-02-20 Dan Dennedy + + * src/framework/mlt_deque.c, src/framework/mlt_deque.h: Add + mlt_deque_insert(). + +2010-02-16 Dan Dennedy + + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: Qualify queue, + mutex, and cond vars with frame_queue_. + +2011-01-23 Dan Dennedy + + * src/modules/qimage/producer_qimage.c: Fix build outside MinGW. + + * src/modules/jackrack/configure: Fix getting LADSPA include dir from + listplugins. + + * configure, src/framework/mlt_version.h: Move to an interim version number. + +2011-01-17 Dan Dennedy + + * src/examples/Makefile: Make this example use the mlt++ pkg-config. This + more accurately demonstrates how to build a C++ app against mlt++. + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_still.c: SDL + tweaks for Windows discovered when embedded. + + * src/framework/Makefile, src/mlt++/Makefile, src/mlt++/config.h: On Windows + install .def and version-less DLLs to let apps build against us. + + * src/framework/mlt_factory.c, src/modules/avformat/configure, + src/modules/frei0r/factory.c, src/modules/jackrack/plugin_mgr.c: On Windows + locate plugins and data by directory relative to current directory. lib\mlt + lib\frei0r-1 lib\ladspa share\mlt share\ffmpeg + +2010-12-31 Dan Dennedy + + * src/modules/swfdec/Makefile: Fix swfdec build on MinGW. + + * src/modules/xml/consumer_xml.c, src/modules/xml/producer_xml.c: Cleanup + libxml changes for MinGW. + + * src/modules/jackrack/configure, src/modules/jackrack/jack_rack.c: Fix + JackRack build on MinGW. + + * src/modules/qimage/Makefile, src/modules/qimage/configure, + src/modules/qimage/producer_qimage.c, src/modules/qimage/qimage_wrapper.cpp, + src/modules/qimage/qimage_wrapper.h: Fix qimage build for MinGW. + +2010-12-30 Dan Dennedy + + * src/modules/sox/configure: Fix sox build on MinGW. + + * src/modules/frei0r/factory.c: Fix frei0r build on MinGW. + + * src/modules/xml/consumer_xml.c, src/modules/xml/producer_xml.c: Fix libxml2 + build on MinGW. + + * src/modules/gtk2/Makefile, src/modules/gtk2/consumer_gtk2.c, + src/modules/gtk2/producer_pixbuf.c: Fix gtk2 build on mingw. + +2010-12-15 Dan Dennedy + + * src/melt/Makefile, src/melt/io.c, src/melt/melt.c, + src/modules/sdl/consumer_sdl.c: Fix SDL and keyboard input on Win32. + +2010-12-05 Dan Dennedy + + * src/modules/sdl/Makefile: Fix build of mingw branch on Linux. Fixing this + here prior to merging into master. + +2010-12-03 Dan Dennedy + + * configure, src/framework/Makefile, src/melt/Makefile, src/melt/io.c, + src/mlt++/Makefile, src/mlt++/MltFactory.cpp, src/mlt++/MltFactory.h, + src/mlt++/config.h, src/mlt++/configure, src/modules/avformat/Makefile, + src/modules/core/Makefile, src/modules/core/producer_loader.c, + src/modules/kino/configure, src/modules/motion_est/Makefile, + src/modules/sdl/Makefile, src/modules/sdl/consumer_sdl.c, + src/modules/sdl/consumer_sdl_audio.c, src/modules/sdl/consumer_sdl_preview.c, + src/modules/sdl/consumer_sdl_still.c, src/win32/fnmatch.c, + src/win32/fnmatch.h, src/win32/win32.c: Initial port to Windows using MinGW. + Much of the credit goes to Michael Zenov. + +2011-01-23 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.6.2. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: Set version + to 0.6.2. + + * NEWS: Add v0.6.2 release notes. + +2011-01-22 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: add parameter + alpha_operation with possible values: clear, max, min, add, sub + + * src/modules/rotoscoping/filter_rotoscoping.c: Fix not every point + calculated for the spline was used + +2011-01-21 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: - Rename + parameter polygon to spline - Add parameter precision setting the maximum + distance between two points when calculating the spline - some cleanup + +2011-01-20 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: Use cubic Bezier + spline instead of simple polygon to define masks + +2011-01-16 j-b-m + + * src/modules/plus/transition_affine.c: Add always_active property to affine + transition. + +2011-01-16 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: Add parameter + invert + + * src/modules/rotoscoping/Makefile, src/modules/rotoscoping/cJSON.c, + src/modules/rotoscoping/cJSON.h, + src/modules/rotoscoping/filter_rotoscoping.c: Rotoscoping: Add support for + simple keyframes - current limits: - number of points has to be equal for all + keyframes - points have to be in "correct" order (1. point in 1. kf will be + moved to 1. point in 2. kf, ...) - the parameter "polygon" is now formated + using json: - no keyframes: polygon="[[x,y], [x,y], ...]" - keyframes: + polygon= '{ "framepos1" : [[x,y], [x,y], ...], "framepos2" : [[x,y], [x,y], + ...], ...}' + +2011-01-15 Till Theato + + * src/modules/rotoscoping/filter_rotoscoping.c: rotoscoping filter: add modes + - rgb (everything but polygon black, default) - alpha (polygon alpha value = + 255, the rest = 0) - mask (polygon white, the rest black) + + * src/modules/rotoscoping/Makefile, src/modules/rotoscoping/factory.c, + src/modules/rotoscoping/filter_rotoscoping.c: Add rotoscoping filter (WIP): + It hides everything not in the polygon defined by the vertices given through + the "polygon" parameter + +2011-01-11 Dan Dennedy + + * src/modules/plus/transition_affine.c: fix compiler warning + + * configure, src/mlt++/configure, src/modules/avformat/configure, + src/modules/kino/endian_types.h, src/modules/kino/riff.cc, + src/modules/qimage/configure, src/modules/sox/configure: Enable build on + NetBSD (3090684) + + * src/modules/kino/Makefile, src/modules/qimage/Makefile: Use CXX rather than + CC for linking C++ (3090682) + + * src/swig/python/build: Fix underlinking python binding (3082761). Link the + python binding library to MLT and Python needed on some systems like + OpenSUSE. Patch by Cristian Morales Vega + + * src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/consumer_sdl_preview.c: Fix undefined bahavior in SDL module + (3066195). The standard says the post-increment can have effect at any point + between the previous and the next sequence point (or something similar), so + the behavior of "this->refresh_count = this->refresh_count ++" is undefined. + Patch by Cristian Morales Vega + + * src/modules/plus/filter_affine.c: Add use_normalised to affine filter. + + * src/modules/plus/transition_affine.c: Fix some regressions in affine. + Crashing on null rescale.interp and still some incorrect handling of sample + aspect ratios. + +2011-01-10 Dan Dennedy + + * src/modules/plus/interp.h, src/modules/plus/transition_affine.c: Add + geometry opacity interpretation to affine. Also, fixes interpolation method + selection and removes a redundant bounds test. + +2011-01-10 j-b-m + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: + Add force_aspect_ratio to image producers. + +2011-01-10 Dan Dennedy + + * src/modules/linsys/20-linsys.rules: Remove NAME= from linsys udev rules. + + * configure, src/framework/mlt_version.h: Move to an interim version. + +2011-01-01 Dan Dennedy + + * ChangeLog: update ChangeLog for v0.6.0 + + * NEWS: Add v0.6.0 release notes. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: set version + to 0.6.0 + + * src/modules/avformat/configure: Set recommended FFmpeg version to 0.6.1. + + * src/melt/melt.c: Update year in copyright notice. + + * src/modules/core/transition_composite.c: Default to progressive rendering + in composite. Field-based rendering is not sensitive to whether the + composite has motion and therefore produces ugly results for static things by + default. Field-based rendering can be explicitly requested on an animated + composite by setting the progressive property to 0. + + * src/modules/feeds/NTSC/etv.properties: Scale the animation durations in + NTSC etv data feed. + + * src/modules/feeds/NTSC/etv.properties, + src/modules/feeds/PAL/etv.properties: Make etv data feeds same and scalable + between NTSC and PAL. + + * src/melt/melt.c: Treat profile set by environment variable as explicit. + + * demo/mlt_attributes, src/modules/feeds/NTSC/data_fx.properties, + src/modules/feeds/NTSC/etv.properties: Make feeds consistent between NTSC and + PAL. Fix mlt_attributes demo. + + * src/melt/melt.c: Fix melt crashing due to many things depending on + consumer_aspect_ratio. + + * src/modules/core/consumer_null.c: Fix segfault stopping unstarted null + consumer. + + * src/modules/avformat/consumer_avformat.c: Increase video encoder output + buffer size. + + * demo/README, demo/mlt_slideshow, demo/mlt_slideshow_black: Convert + "Scotland" in demos to "photos" + + * demo/svg.mlt, src/modules/xml/producer_xml.c: Fix parsing mixed XML + documents and svg.mlt example. + +2010-12-29 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix an infinite loop encoding a + video with vorbis audio (kdenlive-1871). + +2010-12-27 Dan Dennedy + + * src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h: Revert + Producer::set_speed and add Producer::pause. The new Producer::pause + contains the wait for consumer-sdl-paused. + +2010-12-23 Dan Dennedy + + * src/modules/swfdec/producer_swfdec.c: Prevent concurrent access to swfdec + context. + + * src/modules/swfdec/producer_swfdec.c: Add meta.media properties to swfdec. + +2010-12-22 Dan Dennedy + + * src/modules/plus/transition_affine.c: Fix shearing bug in affine transition + & filter. + + * src/framework/mlt_frame.c, src/framework/mlt_frame.h: Add + mlt_frame_write_ppm to visualize debugging. + +2010-12-21 Dan Dennedy + + * src/modules/decklink/Makefile: Fix build of decklink on some non-Linux + systems (BSD). + +2010-12-19 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_preview.c: + Increase the speed of switching between sdl_still and sdl. Based on patch + from Jonathan Thomas. It does this by not calling the SDL_InitSubSystem( + SDL_INIT_AUDIO ) and SDL_QuitSubSystem( SDL_INIT_AUDIO ) methods every time + it switches, but rather when the SDL Preview consumer is started and stopped. + +2010-12-16 Dan Dennedy + + * src/modules/decklink/consumer_decklink.cpp: Fix cleaning up decklink when + stopped. + + * src/mlt++/MltProducer.cpp: Fix regression in Producer::set_speed when + consumer stopped. This was causing a deadlock in Kdenlive and any app that + calls set_speed when the consumer is stopped. + + * src/modules/sdl/consumer_sdl_still.c: Fix race-induced intermittent crash + in sdl_still (kdenlive-1762). + + * src/framework/Makefile, src/framework/mlt.h, src/framework/mlt_version.c, + src/framework/mlt_version.h, src/swig/mlt.i: Add mlt_version API. + Contributed by Jonathan Thomas. + +2010-12-15 Dan Dennedy + + * src/mlt++/MltProducer.cpp: Fix regression on return value of + Producer::set_speed. + + * src/mlt++/MltProducer.cpp, src/modules/sdl/consumer_sdl_preview.c: + Synchronize Producer.set_speed(0) with sdl_preview. This also helps prevent + deadlock while waiting for consumer-sdl-paused event. Not 100% yet, but 100% + requires script (swig) apps to handle the event asynchronously via an event + listener, which is not available yet for most - only ruby. Furthermore, they + would really like to be able to pass opaque data to the asynchronous handler, + which is not yet available in the framework. A good example here is pausing + playback prior to seeking to a specific frame. The app should be able to make + a consumer-paused event handler to which it can pass the new position, so it + can properly seek after the pause has officially occurred. Without the + ability to pass opaque data, it must save the new position as an instance + variable to use within the handler - once it has support for event listeners + that is. + + * src/modules/sdl/consumer_sdl_preview.c: Prevent a possible deadlock when + pausing. + +2010-12-12 j-b-m + + * src/modules/kdenlive/filter_freeze.c: Prevent always fetching the "frozen" + frame. Instead of using cache, which causes flicker in previews. + +2010-12-12 Dan Dennedy + + * src/modules/sdl/consumer_sdl_preview.c: Fix crash when connecting the + sdl_preview to a new producer. This occurs when you do not first stop the + consumer. + +2010-12-11 Dan Dennedy + + * src/melt/melt.c: Make melt handle failure to start consumer. + + * src/modules/decklink/consumer_decklink.cpp: Fix tearing in decklink. Also: + Adds a "preroll" property, which takes number of video frames. Prevent it + from deadlocking on a few dropped video frames in succession. Signal failure + to start when the profile is not compatible. + +2010-12-09 Dan Dennedy + + * src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h: Added + Mlt::Properties::wait_for(string). + + * src/swig/mlt.i: Fix memory leak in swig on Properties::setup_wait_for. + + * src/modules/linsys/consumer_SDIstream.c: Remove exit() from Linsys sdi + consumer. Replace it with a consumer-fatal-error event. + + * src/framework/mlt_log.c, src/melt/melt.c, + src/modules/avformat/consumer_avformat.c: Add consumer-fatal-error event to + avformat consumer. This addresses Kdenlive bug 1894. When the avformat + consumer has a fatal error, it will fire an event. Melt intercepts the event + and exits with failure. + +2010-12-08 Dan Dennedy + + * configure, src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, + src/framework/mlt_types.h, src/melt/melt.c, src/mlt++/MltConsumer.cpp, + src/mlt++/MltConsumer.h: Add mlt_consumer_position (Mlt::Consumer::position). + + * src/modules/sdl/consumer_sdl_preview.c: A minor refactoring. + + * src/modules/sdl/consumer_sdl_preview.c: Add a consumer-sdl-paused event. + + * src/modules/sdl/consumer_sdl_preview.c: Refactor end-of-stream and speed + change. + +2010-11-30 Dan Dennedy + + * src/modules/core/loader.dict: Load .xml file as MLT XML. + + * demo/mlt_swf_variables, demo/txtField.swf: Add example of using SWF with + variables. + + * src/modules/lumas/configure: Make --luma-compress imply --luma-8bit. + Otherwise, we get unloadable 16-bit PNG. + +2010-11-29 Dan Dennedy + + * src/swig/python/codecs.py: Add example of how to list of codecs. + + * src/modules/avformat/consumer_avformat.c: Make the formats and codecs + available through properties. + + * src/modules/avformat/producer_avformat.c: Fix reading uncompressed video + (bug 3121436). + + * src/modules/avformat/vdpau.c: Make VDPAU decoding a tad more resilient. + +2010-11-26 Dan Dennedy + + * src/modules/swfdec/producer_swfdec.c: Add support for swfdec variables. + The new 'variables' property takes a URL-encoded string, e.g. + variables="title=Hello World&subtitle=swfdec variables". + +2010-11-23 Dan Dennedy + + * src/melt/melt.c: Fix AVCHD detected as double frame rate. The heuristic is + based upon fact that there is really no such thing as 50 or 59.94 _frames_ + per second interlaced. + +2010-11-20 Dan Dennedy + + * src/modules/linsys/20-linsys.rules: Add suggested udev rules for Linsys + cards. + +2010-11-19 Dan Dennedy + + * src/modules/plus/transition_affine.c: Fix affine on non-square pixels + (kdenlive-1880). + +2010-11-17 Dan Dennedy + + * src/modules/swfdec/producer_swfdec.c: Refactor image conversion in swfdec. + + * src/modules/frei0r/frei0r_helper.c: Add support for + F0R_COLOR_MODEL_BGRA8888 + +2010-11-17 Till Theato + + * src/modules/gtk2/producer_pango.c: Fix crash in pango on very long strings. + Fix frame width and height get -1 when using producer pango with long + strings (large text files). + +2010-11-14 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Fix the size argument handling. + +2010-11-09 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Add locks around + avcodec_open/_close for thread protection. + + * src/modules/avformat/producer_avformat.c: Fix regression on 1920x1088 + clips. + +2010-11-07 Dan Dennedy + + * src/modules/swfdec/configure: Add configure script to detect optional + swfdec dependency. + + * src/modules/swfdec/Makefile: Support build on swfdec 0.8 as well. + + * src/modules/core/loader.dict, src/modules/swfdec/Makefile, + src/modules/swfdec/producer_swfdec.c: Add swfdec producer. No audio or + variables/parameters yet. + +2010-11-06 Dan Dennedy + + * src/modules/decklink/DeckLinkAPI.h, + src/modules/decklink/DeckLinkAPIDispatch.cpp, + src/modules/decklink/LinuxCOM.h, src/modules/decklink/Makefile, + src/modules/decklink/consumer_decklink.cpp: Add Blackmagic Design DeckLink + consumer. + +2010-10-27 Dan Dennedy + + * src/modules/plus/transition_affine.c: Another apsect ratio fix in affine. + + * src/modules/plus/transition_affine.c: Fix aspect- and size-related issues + in affine. + +2010-10-21 Dan Dennedy + + * src/melt/melt.c: Fix edit points when using auto-profile. + + * src/modules/avformat/producer_avformat.c: Fix frame rate detection when the + muxer rate is 0/0. + +2010-10-20 Dan Dennedy + + * src/framework/mlt_tokeniser.c, src/modules/frei0r/frei0r_helper.c: Add + support for frei0r string parameter. + + * src/modules/avformat/filter_avcolour_space.c: Disable colorspace + normalization - not working yet. + +2010-10-18 Dan Dennedy + + * src/framework/mlt_property.c: Fkx crash converting string property with + null value. + +2010-10-17 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: Fix serializing xmldata in + kdenlivetitle (kdenlive-1841). Patch below fixes an issue with the + kdenlivetitle producer. Basically, the problem was that when loading a + kdenlivetitle from a file, all the properties were serialized and passed to + the xml consumer. The problem became more obvious with the "embeded" images + in titles, which then caused images to be embedded inside the kdenlive + project file, causing problems like reported in this issue: + http://kdenlive.org/mantis/view.php?id=1841 With the patch, titles loaded + from a file will not copy the xmldata. + +2010-10-17 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/consumer_sdl_preview.c, src/modules/sdl/consumer_sdl_still.c: + Fix including SDL headers (3087522). + +2010-10-13 Dan Dennedy + + * src/modules/xml/consumer_xml.c: Do not serialize profile when consumer + profile is null. + + * src/modules/avformat/producer_avformat.c: Fix regression using codec frame + rate. + + * src/modules/xml/consumer_xml.c: Add null pointer checks around profile in + consumer xml. + + * src/melt/melt.c, src/modules/avformat/producer_avformat.c: Add colorspace + to auto-profile. + + * src/modules/xml/consumer_xml.c, src/modules/xml/producer_xml.c: + (De)serialize colorspace in profile. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c: Fix version support for + AVCodec:colorspace. + + * src/modules/avformat/configure: Add --avformat-no-vdpau configure option. + + * src/modules/core/filter_data_show.c: Add math header for lrint(). + + * src/modules/core/filter_data_show.c: Add #frame# variable substitution in + data_show filter. + + * src/modules/core/filter_data_show.c: Fix timecode conversion with + non-integral framerate. + +2010-10-10 Dan Dennedy + + * src/modules/core/producer_consumer.c: Fix consumer producer not updating + frames in Kdenlive. + +2010-10-09 Dan Dennedy + + * src/melt/melt.c: Handle consumer properties that alter the profile. + + * src/modules/core/producer_loader.c: Check for colorspace change on profile. + +2010-10-07 Dan Dennedy + + * src/melt/melt.c, src/modules/core/producer_consumer.c, + src/modules/core/producer_loader.c, src/modules/melt/producer_melt.c, + src/modules/xml/producer_xml.c: Move logic for when to auto-insert consumer + producer. Move it into the loader producer so apps other than melt can use + it too. To use it, an app must set the profile to explicit. + + * src/framework/mlt_profile.c, src/framework/mlt_profile.h: Add + mlt_profile_clone(). + +2010-09-26 Dan Dennedy + + * src/melt/melt.c: Use denominators as the litmus test for generating + profile. This allows converting all producers to meta.media.width and + meta.media.height while not attempting to auto-profile the image producers, + which can potentially hold extremely large images and do not contain any + inherent frame rate. This also protects from potential divide by zero errors. + + * src/melt/melt.c: Factor out usage help from main() processing. + + * src/melt/melt.c: Factor out processing -consumer option. + +2010-09-19 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix some framerate-related issues + on playback. Usage of stream->avg_frame_rate and seting aspect_ratio on + fallback. + + * src/melt/melt.c: Fix crash on invalid and audio only clips. + + * src/modules/avformat/producer_avformat.c: Improve some media attributes + detection. These are for the new meta.media properties: square pixel + fallback, use new avg_frame_rate, converting 1088 to 1080. + +2010-08-28 Dan Dennedy + + * src/melt/melt.c, src/modules/melt/producer_melt.c: Add an automatic profile + feature to melt. Here are the main use cases this feature provides: - Given + a regular (non-mlt-xml) media file, melt reads the media attributes and + generates an equivalent MLT profile. This makes it easier to transcode + without changing or specifying resolution, aspect, and framerate. - Given a + MLT XML file containing a profile attribute or element, melt loads the + specified profile. A composition typically contains profile- without you + having to remember. - Given a MLT XML containing a profile but also + specifying a -profile option, melt automatically uses the 'consumer' producer + with the requested profiles. This is similar to the above case, but when + explicitly choosing a profile different than the composition one should use + the consumer producer. This just makes melt smarter and more automatic. + + * src/modules/avformat/producer_avformat.c: Add immutable meta.media-prefixed + properties. I am deprecating real_width, real_height, and source_fps in + favor of new properties prefixed by "meta.media." These are different than + the "meta.media.N.stream" and "meta.media.N.codec" properties because they + represent the selected tracks as well as some interpretation of the raw + AVFormat and AVCodec attributes in addition to reflecting "force_" overrides. + There is still many changes to make throughout to full remove real_width and + real_height. This change just adds what melt's new auto-profile feature needs + for most use cases. + + * src/modules/core/producer_consumer.c: Do not let consumer producer alter + the profile when validating input. + + * src/modules/xml/consumer_xml.c, src/modules/xml/mlt-xml.dtd, + src/modules/xml/producer_xml.c: Add (de)serialization of profile to XML. In + addition to the 'profile' element, one can also set the 'profile' attribute + of the root element to a named profile. + +2010-10-04 Dan Dennedy + + * src/modules/avformat/configure, src/modules/avformat/consumer_avformat.c: + Add support for short-hand vpre to avformat consumer. For example, when + vcodec=libx264, you can use vpre=medium as shorthand for + $prefix/share/ffmpeg/libx264-medium.ffpreset. + + * src/modules/avformat/audioconvert.h, src/modules/avformat/configure, + src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_avdeinterlace.c, + src/modules/avformat/filter_avresample.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: + FFmpeg build improvements (3078007). Handle --avformat-svn-version=0.5. Fix + building without swscale. Fix compiling new colorspace stuff against FFmpeg + <= v0.5. FFmpeg libs are increasing; only support contemporary header layout. + +2010-10-04 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix + TextColor+Outline+Typewriter=wrong color in titler (kdenlive-1829). + +2010-09-28 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/consumer_sdl_preview.c, src/modules/sdl/consumer_sdl_still.c: + Fix race conditions in SDL (kdenlive-1711). Contributed patch by 'jem' - + thanks! + +2010-09-28 j-b-m + + * src/modules/sdl/consumer_sdl_still.c: Fix crash in SDL with new kdenlive + audio VU meter. Below, a patch that fixes a crash in the SDL still consumer, + the bug was triggered by the recent audio monitor feature of Kdenlive. + Basically, it just sets test_audio to 1 on the SDL still consumer frames. + +2010-09-26 Dan Dennedy + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Set default colorspace (from + profile) on frames. Also, allow affirmatively setting luma to _not_ full + range (force_full_luma=0). + + * src/modules/kdenlive/producer_framebuffer.c: Fix indentation in + producer_framebuffer.c. + + * src/framework/mlt.h: Add mlt_cache.h to set of all mlt headers. + + * src/framework/mlt_frame.h: Document new colorspace and force_full_luma + frame properties. + + * src/framework/mlt_tractor.c: Tractor needs to pass along new frame + properties. + + * src/modules/dv/producer_libdv.c: Set libdv producer to Rec 601 colorspace. + + * profiles/atsc_1080i_50, profiles/atsc_1080i_5994, profiles/atsc_1080i_60, + profiles/atsc_1080p_2398, profiles/atsc_1080p_24, profiles/atsc_1080p_25, + profiles/atsc_1080p_2997, profiles/atsc_1080p_30, profiles/atsc_720p_2398, + profiles/atsc_720p_24, profiles/atsc_720p_25, profiles/atsc_720p_2997, + profiles/atsc_720p_30, profiles/atsc_720p_50, profiles/atsc_720p_5994, + profiles/atsc_720p_60, profiles/cif_15, profiles/cif_ntsc, profiles/cif_pal, + profiles/cvd_ntsc, profiles/cvd_pal, profiles/dv_ntsc, profiles/dv_ntsc_wide, + profiles/dv_pal, profiles/dv_pal_wide, profiles/hdv_1080_25p, + profiles/hdv_1080_30p, profiles/hdv_1080_50i, profiles/hdv_1080_60i, + profiles/hdv_720_25p, profiles/hdv_720_30p, profiles/hdv_720_50p, + profiles/hdv_720_60p, profiles/qcif_15, profiles/qcif_ntsc, + profiles/qcif_pal, profiles/quarter_15, profiles/quarter_ntsc, + profiles/quarter_ntsc_wide, profiles/quarter_pal, profiles/quarter_pal_wide, + profiles/sdi_486i_5994, profiles/square_ntsc, profiles/square_ntsc_wide, + profiles/square_pal, profiles/square_pal_wide, profiles/svcd_ntsc, + profiles/svcd_ntsc_wide, profiles/svcd_pal, profiles/svcd_pal_wide, + profiles/vcd_ntsc, profiles/vcd_pal: Add colorspace to all profile presets. + + * src/framework/mlt_profile.c: Parse colorspace profile property and add + hardcoded default. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Rename variables and properties + around luma range for clarity. Frame property "force_full_luma" controls + this and can be set via producer property "set.force_full_luma." However, it + is not really ready for use until libswscale can respect its full_range + parameter in a RGB to YUV conversion. + +2010-09-13 Dan Dennedy + + * src/modules/avformat/filter_avcolour_space.c: Add conversion to profile + colorspace. + + * src/modules/avformat/producer_avformat.c: Expand colorspace support to + explicit 601. + + * src/modules/avformat/consumer_avformat.c: Set colorspace in codec context. + + * src/framework/mlt_consumer.c: Map profile colorspace to consumer property. + + * src/modules/avformat/producer_avformat.c: Remove hardcoded luma scaling and + passing skip_luma_scale to frame. Luma scaling does not work and passing + skip_luma_scale can be done by setting set.skip_luma_scale on the producer. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Rename yuv_std to colorspace. + +2010-08-24 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Require skip_luma_scale + explicitly <> 0. + + * src/framework/mlt_profile.h, src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Add input YUV colorspace (601 vs + 709) handling. Still need to work on the output side including normalization + and setting the encoder. + + * src/framework/mlt_frame.c, src/framework/mlt_types.h, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/qimage/producer_qimage.c, src/modules/sdl/producer_sdl_image.c: + Revert new image types. I think we can just use frame properties. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/producer_avformat.c: Get initial skipping of luma + scaling to work. When the avformat producer property skip_luma_scale is set + to 1, then we do not scale the luma on the first YCbCr to RGB conversion. + This is only done once because swscale always downscales luma when converting + RGB to YCbCr, and we need to keep the conversions symmetrical to prevent luma + contraction (loss of contrast). + +2010-08-23 Dan Dennedy + + * src/framework/mlt_frame.c, src/framework/mlt_profile.h, + src/framework/mlt_types.h, src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/qimage/producer_qimage.c, src/modules/sdl/producer_sdl_image.c: + Improve colorspace handling (work in progress) Trying to add support for + non-scaling luma between YCbCr and RGB conversions as well as support for ITU + Rec. 709 luma conversion for HD formats. + +2010-09-21 Dan Dennedy + + * src/modules/core/filter_crop.c: Test the function pointer to be safe. + + * src/modules/core/filter_crop.c: Remove an extra debug log message. + + * src/modules/core/filter_crop.c: Fix crop making image black in a multitrack + (kdenlive-1814). + +2010-09-20 Dan Dennedy + + * src/modules/core/filter_resize.c: Fix field order correction on cached + image. When the avformat producer is using image caching, the field order is + top-field-first, and the consumer is paused then the field order correction + was applied to the cached image. As a result, when repeating the image due to + being paused, the active image would scroll down the frame. This fixes it by + copying to a new image instead of reusing the cached image. + +2010-09-19 Dan Dennedy + + * configure: Bump to interim version. + +2010-09-19 j-b-m + + * src/modules/avformat/producer_avformat.c: Improve fps detection in avformat + producer. I noticed MLT sometimes gives wrong fps info (I can send some demo + clips if required), for example it gives a 1000.0 fps on some mp4 clips. In + december 2009, FFMpeg introduced avg_frame_rate that gives better results + than r_frame_rate which is currently used in producer_avformat. Patch below + makes use of this new field when available which gives better results (my + mpeg4 clip now shows a 22.691 fps instead of 1000. + +2010-09-13 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.5.10. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.10. + + * src/melt/melt.c: Update year in copyright notice. + + * NEWS: Update release notes for v0.5.10 + + * src/modules/core/filter_crop.c: Fix bug with crop always asking for RGB + even when not cropping! + + * src/modules/xine/yadif.c: Only build SSE2 version of YADIF on x86-64 + (2984003). + +2010-09-12 Dan Dennedy + + * configure, src/modules/core/producer_loader.c: Enable filter avcolor_space + on OS X. It works now! + + * src/modules/xine/deinterlace.c: Use linearblend as the C fallback to xine + deinterlacers. + + * ChangeLog: Update ChangeLog for v0.5.8. + + * Doxyfile, NEWS, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.8. + + * NEWS: Add v0.5.8 release notes. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/core/filter_imageconvert.c: Enhance image conversion logging. + + * src/modules/qimage/Makefile: Use linearblend as the C fallback to xine + deinterlacers. + + * src/modules/avformat/producer_avformat.c: Validate that swscale supports + the resolution in avformat producer. + + * src/modules/core/filter_crop.c: Fix bugs with odd width YUV processing. By + preferring to crop on RGB and output an even width in case it eventually + needs to be converted to YUV, which is usually the case. + +2010-09-11 Dan Dennedy + + * src/modules/core/filter_crop.c: Fix sometimes tight crop causes a green + line at bottom. + + * src/modules/core/filter_imageconvert.c: Fix a stride and chroma-alignment + bug in imageconvert rgb->yuv. Reported by Marco Gittler. + +2010-09-10 Dan Dennedy + + * src/modules/core/filter_crop.c, src/modules/core/filter_resize.c: Validate + alpha channel size before cropping and padding it. Eventually, I need to add + mlt_frame_get_alpha() that returns a size and mlt_frame_set_alpha() + encapsulates handling of the alpha channel. + + * src/modules/core/filter_imageconvert.c: Set the alpha channel size more + reliably in imageconvert. + + * src/framework/mlt_frame.c: Base alpha channel on width and height. Removes + scaled_width and scaled_height properties, which were typically redundant + with width and height, but less available. Besides, width and height better + reflect the image attributes to help keep the image and alpha channel in + sync. + + * src/modules/xine/filter_deinterlace.c: Fix a segfault if one tries to use + deinterlace explicitly. + +2010-09-09 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix returning last bit of audio + samples from avformat. Bug reported by Kevin MacPhail. + +2010-09-09 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: parent the svgrenderer, to + destruct on exit + +2010-09-08 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: load inline images + +2010-09-08 Dan Dennedy + + * src/modules/avformat/filter_swscale.c: Refix alpha channel scaling memory + leak (3060324). + +2010-09-07 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c: Revert 3a419b4 (Use caching for + swscale contexts). This was just making it too unstable (bug 3060324). + +2010-09-05 Dan Dennedy + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/core/filter_imageconvert.c: Apply alpha on frame to rgba image + (kdenlive-1786). + + * src/modules/xine/filter_deinterlace.c: Fix a regression in the yadif + deinterlace filter. Now that it properly checks if the previous frame + progressive after getting its image, when progressive, it was returning the + previous frame's image for the current frame! + +2010-09-04 Till Theato + + * src/modules/plus/filter_affine.c: Fix filter affine stopping to work at + frame 15000. Additionally fix problems with in point > 0 (Kdenlive-1782). + +2010-09-03 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix field order on avformat + cached images. Also, provide a field order override that is consistent with + other overrides (force_). + + * src/modules/sox/filter_sox.c: Fix channel alignment in sox filter. This + pointer swapping is somehow breaking the stereo imaging even though I can not + see why now. Anyways, it no longer support multiple effects, so it does not + matter. + +2010-09-02 Dan Dennedy + + * src/modules/sox/filter_sox.c: Fix sox effect parameters. + + * src/modules/avformat/producer_avformat.c: Automatically crop 8 bottom lines + of 1088 source. + +2010-09-01 Dan Dennedy + + * src/modules/normalize/filter_volume.c: Accept negative dB values for volume + filter. + +2010-08-31 Dan Dennedy + + * src/modules/normalize/filter_volume.c: Fix integrity of volume filter when + applying multiple instances. + +2010-08-30 Dan Dennedy + + * src/modules/core/filter_luma.c: Fix positioning bugs in filter luma. + Discovered while working on slideshow animation in Kdenlive. + +2010-08-29 Dan Dennedy + + * src/modules/sdl/consumer_sdl_still.c: Fix segfault in SDL observed in + Kdenlive. Triggered by reloading a clip. + + * src/modules/avformat/filter_swscale.c: Fix regression on scaling alpha + channel. Regression introduced with usage of sws_getCachedContext not too + long ago. + +2010-08-28 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix audio decoding when AVPacket + has >1 frame. This was most obvious on FLAC. + + * src/modules/jackrack/filter_jackrack.c: Fix jackrack filter not working + without rack file. + +2010-08-23 Dan Dennedy + + * src/modules/avformat/filter_avcolour_space.c: Fix regression in + avcolorspace filter. + +2010-08-22 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c: Use caching for swscale contexts. + + * src/modules/avformat/configure: Fix detecting VDPAU on dash-based systems. + The script was using 'echo -e' which is not POSIX-compliant. The + recommendation is to use printf with string containing escape sequences. + +2010-08-21 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c: Enable swscale CPU flags. For + FFmpeg builds that use runtime CPU detection. This should make things faster + and it seems to be same quality as C routines. + + * demo/mlt_slideshow2: Minor fix to mlt_slideshow2. + + * demo/mlt_slideshow2, src/modules/core/filter_luma.c: Enhance luma filter to + work with animated filters. Previously, in a slideshow the luma filter would + apply the dissolve or wipe repeatedly over a slide. For example, with a slide + duration of 75 frames and a luma period of 25 (expressed as 24), the wipe + occurs 3 times. However, since the slides were static, you did not notice it + until the transition at the beginning of a new slide - when you do want to + see it. However, upon adding an affine filter to animate a smooth pan/zoom, + you do notice the extra repetitions - the slides appear to blend with one + another when they are not transitioning. This change fixes that with new + properties 'cycle' and 'duration'. Cycle is basically a replacement for + 'period' that fixes the semantics to properly represent a duration. Where you + would previously express, for example, period=24, you now say cycle=25. The + 'duration' property prevents the repeating and expresses that the transition + should only occur within the first N frames of the cycle. See + demo/mlt_slideshow2 for an example of using it in conjunction with the affine + filter! + +2010-08-20 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + Fix distorted frame in slideshow transitions. Applies to the .all.ext + slideshow approach. May also apply to image sequences with mixed resolutions. + +2010-08-19 Dan Dennedy + + * src/modules/core/Makefile, src/modules/core/factory.c, + src/modules/core/filter_audiowave.c: Add audiowave filter. This replaces the + video with the audio waveform. Currently, it only works on producers that + also provide video. + + * src/framework/mlt_frame.c: Improve audio waveform resault reliability. + This scales the audio sample rate up to meet the requested image resolution, + 16 KHz at a time. + + * src/framework/mlt_frame.c: Fix potential segfault in + mlt_frame_get_waveform. Also, reduce sample rate for better performance. + + * src/framework/mlt_frame.c: Improve audio waveform quality. This averages + over the pcm samples in each image column by adding a shade of gray. It also + draws a solid white base line for each channel. + +2010-08-18 Dan Dennedy + + * src/framework/mlt_frame.c, src/swig/mlt.i, src/swig/python/waveforms.py: + Fix waveform generation. It was not obtaining a valid fps. Also, changed + rendering to something more expected - negative as negative and channels + stacked. Also, add a Python binding to this call to return 8-bit grayscale + image as a Python string. Finally, add a Python example. + +2010-08-17 Dan Dennedy + + * src/modules/core/filter_panner.c: Convert panner to use range [0, 1]. + Instead of [-1, 1]. This works better with Kdenlive. + +2010-08-16 Dan Dennedy + + * src/modules/core/Makefile, src/modules/core/factory.c, + src/modules/core/filter_panner.c: Add a panning filter. This does a simple + left/right balance when channel=-1 (default). When channel >= 0, you can + adjust an individual channel's left/right position. Whereas the simple + balance will not cause one channel to appear in another channel, the + individual channel does. The start/end properties are floats in the range + [-1.0, 1.0]. A start property alone makes it constant over the duration of + the filter. There is some handling for more than 2 channels by providing + front/rear fade and ganging (balance front and rear together or fade left and + right together). + + * src/modules/core/transition_mix.c: Fix ramping the mix level in mix + transition. Without ramping the same mix level is applied across the samples + in the frame. The result is a stair-stepping effect. With ramping, the mix + levels are actually values _between_ frames and the mix factor gradually + changes from one level to the next across all of the samples in the frame. + +2010-08-15 Dan Dennedy + + * src/modules/core/filter_channelcopy.c: Only do channelcopy/swap if there is + valid work. + + * src/modules/core/factory.c, src/modules/core/filter_channelcopy.c: Add + filter channelswap. It is a permutation of channelcopy that can be used from + channelcopy as well by setting swap=1. + +2010-08-14 Dan Dennedy + + * src/modules/core/filter_imageconvert.c: Make it easier to switch between + scaled and unscaled native colorspace converters. + + * src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c: Improve quality of libswscale + conversions and scaling. + +2010-08-12 Dan Dennedy + + * src/framework/mlt_frame.h, src/modules/core/filter_imageconvert.c, + src/modules/core/producer_colour.c, src/modules/vmfx/filter_chroma.c, + src/modules/vmfx/filter_chroma_hold.c: Cleanup existing native color space + conversions. This change clarifies that the existing conversions are + according to the ITU 601 standard and scaled to and from full gamut RGB. + Also, adjust 2 coefficients according to Charles Poynton's matrices. This + does not yet attempt to make any substantial improvements. Finally, it + replaces the verbose logic and redundancy in the image conversion routine + with a concise function dispatch table. + +2010-08-08 Dan Dennedy + + * src/modules/sdl/consumer_sdl_still.c: Change SDL still consumer to use + RGBA. Since frei0r filters are popular and use rgba, and also because + Kdenlive scopes request rgba, this will reduce the number of conversions. + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + Make libexif include compatible with more systems/versions. + + * src/modules/avformat/producer_avformat.c: Fix image cache hit updating + position state (kdenlive-1714). + + * src/modules/xine/filter_deinterlace.c: Optimize some deinterlace filter + logic. Prevents YADIF from fetching current frame image if previous frame + image is signalled progressive. Also, tells mlt_service to stop decorating + frame with previous and next frames when producer is determined to be + progressive or deinterlace is not requested. + +2010-08-07 Dan Dennedy + + * src/modules/core/transition_luma.c, src/modules/frei0r/transition_frei0r.c, + src/modules/plus/transition_affine.c: Fix scaling method on B frames of some + transitions. + +2010-08-05 Dan Dennedy + + * src/framework/mlt_tractor.c: Fix tractor to set conversion functions on + frames it generates. + +2010-08-04 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c, src/modules/dv/consumer_libdv.c, + src/modules/linsys/consumer_SDIstream.c, src/modules/sdl/consumer_sdl.c, + src/modules/sdl/consumer_sdl_still.c: Move firing consumer-frame-show to + after done with image. + + * src/modules/gtk2/producer_pixbuf.c: Initialize processed var and skip if + NULL. + +2010-07-29 j-b-m + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + Cleanup & fix memleak modified: gtk2/producer_pixbuf.c modified: + qimage/qimage_wrapper.cpp + +2010-07-28 j-b-m + + * src/modules/gtk2/Makefile, src/modules/gtk2/configure, + src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/Makefile, + src/modules/qimage/configure, src/modules/qimage/qimage_wrapper.cpp, + src/modules/qimage/readexif.h: Use libexif to read exif orientation in images + modified: src/modules/gtk2/Makefile modified: src/modules/gtk2/configure + modified: src/modules/gtk2/producer_pixbuf.c modified: + src/modules/qimage/Makefile modified: src/modules/qimage/configure + modified: src/modules/qimage/qimage_wrapper.cpp deleted: + src/modules/qimage/readexif.h + +2010-07-27 j-b-m + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp, + src/modules/qimage/readexif.h: Read EXIF info inside MLT, based on + jpegexiforient modified: src/modules/gtk2/producer_pixbuf.c modified: + src/modules/qimage/qimage_wrapper.cpp new file: + src/modules/qimage/readexif.h + +2010-07-22 Dan Dennedy + + * src/modules/frei0r/frei0r_helper.c: Fix memory corruption on any frei0r + plugin with color param. + + * src/modules/frei0r/factory.c: Recognize new FREI0R_PATH env var. + FREI0R_PATH was introduced in v1.2 of the frei0r specification. + MLT_FREI0R_PLUGIN_PATH still accepted for backwards compatibility. + +2010-07-20 j-b-m + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp: + Fix exif rotation angle modified: src/modules/gtk2/producer_pixbuf.c + modified: src/modules/qimage/qimage_wrapper.cpp + + * src/modules/gtk2/producer_pixbuf.c: Support exif rotation with pixbuf + producer modified: src/modules/gtk2/producer_pixbuf.c + + * src/modules/qimage/qimage_wrapper.cpp: Add support for auto rotation for + images with exif data The meta.attr.rotation property must be set to the exif + data to get the auto rotate effect. Only supported by qimage producer, not + with pixbuf currently... modified: src/modules/qimage/qimage_wrapper.cpp + +2010-07-19 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix infinite loop on some audio + decode errors (kdenlive-1690). + +2010-07-14 Dan Dennedy + + * configure, src/modules/avformat/producer_avformat.c: Fix crash when + repeating frames after failure to decode video. + +2010-06-20 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.5.6. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.6. + + * NEWS: Add v0.5.6 release notes. + + * src/modules/avformat/Makefile, src/modules/avformat/configure, + src/modules/avformat/factory.c: Fixup local ffmpeg build. Set PIC compiler + flag, make libavdevice optional, and set recommended version to 0.6 branch. + +2010-06-19 Dan Dennedy + + * src/modules/plus/filter_affine.c: Fix the relative position of affine + filter. + +2010-06-18 Dan Dennedy + + * src/modules/plus/interp.h: Fix affine interpolation reading outside image. + This created image garbage along some edges. + + * src/modules/plus/transition_affine.c: Fix max affine geometry size wrt + aspect. + +2010-06-17 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Revoke special handling for + vorbis. It is no longer needed for Ogg and messes up WebM output. + +2010-06-15 Dan Dennedy + + * src/modules/linsys/consumer_SDIstream.c: Fix sdi sample count to be + recomputed on each iteration. + + * src/modules/linsys/consumer_SDIstream.c: Provide sensible defaults for HD + SDI. Also, now blanking may also be set to 0 or 1 to be consistent with + other boolean MLT properties. + + * src/modules/jackrack/filter_jackrack.c, src/modules/jackrack/plugin_desc.h: + Fix a few compiler warnings in jackrack. + +2010-06-09 Dan Dennedy + + * .gitignore: Tell git to ignore swig-generated .cxx files. + +2010-06-07 Dan Dennedy + + * src/modules/plus/interp.h: Use rint instead of roundf to suppress compiler + warnings. + + * src/modules/plus/transition_affine.c: Cleanup affine and fix a glitch that + may appear. + + * src/modules/plus/transition_affine.c: Fix the repeat/mirror cycle to be + relative to start of transition. Before, it was relative to start of + timeline, and this meant geometry animations would start at unpredictable + locations. + + * src/modules/core/filter_obscure.c: Fix infinite loop when obscure blocking + <1. Patch from Till Theato. + +2010-06-03 Dan Dennedy + + * src/modules/kdenlive/filter_boxblur.c: Make bloxblur faster and simpler. + It no longer does YUV-RGB-YUV conversion; just operates in RGB. + + * src/melt/melt.c: Fix superficial cpu usage with melt progress option (used + by Kdenlive). + +2010-06-02 Dan Dennedy + + * src/modules/plus/filter_affine.c, src/modules/plus/interp.h, + src/modules/plus/transition_affine.c: Revise affine to use interpolation and + sub-pixel positioning. + +2010-05-31 Dan Dennedy + + * src/modules/avformat/Makefile: Fix build on BSD with VDPAU (Alberto Villa). + +2010-05-30 j-b-m + + * src/modules/qimage/configure: Fix compilation (Qt Xml linking) + +2010-05-28 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix compilation warning + undeclared av_get_pix_fmt(). + + * src/modules/frei0r/factory.c: Fix a memory leak registering frei0r + services. + +2010-05-20 Dan Dennedy + + * src/modules/sdl/consumer_sdl_osx.h: Fix build on non-OSX due to missing + parameter name. + +2010-05-18 Dan Dennedy + + * src/modules/sdl/consumer_sdl_osx.h, src/modules/sdl/consumer_sdl_osx.m: Fix + leaking OS X Cocoa objects in SDL consumers. + + * src/modules/sdl/Makefile, src/modules/sdl/consumer_sdl.c, + src/modules/sdl/consumer_sdl_still.c: Fix leaking OS X Cocoa objects in SDL + consumers. + +2010-05-16 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Enable flushing the encoder + buffers. This improves reliability of encoding especially multithreaded x264 + (remove ugly hack). + + * src/modules/avformat/consumer_avformat.c: Fix deprecated function and + remove unused variable. + + * src/modules/avformat/consumer_avformat.c: Multitrack audio encoding + continued. This version changes the configuration and remapping. The number + of channels per output audio track is set using "channels." properties on + the avformat consumer, where is a 0-based numeric representing the output + track. At this time, all tracks must share all other attributes such as + sample rate, codec, and bitrate. As for the remapping, this attempts to + reuse the meta.map.audio... properties set on the producers as used with the + sdi consumer. One exception: to skip or silence channels at the beginning + tracks or in the middle, you must add additional map properties to the end of + the list to simulate these "gaps." + +2010-05-12 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Add multitrack audio encoding. + This is a check point for the first working version. Changes are forthcoming. + +2010-05-07 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: interlaced titles + +2010-05-02 Dan Dennedy + + * src/swig/perl/Makefile.PL: Remove hardcoded 32-bit arch in Perl binding + (2995474). + + * src/swig/csharp/build, src/swig/java/build, src/swig/lua/build, + src/swig/perl/Makefile.PL, src/swig/perl/build, src/swig/php/build, + src/swig/python/build, src/swig/ruby/build, src/swig/tcl/build: Fix missing + PIC flags for bindings (2931009) Also, use g++ for linking bindings because + some systems (OS X) do not otherwise know to link with libstdc++. + +2010-04-25 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix white artifacts in image + (2972137) Also applies to Kdenlive bug 1509. + + * configure, src/modules/core/filter_resize.c: Fix bad stride in yuv422 due + to non-even width requests. + +2010-04-19 Dan Dennedy + + * ChangeLog: Update ChangeLog for v0.5.4. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.4. + + * NEWS: Add v0.5.4 release notes. + + * src/framework/mlt_frame.c, src/modules/avformat/producer_avformat.c: + Improve error handling on video decode failure (kdenlive-1553). + +2010-04-18 Dan Dennedy + + * configure, src/modules/avformat/filter_avcolour_space.c: Only use newish + version of libswcale. Some early revisions of 0.7.1 would cause garbage on + last column of image with non-even width. + +2010-04-17 Dan Dennedy + + * src/modules/core/producer_colour.c: Fix color producer not setting + real_wdith and _height. + +2010-04-15 Dan Dennedy + + * configure: --disable-mmx, --disable-sse should also disable sse2. + +2010-04-08 Dan Dennedy + + * src/swig/configure, src/swig/csharp/build, src/swig/csharp/play.cs, + src/swig/csharp/play.sh: Add C# bindings. Thank you to Steeve Descarpentries + for the initial contribution. + +2010-04-07 Dan Dennedy + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c, src/modules/linsys/sdi_generator.h: Add + automatic driver configuration to sdi consumer. This uses the MLT profile to + determine the configuration values: video buffer size, audio buffer size, + video frame mode (resolution, frame rate), video data mode (8 bit or v210), + number of audio channels, audio sampling rate, audio sample size. It does + _not_ set the clock source or the number of buffers for audio and video. + +2010-04-06 Dan Dennedy + + * src/modules/core/producer_consumer.c: Bugfix memory leak with producer + consumer (2976110). Also kdenlive bug 1197. + + * src/modules/xine/filter_deinterlace.c: Better signal previous/next frames + not needed. + +2010-03-10 Dan Dennedy + + * NEWS: Fix version number in release notes :( + + * ChangeLog: Update ChangeLog for v0.5.2. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.2. + + * NEWS: Add v0.5.2 release notes. + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c, src/modules/linsys/sdi_generator.h: + Improve performance of sdi consumer (patch from BCE). consumer_SDIstream.c - + convertYCBCRtoRGB: different calculation sdi_generator.h - SDIAUDIO + transmitter event definitions sdi_generator.c - pack changed to pack8 + instead of packv210 - Transmitter events are checked only once a frame - + create_HD_SDI_Line and create_SD_SDI_Line do not calculate the current + position in the video_buffer for each sample. Now it is done once a line. + + * src/mlt++/Makefile, src/mlt++/MltFilteredProducer.cpp, + src/mlt++/MltFilteredProducer.h: Fix MltFilteredProducer not building. + +2010-03-02 Dan Dennedy + + * src/modules/sdl/consumer_sdl_preview.c: Fix regressions playing all frames + at end (kdenlive-1207). + + * src/modules/core/producer_loader.c: Fix recent regression on failure to + load file. + +2010-02-28 Dan Dennedy + + * src/modules/core/loader.ini: Make swscale the preferred rescale filter. + Should be safe now since the default compile-time max resolution for + libswscale was increased to 5120 for non-ppc systems as of May, 2009. Also, + because I added the initialization and range tests. + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_swscale.c, src/modules/core/producer_loader.c: + Add resolution as init arg to libswscale filters. + + * src/framework/mlt_frame.c, src/modules/effectv/filter_burn.c: Fix a couple + of compile warnings. + +2010-02-27 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix crash on reading uncompressed + (rawvideo). + + * src/modules/core/filter_rescale.c: Report scaling method in debug logging. + + * src/modules/avformat/consumer_avformat.c: Fix offset to alpha component on + OS X. + +2010-02-25 Dan Dennedy + + * src/modules/avformat/filter_avcolour_space.c, + src/modules/core/producer_loader.c: Make FFmpeg the primary image converter + if available. Except on OS X. + + * src/modules/avformat/factory.c: Fix avcolor_space alias. + + * src/modules/effectv/filter_burn.c: Fix endianness of the palette in + burningtv. + + * src/modules/sdl/consumer_sdl_preview.c: Fix playing all frames at end of + project (kdenlive-1207). + +2010-02-24 Dan Dennedy + + * src/modules/xine/Makefile, src/modules/xine/yadif.c: Fix build on + --disable-sse(2) or non-sse(2) architectures. + +2010-02-22 Dan Dennedy + + * configure, src/modules/sdl/consumer_sdl_preview.c: Fix video glitches when + switching still and normal sdl consumers. + +2010-02-15 Dan Dennedy + + * ChangeLog: Update ChangeLog for 0.5.0 release. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.5.0. + + * NEWS, src/modules/avformat/configure: Add v0.5.0 release notes. + +2010-02-14 Dan Dennedy + + * src/framework/mlt_frame.c: Fix mlt_sample_calculator returning negative + result. + + * src/framework/mlt_cache.c: Simplify some of the cache locking and less + flip-flop. + + * src/modules/avformat/producer_avformat.c: Add a reference to avformat + producer on the frame when cache miss. Also adds some additional checks on + null pointers. + +2010-02-11 Dan Dennedy + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c, src/modules/linsys/sdi_generator.h: Add + HD-SDI support to Linsys SDI module. This has only been tested with the + VidPort. At this time, you must run the linsys sdiaudiocfg and sdivideocfg + utilities to configure your card. In time, we hope to remove this step. + + * src/modules/linsys/Makefile, src/modules/linsys/configure: Add + --linsys-with-jpeg configure option. + + * src/modules/linsys/factory.c: Change linssys_sdi consumer to just "sdi" + +2010-02-10 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Make avformat producer less + chatty in verbose mode. + + * profiles/atsc_1080i_50, profiles/atsc_1080i_5994, profiles/atsc_1080i_60, + profiles/atsc_1080p_2398, profiles/atsc_1080p_24, profiles/atsc_1080p_25, + profiles/atsc_1080p_2997, profiles/atsc_1080p_30, profiles/atsc_720p_2398, + profiles/atsc_720p_24, profiles/atsc_720p_25, profiles/atsc_720p_2997, + profiles/atsc_720p_30, profiles/atsc_720p_50, profiles/atsc_720p_5994, + profiles/atsc_720p_60, profiles/hdv_1080_25p, profiles/hdv_1080_30p, + profiles/hdv_1080_50i, profiles/hdv_1080_60i, profiles/hdv_720_25p, + profiles/hdv_720_30p, profiles/hdv_720_50p, profiles/hdv_720_60p, + profiles/qcif_15, profiles/quarter_15, profiles/quarter_ntsc, + profiles/sdi_486i_5994, src/framework/mlt_profile.c: Revise Hz->fps in + profiles and add more ATSC profiles. + + * src/modules/avformat/vdpau.c: Look for libvdpau.so in /usr/lib64 as well. + +2010-02-08 Dan Dennedy + + * src/modules/xml/producer_xml.c: Add support for unspecified out points in + XML. + + * src/framework/mlt_playlist.c: Add support for only negative out in + mlt_pplaylist_append_io. + + * src/framework/mlt_producer.c: Add support for negative out in + mlt_producer_set_in_and_out. + + * src/framework/mlt_playlist.c: Change -1 handling for in/out points to be + any negative value. + + * src/modules/vorbis/producer_vorbis.c: Fix short forward seeking in vorbis + producer. + + * src/modules/avformat/producer_avformat.c: Fix audio muxing when + downsampling >2 channels. A side effect of this bug was a big memory + consumption. This occurs mostly commonly when using 5.1 audio sources such as + AVCHD or DVD and encoding to 44.1 KHz. + +2010-02-07 Dan Dennedy + + * src/modules/core/filter_resize.c: Safer to use the image from get_image and + to compute the size. + + * src/modules/avformat/producer_avformat.c: Fix crash in filter resize with + cached images (kdenlive-1330). Also properly sets the top_field_first flag + on frames with cached image. Also adds the noimagecache property for + troubleshooting. + +2010-02-04 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Sometimes x264 is crashing on + single or first pass with multithreading. + + * src/modules/core/producer_consumer.c: Fix progressive property on frames in + the consumer producer. This also adds deinterlace_method and rescale + (method) properties to the producer so it can set those on its embedded + consumer. + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/consumer_sdl_preview.c: Default SDL to use the onefield + deinterlace filter. The previous default in the deinterlace filter was + linearblend. The new default is yadif. However, onefield is faster is gives + cleaner results than linearblend where preserving most resolution is not a + factor. Since most usess of SDL are applications with preview windows smaller + than actual resolution, it makes sense to use onefield by default in the SDL + consumers. + + * src/modules/xine/Makefile, src/modules/xine/deinterlace.h, + src/modules/xine/filter_deinterlace.c, src/modules/xine/vf_yadif_template.h, + src/modules/xine/yadif.c, src/modules/xine/yadif.h: Add YADIF methods in + deinterlace filter. + +2010-02-03 Dan Dennedy + + * src/framework/mlt_frame.h, src/framework/mlt_service.c, + src/framework/mlt_service.h: Hide need_previous_next property from + serialization. + + * src/modules/avformat/producer_avformat.c: Fix setting resolution and format + in avformat image caching. + +2010-02-02 Dan Dennedy + + * configure: Add SSE2_FLAGS and --disable-sse2 to configure. This is + required for YADIF assembler. + + * src/framework/mlt_filter.h, src/framework/mlt_frame.h, + src/framework/mlt_service.c, src/framework/mlt_service.h: Add fetching + previous and next frames in producers. This is only enabled when the + property need-previous-next is set true on the producer. This also adds + firing a service-changed event on the filter when it gets attached so the + filter can set this property on the producer to which it is attached. These + frame references are set as "previous frame" and "next frame" properties on + the current frame. It is also important to note that these frames do not have + ANY filters applied to them, which is important for YADIF and telecide + filters, which process before all other filters. + + * src/framework/mlt_multitrack.c: Prefer the API over setting property. + + * src/modules/avformat/producer_avformat.c: Fix force_progressive=0 on + avformat producer. + + * src/modules/avformat/producer_avformat.c: Add image caching to avformat + producer. This not only helps with very short seeking around a point + especially on AVCHD but also will help immensely with YADIF. + +2010-01-28 Dan Dennedy + + * Doxyfile: Sort members in doxygen docs. + +2010-01-26 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix segfault when using + audio_index=all on file with no audio. + +2010-01-23 j-b-m + + * src/modules/oldfilm/filter_vignette.c: Fix vignette filter position + modified: src/modules/oldfilm/filter_vignette.c + +2010-01-22 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Round corners in titles for + rectangle borders (Patch from Till Theato) modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp + + * .../motion_est/filter_autotrack_rectangle.c: Fix typo in autotrack filter + modified: src/modules/motion_est/filter_autotrack_rectangle.c + +2010-01-21 Dan Dennedy + + * src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: Let + environment variable MLT_NO_VDPAU=1 disable VDPAU. + +2010-01-19 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Make realtime (streaming) + avformat consumer less bursty. Patch from PrimeTel PLC - + http://www.prime-tel.com + + * src/modules/avformat/configure, src/modules/avformat/factory.c, + src/modules/avformat/producer_avformat.c: Add support for libavdevice + (v4l/v4l2). Thanks to hints from Volodymyr M. Lisivka. + LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so is required to get some formats to + work. + + * src/framework/mlt_frame.c, src/modules/core/filter_rescale.c, + src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/qimage/producer_qimage.c: Return and handle errors on failure to + produce image (kdenlive-1312). + + * src/modules/core/filter_resize.c: Fix incorrect comment about yuv422 only + in resize filter. + +2010-01-18 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix muxing when encoding with + x264 and B frames (2928953). + + * src/modules/avformat/consumer_avformat.c: Remove deprecation warnings on + guess_format. + +2010-01-16 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Only report video encode error + when truly error result. + + * src/modules/avformat/consumer_avformat.c: Add apre, fpre, and vpre + properties to avformat consumer. These read ffmpeg preset files, which is + really handy for x264 encoding on the command line. They require the full + path to the file unlike the ffmpeg utility. apre is for audio, vpre is for + video, and fpre is for the format/muxer. + + * src/framework/mlt_frame.c: Refactor mlt_sample_calculator to reuse + mlt_sample_calculator_to_now. + + * Doxyfile, src/framework/mlt_frame.c, src/framework/mlt_frame.h, + src/framework/mlt_service.h: Add mlt_frame doxygen docs. + +2010-01-13 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix detection of aspect ratio of + DV in AVI. + +2010-01-12 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix A/V sync after seeking on + some files (2892086). + +2010-01-12 j-b-m + + * src/modules/kdenlive/filter_freeze.c: Fix memleak in freeze filter - + Kdenlive issue 1379 modified: src/modules/kdenlive/filter_freeze.c + +2010-01-10 Dan Dennedy + + * src/modules/avformat/producer_avformat.c, + src/modules/xine/filter_deinterlace.c: Fix setting progressive property on + repeated frames (kdenlive-1335). + +2010-01-09 gmarco + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: round outline pen + +2009-12-23 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: outline text possible (with + use of font-outline/font-outline-color) + +2010-01-06 Marco Gittler + + * src/modules/oldfilm/filter_oldfilm.c, + src/modules/oldfilm/filter_oldfilm.yml: user array with 100 values yml file + updated + + * src/modules/oldfilm/filter_oldfilm.c: unevendevelop effect + +2009-12-21 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix crash when opening a + kdenlive document with titles modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp + +2009-12-17 Dan Dennedy + + * src/modules/linsys/consumer_SDIstream.c: Add force_channels to sdi consumer + for troubleshooting. + + * src/modules/avformat/producer_avformat.c: Fix crash at end of some files + with audio_index=all. + +2009-12-16 Dan Dennedy + + * src/modules/sdl/consumer_sdl_still.c: This lock makes kdenlive start more + reliably in the debugger. + + * src/framework/mlt_service.c, src/framework/mlt_service.h, + src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: Add + mlt_service_cache_purge and remove purge in mlt_service_close. The avformat + producer holds references to cache items within frame objects. This means + mlt_service_close can not purge the cache because frames may be closed after + the producer. + + * src/modules/avformat/producer_avformat.c: Redo avformat producer locking - + less off-and-on. + +2009-12-14 Dan Dennedy + + * configure, src/framework/mlt.h: Bump to unreleased version. + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_preview.c, + src/modules/sdl/consumer_sdl_still.c: Revert a bunch of changes made to SDL + for VDPAU. This set of changes conflicted with Kdenlive, which requires two + consumers that need to release SDL on stop. Now, VDPAU support does not need + SDL as it gets its own X11 Display pointer. + + * src/modules/avformat/Makefile, src/modules/avformat/configure, + src/modules/avformat/vdpau.c: Make VDPAU independent of SDL X11 Display. + This prevents VDPAU from crashing on calls to SDL_Quit() and allows it to be + used with non-SDL consumers! (Still requires an X11 session.) + +2009-12-13 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Fix for when actual channels does not match + requested. This typically only happens when using audio_index=all on the + avformat producer. This also adds a audio_offset property to the sdl consumer + to help with testing audio_index. It takes a numeric value in units of + channels over which to skip. + + * src/modules/avformat/vdpau.c: Do not compile vdpau_close() until it can be + used. + + * src/modules/avformat/factory.c, src/modules/avformat/producer_avformat.c: + Add producer variant avformat-novalidate. The purpose of this is to increase + the speed of loading playlists with known good files. Use with care. This + assumes a few properties have been set, in particular "length." This was only + tested thus far by modifying the output of consumer xml to change mlt_service + from "avformat" to "avformat-novalidate". + + * src/modules/avformat/producer_avformat.c: Fix audio_index=all when stream + not stereo. + + * src/modules/avformat/vdpau.c: Fix segfault in vdpau_init when x11_display + not set. + + * src/modules/avformat/producer_avformat.c: Some B.C.E. sample files need + more audio streams. + + * src/modules/avformat/producer_avformat.c: Fix regression with addition of + mlt_cache. This change would cause the producer to not fully initialize on + the first call to get_frame. + +2009-12-12 Dan Dennedy + + * src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: Add + cache support to avformat producer. This also includes a change to make + VDPAU work on some versions of FFmpeg beyond Sept 15, 2009 (do not know + exactly when). + + * src/framework/mlt_service.c, src/framework/mlt_service.h: Add + mlt_service_cache_set_size() to limit the cache size. + + * src/framework/mlt_cache.c, src/framework/mlt_cache.h: Add + mlt_cache_set_size() to limit the amount of caching. + +2009-11-28 Dan Dennedy + + * src/modules/avformat/Makefile, src/modules/avformat/configure, + src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: Add + support for decoding H.264 with VDPAU. This applies to all H.264 at the + moment unless novdpau=1 is set on the producer. Also, this can only handle up + to about 10 - 15 clips using VDPAU in the project at the moment until the + avformat producer is changed to use mlt_cache. + + * src/melt/melt.c: SDL must not close X11 while VDPAU is still using it. + + * src/framework/mlt_consumer.c, src/modules/sdl/consumer_sdl.c, + src/modules/sdl/consumer_sdl_preview.c, src/modules/sdl/consumer_sdl_still.c: + Make the SDL consumer cooperate with VDPAU. This moves the SDL_Quit calls + from the consumer_stop to the consumer_close functions. Also, it exports the + X11 Display pointer to the mlt_environment and the global SDL mutex to the + consumer class. + +2009-12-10 Dan Dennedy + + * src/modules/core/filter_crop.c: Add center_bias property to crop filter. + +2009-12-08 Dan Dennedy + + * ChangeLog: Update ChangeLog for 0.4.10 release. + + * Doxyfile, NEWS, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.4.10 and update release notes. + + * src/modules/core/filter_audioconvert.c: Fix audioconvert setting frame + audio on no conversion. This was causing the existing audio to be released + and then telling mlt_properties to release the audio again with the old + pointer (double free). + + * configure, src/framework/mlt.h, src/modules/avformat/producer_avformat.c: + Fix underlinking libm by removing math function. + +2009-12-07 Dan Dennedy + + * ChangeLog: Update ChangeLog for 0.4.8 release. + + * Doxyfile, configure, docs/melt.1, src/framework/mlt.h: Set version to + 0.4.8. + + * NEWS: Add v0.4.8 release notes. + + * src/modules/core/loader.ini, src/modules/core/producer_loader.c: Fix some + cases image and audio formats not converting (kdenlive-1259). + + * src/modules/core/transition_composite.c: Fix crash in + composite-on-composite (kdenlive-1315). + +2009-12-06 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix crash in x264 on second pass + of multi-threaded encoding. + + * src/modules/avformat/consumer_avformat.c: Disable multi-threaded audio + encoding (not useful). + + * src/modules/avformat/consumer_avformat.c: Fix encoding PCM on some recent + FFmpeg change (kdenlive 1282). Also includes a little cleanup and extra + buffer overwrite protection. + + * src/modules/avformat/consumer_avformat.c: Fix regression causing writing + beyond end of buffer (kdenlive 1282). Anything with a PCM output is still + crashing including DV and WAV. + +2009-12-05 Dan Dennedy + + * src/swig/ruby/build: Fix build (CFLAGS) of Ruby binding. + +2009-12-02 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix audio buffer overflow on + large resampling (2902193). + + * src/modules/avformat/producer_avformat.c: Fix regression converting mono to + stereo. + + * src/modules/core/filter_crop.c: Add center property to crop to + automatically fill frame. + +2009-12-01 Dan Dennedy + + * src/modules/core/filter_crop.c: Fix distorting aspect ratio of images with + crop. Unfortunately, this has the side effect of breaking the crop extents + of existing projects when crop was applied to an image or image sequence. + However, those projects were using a distorting version of crop and would + need to be revised anyways. + + * src/modules/core/filter_crop.c: Add support for cropping RGB(A). + + * src/modules/core/filter_resize.c: Only correct field order if the source is + interlaced. + +2009-11-29 Dan Dennedy + + * src/modules/core/filter_crop.c: Re-Fix bounds checking of crop filter + (kdenlive-1148). + + * src/modules/avformat/producer_avformat.c: Add force_fps property to + avformat producer. + + * src/modules/frei0r/factory.c: Fix locating plugins in $HOME/.frei0r-1/lib + (2897195). + + * src/modules/avformat/producer_avformat.c: Fix pointer of V plane for + yuv420p. + + * src/modules/avformat/producer_avformat.c: Fix crash in avformat producer on + unusable file. + + * src/modules/oldfilm/filter_vignette.yml: Fix validation and consistency + errors in vignette YAML. + +2009-11-29 Marco Gittler + + * src/modules/oldfilm/filter_vignette.c, + src/modules/oldfilm/filter_vignette.yml: use float for vignette effect fixed + also bug in wrong y center + +2009-11-29 Dan Dennedy + + * src/modules/oldfilm/filter_vignette.yml: Fix broken vignette YAML. + +2009-11-29 Marco Gittler + + * src/modules/oldfilm/filter_vignette.c, + src/modules/oldfilm/filter_vignette.yml: use extra paramters for vignette + settings + +2009-11-21 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add support for new libavcodec + decode functions. + + * src/modules/avformat/producer_avformat.c: Fix seek on some AVCHD causing + infinite loop. This detects when libavformat starts to consistently report + invalid PTS and then will disable Ivan's new_seek code. In the example file I + have this only happens when seeking backwards, which typically implies an + interactive use case (except when using framebuffer with speed < 0). Then, it + should still use the new_seek when simply apply an in point to allow for a + clean, accurate cut. + +2009-11-20 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix regression in audio only + output. + + * src/modules/avformat/producer_avformat.c: Fix dropping samples on math + error (kdenlive 1219). + +2009-11-14 j-b-m + + * src/modules/frei0r/filter_frei0r.c: Fix frei0r helper filter position (used + for keyframes) + +2009-11-13 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix typewriter start param + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Add an offset start param to + typewriter effect + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Get ready for typewriter + effect in titles + +2009-11-05 Dan Dennedy + + * src/modules/frei0r/factory.c: Some frei0r filters need to be initialized + before getting param info. + + * src/modules/frei0r/factory.c: Some frei0r filters need to be initialized + before getting param info. + +2009-11-04 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix images hidden + (kdenlive-1247) Get ready for title effects (blur, shadow) + +2009-10-26 Dan Dennedy + + * .../motion_est/filter_autotrack_rectangle.c: Fix autotrack_rectangle with + negative origin (kdenlive 766). + + * src/framework/mlt_frame.c: These get/set position calls are unnecessary. + +2009-10-19 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix short output when video + shorter than audio (kdenlive 1207). + +2009-10-13 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix audio distortion due to + supplying incorrect decode buffer size. + + * src/modules/avformat/producer_avformat.c: Add dynamically resizing audio + buffer. + +2009-10-12 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix regression on video-only + files (kdenlive-1206). + +2009-10-13 j-b-m + + * src/modules/kdenlive/filter_freeze.c: Fix freeze effect issues with + transitions (kdenlive 1192) modified: src/modules/kdenlive/filter_freeze.c + +2009-10-11 Dan Dennedy + + * src/modules/core/filter_crop.c: Fix bounds checking of crop filter + (kdenlive-1148). + + * src/modules/avformat/producer_avformat.c: Fix regression with mono audio + (kdenlive-1204). + +2009-10-10 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add codec.frame_rate and drop the + profile/level meta properties. + + * profiles/svcd_pal_wide: Fix the display aspect ratio of SVCD Widescreen + PAL. + + * configure, src/framework/mlt.h: Bump the version to 0.4.7. + + * src/modules/linsys/consumer_SDIstream.c: Add audio channel mapping. This + uses meta properties on the producer: meta.map.audio..channels= + meta.map.audio..start= where 8 > N >= 0. The consumer loops over + N, consumes meta...channels and outputs them from channel meta...start. The + channel index starts at 0. For example, if the first audio track of the clip + is stereo English and the second audio track is stereo French, then this will + swap them: $ melt someclip audio_index=all meta.map.audio.0.channels=2 + meta.map.audio.0.start=2 meta.map.audio.1.channels=2 meta.map.audio.1.start=0 + -consumer linsys_sdi. However, the last pair of meta properties in this + example are actually optional. The algorithm outputs the remaining channels + at the start channel you specify. But since getting an unspecified property + yields 0, the last meta properties is unnecessary as well. + + * src/modules/linsys/sdi_generator.c: Add MAX_AUDIO_STREAMS constant. + + * src/modules/avformat/producer_avformat.c: Improve this log message. + + * src/framework/mlt_tractor.c: Fix the tractor not passing meta properties to + its new frame. + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c: Convert some printfs to mlt_log. + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c: Cleanup unused parameters. + + * src/modules/linsys/sdi_generator.c: Cleanup compiler warnings. + + * src/modules/linsys/consumer_SDIstream.c, + src/modules/linsys/sdi_generator.c: Add support for >2 audio channels to + Linsys SDI consumer. This does not yet have any remapping support. + +2009-10-06 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add support for audio_index=all. + +2009-09-22 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Convert audio structures to + arrays. Also collect info about audio channels and streams. + +2009-09-21 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Factor out audio seeking and + decoding from the get_audio callback. + +2009-09-18 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Factor out video codec + initialization. + + * src/modules/avformat/producer_avformat.c: Factor out audio codec setup from + audio index handling. + + * src/modules/avformat/producer_avformat.c: Reduce usage of properties for + state. + +2009-10-07 Dan Dennedy + + * ChangeLog: Update changelog for 0.4.6 release. + + * AUTHORS, Doxyfile, NEWS, configure, docs/melt.1, src/framework/mlt.h: Set + version to 0.4.6 and update release notes. + + * src/modules/avformat/Makefile, src/modules/avformat/configure: Add + configure option --avformat-svn-version. Also update recommended version to + Sept 15, 2009 and other cleanup. + +2009-10-05 j-b-m + + * src/modules/kdenlive/producer_framebuffer.c: Framebuffer producer should + obey to the force_aspect_ratio value modified: + src/modules/kdenlive/producer_framebuffer.c + +2009-10-04 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: Fix behaviour of title clips + when in and out points are given modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp modified: + src/modules/qimage/producer_kdenlivetitle.c + +2009-09-26 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Improve exception handling in + consumer_avformat. + +2009-09-26 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: locale fix for decial numbers + +2009-09-26 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Improve exception handling in + consumer_avformat. + +2009-09-24 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Wait for and close AVCodec + threads at end. Except when using x264 because it may crash at the end of + the second pass when using multiple threads. Also, cleanup another dual pass + log file that new versions of x264 creates. + + * src/modules/avformat/consumer_avformat.c: Fix crash in logging warning + (2865906). + +2009-09-22 Dan Dennedy + + * src/swig/mlt.i: Fix swig building with some Python versions and possibly + more. + +2009-09-20 Dan Dennedy + + * src/mlt++/MltField.cpp, src/mlt++/MltField.h, src/mlt++/MltProducer.cpp, + src/mlt++/MltProducer.h, src/mlt++/MltProperties.cpp, + src/mlt++/MltProperties.h, src/mlt++/MltRepository.cpp, + src/mlt++/MltRepository.h, src/mlt++/MltTractor.cpp, src/mlt++/MltTractor.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h, src/swig/mlt.i: + Update bindings. + +2009-09-19 Dan Dennedy + + * src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h: Add Properties + constructor from opaque pointer. + +2009-09-15 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix crash when audio encode does + not yield frame (2859643). + + * src/modules/avformat/consumer_avformat.c: Convert consumer_avformat message + to mlt_log API. + +2009-09-15 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix compatibility with older + Kdenlive titles: Kdenlive bug 1137 modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp + +2009-09-15 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Remove the old location of the + first_pts calculation. + + * src/modules/avformat/producer_avformat.c: Fix concurrency instability. + (not related to new_seek) + +2009-09-13 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Relocate setting first_pts and + fix ffmpeg concurrency. + +2009-09-09 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Restore seeking to one second + before target. Since Ivan Schreter's FFmpeg mpegts new-seek patches were + disabled, this is temporarily required for H.264 MPEG2-TS. + +2009-09-05 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Patch from Ivan Schreter to fix + seeking on AVCHD. This is intended to improve seeking in general, but it not + ready for all formats. It can be explicitly enabled by setting the new_seek + property to 1. I added code to enable it by default for H.264 in MPEG-2 + Transport Stream, but one can disable it by setting new_seek to 0. + +2009-09-15 Dan Dennedy + + * src/mlt++/MltFrame.cpp: Remove construction of unused properties object. + + * src/swig/Makefile, src/swig/java/build, src/swig/lua/build, + src/swig/perl/build, src/swig/php/build, src/swig/python/build, + src/swig/ruby/build, src/swig/tcl/build: Fix distclean make target under swig + and cleanup object files. + +2009-09-13 Dan Dennedy + + * src/modules/core/factory.c, src/modules/core/producer_loader.c, + src/modules/kdenlive/producer_framebuffer.c: Invert position of normalization + filters with framebuffer producer. Previously, the framebuffer producer + loaded a normalized producer, which can give undesired results with things + like crop and really any time you want to filter the unpadded images of the + speed-altered video. Now, the framebuffer uses the new "abnormal" producer to + load the clip without normalization filters and sets appropriate frame + properties to allow the normalizing filters attached to the framebuffer to + act appropriately. This new abnormal filter is simply an alias to the + existing loader filter, which uses the name by which it is invoked to toggle + the behaviour of whether to attach normalizing filters. + +2009-09-12 Dan Dennedy + + * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer producer + preventing image conversion and crop. + + * src/modules/qimage/configure: Fix kde_libdir detection for qimage (patch + 2151852). Patch from Roberto Castagnola . In + particular, Gentoo users have needed this. + +2009-09-10 Dan Dennedy + + * Makefile, src/swig/Makefile, src/swig/configure: Improve swig build with + help from Michael Forney. + +2009-09-09 Dan Dennedy + + * src/modules/core/transition_composite.c: Restore performance + characteristics of recent composite fix. + + * src/modules/core/transition_composite.c: Fix composite regression with no + luma. + + * src/modules/core/transition_composite.c: Fix abruptness when using a luma + with softness in composite. + + * src/modules/sdl/consumer_sdl_audio.c: Fix big memory leak when scrubbing. + +2009-09-10 j-b-m + + * src/modules/kdenlive/producer_framebuffer.c: Fix memleaks modified: + src/modules/kdenlive/producer_framebuffer.c + +2009-09-09 j-b-m + + * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer flicker + modified: src/modules/kdenlive/producer_framebuffer.c + +2009-09-08 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: Cleanup pthread mutexes and + conditions. + + * src/modules/core/filter_rescale.c: Fix core scaler regression. + +2009-09-05 Dan Dennedy + + * src/swig/configure: Patch from Michael Forney to fix swig configure. If + configure is run with --swig-languages="lang1 lang2", it complains because it + is compared to "all" without any quotes. + +2009-09-03 Dan Dennedy + + * src/modules/xml/consumer_xml.c: Fix making paths relative (kdenlive-1111). + +2009-09-01 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Don't crash when running + kdenlivetitle module from a console, instead print error message and exit + modified: src/modules/qimage/kdenlivetitle_wrapper.cpp + +2009-08-31 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix flicker frame appearing + at 0 position, small optimisations modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix flicker frame appearing + at 0 position, small optimisations modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp + +2009-08-29 Dan Dennedy + + * src/framework/mlt_pool.c: The padding is no longer necessary with the gcc + aligned attribute. + + * src/framework/mlt_pool.c: Chris Rudorff (ppc contributor) strongly suggests + 16 byte alignment and padding for all arch. + + * src/modules/kdenlive/producer_framebuffer.c: Apply JBM's fix to framebuffer + regression on big image convert refactoring. + + * src/framework/mlt_pool.c: Apply mem alignment and corruption patches from + Christoph Rudorff while debugging ppc. + +2009-08-29 gmarco + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: removed warning + +2009-08-26 Dan Dennedy + + * src/modules/sdl/consumer_sdl_audio.c: Convert audio-only SDL consumer to + new audio API. + + * src/modules/sdl/consumer_sdl_audio.c: Cleanup indentation + + * src/modules/sdl/Makefile, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/factory.c: Add audio-only SDL consumer (for Kdenlive on OS + X). + + * src/modules/sdl/consumer_sdl_audio.c: Convert audio-only SDL consumer to + new audio API. + + * src/modules/sdl/consumer_sdl_audio.c: Cleanup indentation + + * src/modules/sdl/Makefile, src/modules/sdl/consumer_sdl_audio.c, + src/modules/sdl/factory.c: Add audio-only SDL consumer (for Kdenlive on OS + X). + +2009-08-19 Dan Dennedy + + * src/modules/linsys/Makefile, src/modules/linsys/configure, + src/modules/linsys/consumer_SDIstream.c, src/modules/linsys/factory.c, + src/modules/linsys/sdi_generator.c: Add Linsys SDI consumer from B.C.E. + +2009-08-18 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Fix a/v sync on files with + incorrect codec frame rate, but correct muxer rate. + +2009-08-16 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Titler: add support for + background property modified: src/modules/qimage/kdenlivetitle_wrapper.cpp + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Titler: add support for + background property modified: src/modules/qimage/kdenlivetitle_wrapper.cpp + +2009-08-07 Dan Dennedy + + * src/framework/mlt_frame.c: Fix a/v synch drift with some unhandled + framerates (kdenlive-1034). Previously only special handling provided for + 32000, 44100, and 48000 sample rates on the strange NTSC frame rate. Patch + provided by Mike Adkins makes it generic including 24000/1001. Thanks! + +2009-08-03 Dan Dennedy + + * src/framework/Makefile, src/framework/mlt_consumer.c, + src/framework/mlt_frame.c, src/framework/mlt_frame.h, + src/framework/mlt_tractor.c, src/framework/mlt_types.h, + src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h, src/mlt++/configure, + src/modules/avformat/consumer_avformat.c, + src/modules/avformat/filter_avresample.c, + src/modules/avformat/producer_avformat.c, src/modules/core/Makefile, + src/modules/core/factory.c, src/modules/core/filter_audioconvert.c, + src/modules/core/filter_channelcopy.c, src/modules/core/filter_mono.c, + src/modules/core/filter_transition.c, src/modules/core/loader.ini, + src/modules/core/producer_consumer.c, src/modules/core/transition_mix.c, + src/modules/dv/consumer_libdv.c, src/modules/dv/producer_libdv.c, + src/modules/jackrack/filter_jackrack.c, src/modules/jackrack/filter_ladspa.c, + src/modules/normalize/filter_volume.c, + src/modules/resample/filter_resample.c, src/modules/sdl/consumer_sdl.c, + src/modules/sox/filter_sox.c, src/modules/vorbis/producer_vorbis.c: Refactor + audio conversion and mixing. + + * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_preview.c, + src/modules/sdl/consumer_sdl_still.c: Fix some SDL concurrency issues I am + seeing in Kdenlive on my quad core. + +2009-08-02 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Fix start / endviewport + movement, do not respect aspect ratio when resizing modified: + kdenlivetitle_wrapper.cpp + + * src/modules/qimage/configure, src/modules/qimage/kdenlivetitle_wrapper.cpp: + Add support for svg items in titles modified: configure modified: + kdenlivetitle_wrapper.cpp + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Dont's set Graphicscene + parent to avoid warning message, fix display of images modified: + kdenlivetitle_wrapper.cpp + + * src/modules/qimage/kdenlivetitle_wrapper.h: remove unused var modified: + kdenlivetitle_wrapper.h + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Fix errors in caching + mem + leaks, fix resize issue modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-08-01 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Rewrote caching, similar to + qimage producer modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: Cache image if there is no + animation modified: kdenlivetitle_wrapper.cpp + +2009-07-31 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Use QImage instead of QPixmap, + add myself in copyright modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-07-31 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: kdenlivetitle_wrapper.cpp: qt + 4.4 fix for scale + +2009-07-31 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: don't use cache, just normal + properties to store scene modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Rescale title when they are + played with a different profile modified: kdenlivetitle_wrapper.cpp + modified: kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-07-30 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: Fix image size, fix utf-8 + characters in titles modified: kdenlivetitle_wrapper.cpp modified: + producer_kdenlivetitle.c + +2009-07-29 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Fix use of several title + producers in one instance of Kdenlive modified: kdenlivetitle_wrapper.cpp + modified: kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-07-27 gmarco + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: kdenlivetitle_wrapper.cpp: + fixed merge conflict + +2009-07-27 j-b-m + + * src/modules/qimage/producer_kdenlivetitle.c: debug -- modified: + producer_kdenlivetitle.c + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Cleanup + fix crashes when used + in Kdenlive modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-07-24 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: Fix mem leak modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp modified: + src/modules/qimage/producer_kdenlivetitle.c + +2009-07-26 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: Cleanup & fix crash modified: + kdenlivetitle_wrapper.cpp modified: kdenlivetitle_wrapper.h + +2009-07-26 Dan Dennedy + + * src/framework/mlt_playlist.c: Fix handling of length parameter in + mlt_playlist_remove_region. This fixes kdenlive bug 1030. The calls to + mlt_playlist_split() inside this function appear to have forgotten that it + splits _after_ the specified position. + +2009-07-26 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: Cleanup & fix crash modified: + kdenlivetitle_wrapper.cpp modified: kdenlivetitle_wrapper.h + +2009-07-25 j-b-m + + * src/framework/mlt_playlist.c: Fix bug preventing removal of one frame + region modified: mlt_playlist.c + + * src/framework/mlt_playlist.c: Fix bug preventing deletion of one frame + region modified: mlt_playlist.c + +2009-07-24 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: Fix mem leak modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp modified: + src/modules/qimage/producer_kdenlivetitle.c + + * src/modules/qimage/producer_kdenlivetitle.c: Remove debug output + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Fix crash + position in time + modified: src/modules/qimage/kdenlivetitle_wrapper.cpp modified: + src/modules/qimage/kdenlivetitle_wrapper.h modified: + src/modules/qimage/producer_kdenlivetitle.c + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: * Fix memleaks * Cleanup * + Reload xml when setting "reload_xml" property modified: + src/modules/qimage/kdenlivetitle_wrapper.cpp modified: + src/modules/qimage/kdenlivetitle_wrapper.h modified: + src/modules/qimage/producer_kdenlivetitle.c + +2009-07-24 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: kdenlivetitle_wrapper.cpp: + use changed format of title-xml + + * src/modules/qimage/qimage_wrapper.cpp: qimage_wrapper: removed unused line + +2009-07-24 j-b-m + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: Add feature to dynamically + replace text in a block modified: kdenlivetitle_wrapper.cpp modified: + kdenlivetitle_wrapper.h modified: producer_kdenlivetitle.c + +2009-07-24 Marco Gittler + + * src/modules/qimage/factory.c: qimage/factory.c: readded deleted qimage + producer + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: kdenlivetitle: reindent code / + readded qimage_producer + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: reindent c++ + + * src/modules/qimage/producer_kdenlivetitle.c: reindent code + + * src/modules/qimage/factory.c, src/modules/qimage/qimage_wrapper.cpp: + readded deleted qimage producer in factory + +2009-07-20 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: clean image before painting + +2009-07-19 Dan Dennedy + + * src/modules/sdl/consumer_sdl_still.c: Fix image refresh in sdl_still + consmuer. + + * src/melt/melt.c: Avoid redefining _GNU_SOURCE. + +2009-07-19 Marco Gittler + + * src/modules/qimage/configure, src/modules/qimage/producer_kdenlivetitle.c: + kdenlivetitle: added QtXml during configure, add rescource to producer + +2009-07-18 gmarco + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: use start/end from kdenlive + titlefiles + +2009-07-18 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: working color conversion + +2009-07-15 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: memcpy works now + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: memhandling changed + +2009-07-14 Dan Dennedy + + * src/melt/melt.c: Add missing include for basename(). + + * src/modules/avformat/Makefile, src/modules/avformat/configure, + src/modules/core/Makefile, src/modules/dgraft/Makefile, + src/modules/dv/Makefile, src/modules/effectv/Makefile, + src/modules/frei0r/Makefile, src/modules/gtk2/Makefile, + src/modules/jackrack/Makefile, src/modules/kdenlive/Makefile, + src/modules/kino/Makefile, src/modules/melt/Makefile, + src/modules/motion_est/Makefile, src/modules/normalize/Makefile, + src/modules/oldfilm/Makefile, src/modules/plus/Makefile, + src/modules/qimage/Makefile, src/modules/resample/Makefile, + src/modules/sdl/Makefile, src/modules/sox/Makefile, + src/modules/vmfx/Makefile, src/modules/vorbis/Makefile, + src/modules/xine/Makefile, src/modules/xml/Makefile: Fix build on OS X and + possibly others. Gives higher priority to local lib and include dirs than + system or SDL-based lib and include dirs. Also, moves previous -lm fix to + from general build to --avformat-svn and --avformat-static builds. + +2009-07-14 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: don't block under + qt-application (kdenlive) + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/producer_kdenlivetitle.c: cleanup + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: test alpha channel + +2009-07-13 Dan Dennedy + + * src/modules/avformat/Makefile: Fix underlinking avformat on some systems + (bug 2821055). + + * src/modules/sox/filter_sox.c: Apply sox 14.3 compatibility patch from Fathi + Boudra. + +2009-07-11 Marco Gittler + + * src/modules/core/loader.dict, src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: kdenlivetitle_wrapper: + interpolate from start-> end, added title to dict + +2009-07-10 Marco Gittler + + * src/modules/qimage/kdenlivetitle_wrapper.cpp: kdenlivetitle_wrapper: fixed + typo, not seen in Mac OS (QtXml also needed + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: kdenlivetitle_wrapper: load + kdenlive titles + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h: kdenlivetitle_wrapper: use + QApplication, else QGrahicsScene ist not working + + * src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: kdenlivetitle_wrapper.{cpp,h}, + producer_kdenlivetitle.c: LGPL header and byte move for right RGBA values + + * src/modules/qimage/Makefile, src/modules/qimage/factory.c, + src/modules/qimage/kdenlivetitle_wrapper.cpp, + src/modules/qimage/kdenlivetitle_wrapper.h, + src/modules/qimage/producer_kdenlivetitle.c: first work on kdenlive title + producer should later read the xml-file from kdenlive and let the title have + scroll and zoom + +2009-07-03 Dan Dennedy + + * configure, docs/policies.txt, src/framework/mlt.h, + src/framework/mlt_frame.c, src/framework/mlt_frame.h, + src/framework/mlt_log.c, src/modules/avformat/filter_avcolour_space.c, + src/modules/avformat/filter_avdeinterlace.c, + src/modules/avformat/filter_swscale.c, + src/modules/avformat/producer_avformat.c, src/modules/core/Makefile, + src/modules/core/factory.c, src/modules/core/filter_brightness.c, + src/modules/core/filter_crop.c, src/modules/core/filter_gamma.c, + src/modules/core/filter_greyscale.c, src/modules/core/filter_imageconvert.c, + src/modules/core/filter_luma.c, src/modules/core/filter_mirror.c, + src/modules/core/filter_obscure.c, src/modules/core/filter_rescale.c, + src/modules/core/filter_resize.c, src/modules/core/filter_watermark.c, + src/modules/core/loader.ini, src/modules/core/producer_colour.c, + src/modules/core/producer_consumer.c, src/modules/core/producer_ppm.c, + src/modules/core/transition_luma.c, src/modules/effectv/filter_burn.c, + src/modules/frei0r/filter_frei0r.c, src/modules/frei0r/frei0r_helper.c, + src/modules/frei0r/frei0r_helper.h, src/modules/frei0r/producer_frei0r.c, + src/modules/frei0r/transition_frei0r.c, src/modules/gtk2/filter_rescale.c, + src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c, + src/modules/kdenlive/filter_boxblur.c, src/modules/kdenlive/filter_wave.c, + src/modules/kdenlive/producer_framebuffer.c, + src/modules/motion_est/filter_crop_detect.c, + src/modules/motion_est/filter_motion_est.c, + src/modules/motion_est/filter_vismv.c, + src/modules/motion_est/producer_slowmotion.c, + src/modules/oldfilm/filter_dust.c, src/modules/oldfilm/filter_grain.c, + src/modules/oldfilm/filter_lines.c, src/modules/oldfilm/filter_oldfilm.c, + src/modules/oldfilm/filter_tcolor.c, src/modules/oldfilm/filter_vignette.c, + src/modules/plus/filter_affine.c, src/modules/plus/filter_charcoal.c, + src/modules/plus/filter_invert.c, src/modules/plus/filter_sepia.c, + src/modules/plus/transition_affine.c, src/modules/qimage/producer_qimage.c, + src/modules/qimage/qimage_wrapper.cpp, src/modules/qimage/qimage_wrapper.h, + src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_still.c, + src/modules/sdl/producer_sdl_image.c, src/modules/vmfx/filter_chroma.c, + src/modules/vmfx/filter_chroma_hold.c, src/modules/vmfx/filter_mono.c, + src/modules/vmfx/filter_shape.c, src/modules/xine/filter_deinterlace.c: + Massive refactoring of image conversion. This drops all image color space + and pixel format conversions from the mlt_frame class. Instead, it adds a + convert_image virtual function to the mlt_frame class that is called within + mlt_frame_get_image(). The newly added imageconvert filter sets that virtual + function and contains the various conversion routines. The loader producer + automatically attaches this filter to the producer it creates. + + * src/framework/mlt_profile.c: Slightly improve auto-setting + MLT_NORMALISATION. + +2009-06-30 Dan Dennedy + + * ChangeLog: Update ChangeLog for 0.4.4 release. + + * Doxyfile, NEWS, configure, docs/melt.1, src/framework/mlt.h: Set to v0.4.4 + and update release notes. + + * src/modules/sdl/consumer_sdl.c: Log failure to open audio. + +2009-06-29 Dan Dennedy + + * src/modules/sdl/consumer_sdl_preview.c: Fix crash with invalid video_driver + property. + + * src/modules/gtk2/Makefile: Link gtk2 module against libiconv on FreeBSD. + +2009-06-26 Dan Dennedy + + * src/swig/configure: Fix conditional swig build and remove --enable-swig. + +2009-06-23 Dan Dennedy + + * src/swig/configure, src/swig/lua/build, src/swig/lua/play.lua: Add SWIG Lua + bindings. + +2009-06-22 Dan Dennedy + + * configure, src/framework/Makefile, src/melt/configure, src/swig/Makefile, + src/swig/configure, src/swig/java/build, src/swig/perl/build, + src/swig/php/build, src/swig/python/build, src/swig/ruby/build, + src/swig/tcl/build: Further integrate swig into build system. This is not + enabled by default. It adds configure options --enable-swig and + --swig-languages. + + * src/melt/Makefile, src/melt/configure, src/melt/melt.c: Add configure + option --rename-melt. + + * src/modules/avformat/producer_avformat.c: Fix crash in avformat producer on + audio overrun. Fixes Kdenlive bug 754 and possibly others due to unchecked + bounds writing to an audio buffer. + + * src/modules/frei0r/Makefile, src/modules/frei0r/blacklist.txt, + src/modules/frei0r/factory.c: Add blacklist to frei0r module. This is for + Kdenlive bugs 913 and 917. It is populated with only facedetect for now. + + * src/framework/mlt_factory.c: Initialize the environment before the module + repo. This lets module factory functions get info from mlt_environment(). + +2009-06-21 Dan Dennedy + + * src/modules/avformat/Makefile.orig, src/modules/avformat/Makefile.rej: + Remove these bogus make files in avformat. + + * src/modules/avformat/Makefile.orig, src/modules/avformat/Makefile.rej, + src/modules/avformat/consumer_avformat.c: Fix avformat consumer crashing on + pcm_s16le. + +2009-06-19 Dan Dennedy + + * src/modules/gtk2/Makefile: Fix underlink libm gtk2 module (floor). + + * src/modules/avformat/producer_avformat.c: Fix regression in 8bit audio + handling. Regression occurred with migration to FFmpeg + av_audio_resample_init(). This also drops usage of non-public audio convert; + instead, relying upon new resample to do the same task. audioconvert.h is + still used, however, to get the sample format description. + +2009-06-18 Dan Dennedy + + * src/modules/sox/Makefile: Fix underlinking libm for sdl module. Patch from + Debian. + + * docs/melt.1: Fix manpage whatis entry. Patch from Debian. + + * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer producer to be + thread-safe. + +2009-06-16 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Migrate to FFmpeg + avformat_alloc_context(). + + * src/modules/avformat/filter_avresample.c, + src/modules/avformat/producer_avformat.c: Migrate to FFmpeg + av_audio_resample_init. + + * src/melt/Makefile, src/melt/melt.c, + src/modules/avformat/producer_avformat.c: Fix (kdenlive-824) >2 channels not + downmixed. + + * src/modules/jackrack/Makefile: Fix underlinking jackrack plugin. + +2009-06-15 Dan Dennedy + + * src/modules/kdenlive/producer_framebuffer.c: Fix big memory leak in + framebuffer producer. This fix is for kdenlive bug 898. This was due to + allocating a frame in get_frame that might not get closed by a skipped call + to get_image. This skipping can happen when using realtime mode (frame + dropping). + + * configure, profiles/Makefile, src/framework/Makefile, src/melt/Makefile, + src/modules/avformat/Makefile, src/modules/core/Makefile, + src/modules/feeds/Makefile, src/modules/lumas/Makefile, + src/modules/oldfilm/Makefile, src/modules/xml/Makefile: Add datadir and + mandir options to configure. + + * src/modules/qimage/configure: Fix building qimage when QtGui does not + include QtCore. + + * src/modules/gtk2/pixops.c: Fix compilation of gtk2 module. + + * src/modules/kino/avi.cc, src/modules/kino/filehandler.cc, + src/modules/kino/kino_wrapper.cc: Apply patch from Debian to fix compilation + of kino module. + + * src/modules/gtk2/have_mmx.S: Apply patch from Debian to update have_mmx. + + * Makefile: Distributors do not like us to run ldconfig. + + * configure: Link with --no-undefined flag. + +2009-06-13 Dan Dennedy + + * src/modules/avformat/consumer_avformat.c: Fix encoding to Ogg Theora with + Vorbis. This applies to Kdenlive bug 465. After fixing the huge memory leak, + there was an audio sync problem, and the fix for that might help other + formats as well (fix was to initialize the audio codec time base). This also + increases the size of the audio encoding buffer to fix flac encoding. + +2009-06-10 Dan Dennedy + + * docs/melt.1, docs/policies.txt, src/melt/melt.c: Add man page for melt. + Not yet installed. + +2009-06-07 Dan Dennedy + + * src/modules/core/transition_composite.c: Add invert boolean property to + composite transition. + +2009-05-29 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Workaround video streams with + wild timestamps (kdenlive-854) + +2009-06-03 Dan Dennedy + + * src/modules/avformat/producer_avformat.c: Add support for RGBA formats such + as QT Anim. + + * configure, src/framework/mlt.h: Set to interim version 0.4.3 + + * src/modules/core/filter_rescale.c: Improve alpha scaling conditional logic. + +2009-05-30 Dan Dennedy + + * ChangeLog: Update Changelog for 0.4.2 release. + + * Doxyfile, NEWS, configure, src/framework/mlt.h: Bump versions and update + release notes. + +2009-05-29 Dan Dennedy + + * src/modules/oldfilm/filter_tcolor.yml, + src/modules/oldfilm/filter_vignette.yml: Fix YAML validation errors and + spelling of Vignette. + +2009-05-28 Dan Dennedy + + * src/modules/core/filter_crop.c: Improve performance of crop filter. + +2009-05-27 Dan Dennedy + + * src/modules/core/filter_rescale.c: Bugfix (kdenlive-791) crash when using + crop filter. The alpha channel was not getting scaled by gtkrescale (and + possibly others). I moved the core alpha scaling to a fallback position for + scalers that do not handle alpha channel. + + * src/framework/mlt_log.c: Change default log level to panic. Some testing + against FFmpeg v0.5 shows logging is still verbose with warnings enabled, but + panic is better? + + * src/framework/mlt_log.c: Change default log level to warning or worse. + + * src/mlt++/configure: Fix typo in mlt++ CXXFLAGS. + +2009-05-26 Dan Dennedy + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp, + src/modules/qimage/qimage_wrapper.h: Fix image sequences sometimes not + advancing. + + * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c: + Change the ttl default value for image sequences. When using printf-style + image sequences only, the default ttl is now 1. + +2009-05-21 Dan Dennedy + + * src/modules/sdl/consumer_sdl.c: Bugfix sdl consumer not using + profile.progressive + +2009-05-20 Dan Dennedy + + * configure, src/framework/mlt.h: Bump to an interim version. + + * src/modules/motion_est/Makefile: Link motionest against libm. + + * src/mlt++/config.h: Fix license in comment header. + +2009-05-17 Dan Dennedy + + * ChangeLog: Update ChangeLog + + * Makefile, NEWS: Add v0.4.0 release notes. + + * Doxyfile, configure, src/framework/mlt.h: Bump version to 0.4.0 + +2009-05-13 Dan Dennedy + + * src/mlt++/configure: Bump soversion for mlt++ due to removal of classes. + + * profiles/atsc_1080i_50, profiles/atsc_1080i_60, profiles/atsc_1080p_2398, + profiles/atsc_1080p_24, profiles/atsc_1080p_25, profiles/atsc_1080p_2997, + profiles/atsc_1080p_30, profiles/atsc_720p_30, profiles/dv_ntsc, + profiles/dv_ntsc_wide, profiles/dv_pal, profiles/dv_pal_wide, + profiles/hdv_1080_25p, profiles/hdv_1080_30p, profiles/hdv_1080_50i, + profiles/hdv_1080_60i, profiles/hdv_720_25p, profiles/hdv_720_30p, + profiles/hdv_720_50p, profiles/hdv_720_60p, profiles/quarter_ntsc, + profiles/quarter_ntsc_wide, profiles/quarter_pal, profiles/quarter_pal_wide, + profiles/square_ntsc, profiles/square_ntsc_wide, profiles/square_pal, + profiles/square_pal_wide, profiles/svcd_ntsc_wide, profiles/svcd_pal_wide: + Make profile descriptions more user friendly. + + * src/modules/avformat/producer_avformat.c: Improve reliability of video + playback. After the v0.5 release of FFmpeg, a change was introduced that + prevented reliable playback of some files, namely HDV. This fixes it by + introducing a seek upon opening the file. Also, this change provides simple + fallback support for when invalid DTS is returned by libavformat. + +2009-05-11 Dan Dennedy + + * src/modules/gtk2/have_mmx.S, src/modules/gtk2/scale_line_22_yuv_mmx.S: + Apply patch from Orcan Ogetbil that adds .note.GNU-stack section. + + * setenv: Add libmlt++ to the ld path. + + * src/mlt++/configure: Make libmlt++ PIC. + +2009-05-09 Dan Dennedy + + * configure: Fix build on Mac OS X. + + * ChangeLog, Makefile: Change dist make target to use git-archive. + + * src/swig/configure, src/swig/java/Play.java, src/swig/java/build, + src/swig/mlt.i, src/swig/mltpp.i, src/swig/perl/Makefile.PL, + src/swig/php/build, src/swig/python/build, src/swig/ruby/build, + src/swig/ruby/play.rb, src/swig/ruby/thumbs.rb, src/swig/tcl/build, + src/swig/tcl/play.tcl: Fixup the swig bindings. + + * src/modules/xine/xineutils.h: Fix compilation warning in xineutils.h. + + * configure, src/examples/Makefile, src/framework/Makefile, + src/framework/mlt_geometry.c, src/framework/mlt_producer.c, + src/mlt++/Makefile, src/mlt++/configure, src/modules/avformat/Makefile, + src/modules/avformat/configure, src/modules/avformat/consumer_avformat.c, + src/modules/avformat/producer_avformat.c, src/modules/core/Makefile, + src/modules/dgraft/filter_telecide.c, src/modules/dv/Makefile, + src/modules/effectv/Makefile, src/modules/frei0r/Makefile, + src/modules/gtk2/Makefile, src/modules/jackrack/Makefile, + src/modules/jackrack/configure, src/modules/kino/Makefile, + src/modules/normalize/Makefile, src/modules/plus/Makefile, + src/modules/qimage/Makefile, src/modules/resample/filter_resample.c, + src/modules/sdl/Makefile, src/modules/vmfx/filter_chroma.c, + src/modules/xml/consumer_xml.c: Fix over- and under-linking. + + * src/mlt++/Mlt.h, src/mlt++/MltConsumer.cpp, src/mlt++/MltConsumer.h, + src/mlt++/MltDeque.cpp, src/mlt++/MltDeque.h, src/mlt++/MltEvent.cpp, + src/mlt++/MltEvent.h, src/mlt++/MltFactory.cpp, src/mlt++/MltFactory.h, + src/mlt++/MltField.cpp, src/mlt++/MltField.h, src/mlt++/MltFilter.cpp, + src/mlt++/MltFilter.h, src/mlt++/MltFilteredConsumer.cpp, + src/mlt++/MltFilteredConsumer.h, src/mlt++/MltFilteredProducer.cpp, + src/mlt++/MltFilteredProducer.h, src/mlt++/MltFrame.cpp, + src/mlt++/MltFrame.h, src/mlt++/MltGeometry.cpp, src/mlt++/MltGeometry.h, + src/mlt++/MltMultitrack.cpp, src/mlt++/MltMultitrack.h, + src/mlt++/MltParser.cpp, src/mlt++/MltParser.h, src/mlt++/MltPlaylist.cpp, + src/mlt++/MltPlaylist.h, src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h, + src/mlt++/MltProfile.cpp, src/mlt++/MltProfile.h, + src/mlt++/MltProperties.cpp, src/mlt++/MltProperties.h, + src/mlt++/MltPushConsumer.cpp, src/mlt++/MltPushConsumer.h, + src/mlt++/MltRepository.cpp, src/mlt++/MltRepository.h, + src/mlt++/MltService.cpp, src/mlt++/MltService.h, src/mlt++/MltTokeniser.cpp, + src/mlt++/MltTokeniser.h, src/mlt++/MltTractor.cpp, src/mlt++/MltTractor.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h: Fix LGPL information + in comment headers of mlt++. + + * Makefile, README, demo/README, demo/consumers.ini, demo/demo, + demo/demo.ini, demo/entity.mlt, demo/entity.westley, demo/mlt_all, + demo/mlt_attributes, demo/mlt_audio_stuff, demo/mlt_avantika_title, + demo/mlt_bouncy, demo/mlt_bouncy_ball, demo/mlt_clock_in_and_out, + demo/mlt_composite_transition, demo/mlt_effect_in_middle, + demo/mlt_fade_black, demo/mlt_fade_in_and_out, demo/mlt_intro, demo/mlt_jcut, + demo/mlt_lcut, demo/mlt_levels, demo/mlt_my_name_is, demo/mlt_news, + demo/mlt_obscure, demo/mlt_push, demo/mlt_slideshow, + demo/mlt_slideshow_black, demo/mlt_squeeze, demo/mlt_squeeze_box, + demo/mlt_ticker, demo/mlt_title_over_gfx, demo/mlt_titleshadow_watermark, + demo/mlt_voiceover, demo/mlt_watermark, demo/new.mlt, demo/new.westley, + demo/pango.mlt, demo/pango.westley, demo/svg.mlt, demo/svg.westley, + docs/framework.txt, docs/install.txt, docs/melt.txt, docs/mlt++.txt, + docs/mlt-xml.txt, docs/policies.txt, docs/services.txt, mlt++/.gitignore, + mlt++/Makefile, mlt++/configure, src/framework/mlt_factory.c, + src/framework/mlt_playlist.c, src/framework/mlt_producer.c, + src/framework/mlt_properties.c, src/melt/io.c, src/melt/io.h, + src/melt/melt.c, src/modules/core/factory.c, + src/modules/core/filter_watermark.c, src/modules/core/loader.dict, + src/modules/core/producer_consumer.c, src/modules/core/producer_hold.c, + src/modules/core/producer_loader.c, src/modules/core/transition_composite.c, + src/modules/core/transition_luma.c, src/modules/core/transition_region.c, + src/modules/kdenlive/producer_framebuffer.c, src/modules/kino/avi.h, + src/modules/kino/riff.cc, src/modules/melt/factory.c, + src/modules/melt/producer_melt.c, src/modules/motion_est/Makefile, + src/modules/motion_est/README, src/modules/motion_est/producer_slowmotion.c, + src/modules/plus/filter_affine.c, src/modules/xml/consumer_xml.c, + src/modules/xml/factory.c, src/modules/xml/mlt-xml.dtd, + src/modules/xml/producer_xml.c, src/swig/Makefile, src/swig/configure, + src/swig/java/Play.java, src/swig/java/build, src/swig/mltpp.i, + src/swig/perl/Makefile.PL, src/swig/perl/play.pl, src/swig/php/build, + src/swig/php/play.php, src/swig/python/build, src/swig/python/play.py, + src/swig/ruby/build, src/swig/ruby/play.rb, src/swig/ruby/thumbs.rb, + src/swig/tcl/build, src/swig/tcl/play.tcl, src/tests/charlie.c, + src/tests/hello.c: Complete reorganization and renaming to usable state. + +2009-05-07 Dan Dennedy + + * src/modules/mvsp/Makefile, src/modules/mvsp/configure, + src/modules/mvsp/consumer_mvsp.c, src/modules/mvsp/factory.c: Remove mvsp - + moving to melted project. + + * .gitignore, Makefile, configure, mlt++.pc.in, setenv, + src/examples/Makefile, src/melt/Makefile, src/mlt++/Makefile, + src/mlt++/Mlt.h, src/mlt++/configure, src/modules/core/Makefile, + src/modules/core/factory.c, src/modules/feeds/Makefile, + src/modules/fezzik/Makefile, src/modules/fezzik/factory.c, + src/modules/melt/Makefile, src/modules/mvsp/Makefile, + src/modules/mvsp/configure, src/modules/mvsp/consumer_mvsp.c, + src/modules/mvsp/factory.c, src/modules/valerie/Makefile, + src/modules/valerie/consumer_valerie.c, src/modules/valerie/factory.c, + src/modules/xml/Makefile, src/modules/xml/configure: Fix the build afer the + reorg. + + * docs/inigo.txt, docs/melt.txt, docs/mlt-xml.txt, docs/westley.txt, + src/inigo/Makefile, src/inigo/inigo.c, src/inigo/io.c, src/inigo/io.h, + src/melt/Makefile, src/melt/io.c, src/melt/io.h, src/melt/melt.c, + src/modules/core/data_fx.properties, src/modules/core/loader.dict, + src/modules/core/loader.ini, src/modules/core/producer_hold.c, + src/modules/core/producer_loader.c, src/modules/data_fx.properties, + src/modules/fezzik.dict, src/modules/fezzik.ini, + src/modules/fezzik/producer_fezzik.c, src/modules/fezzik/producer_hold.c, + src/modules/inigo/Makefile, src/modules/inigo/factory.c, + src/modules/inigo/producer_inigo.c, src/modules/melt/Makefile, + src/modules/melt/factory.c, src/modules/melt/producer_melt.c, + src/modules/westley/Makefile, src/modules/westley/configure, + src/modules/westley/consumer_westley.c, src/modules/westley/factory.c, + src/modules/westley/producer_westley.c, src/modules/westley/westley.dtd, + src/modules/xml/Makefile, src/modules/xml/configure, + src/modules/xml/consumer_xml.c, src/modules/xml/factory.c, + src/modules/xml/mlt-xml.dtd, src/modules/xml/producer_xml.c, + src/tests/README: Rename inigo, fezzik, and westley. + + * docs/mlt++.txt, mlt++/README: Merge mlt++/README into docs/mlt++.txt. + + * docs/mlt++.txt, mlt++/HOWTO, mlt++/src/Makefile, mlt++/src/Mlt.h, + mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h, mlt++/src/MltDeque.cpp, + mlt++/src/MltDeque.h, mlt++/src/MltEvent.cpp, mlt++/src/MltEvent.h, + mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, mlt++/src/MltField.cpp, + mlt++/src/MltField.h, mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, + mlt++/src/MltFilteredConsumer.cpp, mlt++/src/MltFilteredConsumer.h, + mlt++/src/MltFilteredProducer.cpp, mlt++/src/MltFilteredProducer.h, + mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, mlt++/src/MltGeometry.cpp, + mlt++/src/MltGeometry.h, mlt++/src/MltMultitrack.cpp, + mlt++/src/MltMultitrack.h, mlt++/src/MltParser.cpp, mlt++/src/MltParser.h, + mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/src/MltProfile.cpp, + mlt++/src/MltProfile.h, mlt++/src/MltProperties.cpp, + mlt++/src/MltProperties.h, mlt++/src/MltPushConsumer.cpp, + mlt++/src/MltPushConsumer.h, mlt++/src/MltRepository.cpp, + mlt++/src/MltRepository.h, mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/src/MltTokeniser.cpp, mlt++/src/MltTokeniser.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h, mlt++/src/config.h, + mlt++/swig/Makefile, mlt++/swig/configure, mlt++/swig/java/Play.java, + mlt++/swig/java/Play.sh, mlt++/swig/java/build, mlt++/swig/mltpp.i, + mlt++/swig/perl/Makefile.PL, mlt++/swig/perl/build, mlt++/swig/perl/play.pl, + mlt++/swig/php/build, mlt++/swig/php/play.php, mlt++/swig/python/build, + mlt++/swig/python/play.py, mlt++/swig/ruby/build, mlt++/swig/ruby/play.rb, + mlt++/swig/ruby/thumbs.rb, mlt++/swig/tcl/build, mlt++/swig/tcl/play.tcl, + mlt++/test/Makefile, mlt++/test/play.cpp, src/examples/Makefile, + src/examples/play.cpp, src/mlt++/Makefile, src/mlt++/Mlt.h, + src/mlt++/MltConsumer.cpp, src/mlt++/MltConsumer.h, src/mlt++/MltDeque.cpp, + src/mlt++/MltDeque.h, src/mlt++/MltEvent.cpp, src/mlt++/MltEvent.h, + src/mlt++/MltFactory.cpp, src/mlt++/MltFactory.h, src/mlt++/MltField.cpp, + src/mlt++/MltField.h, src/mlt++/MltFilter.cpp, src/mlt++/MltFilter.h, + src/mlt++/MltFilteredConsumer.cpp, src/mlt++/MltFilteredConsumer.h, + src/mlt++/MltFilteredProducer.cpp, src/mlt++/MltFilteredProducer.h, + src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h, src/mlt++/MltGeometry.cpp, + src/mlt++/MltGeometry.h, src/mlt++/MltMultitrack.cpp, + src/mlt++/MltMultitrack.h, src/mlt++/MltParser.cpp, src/mlt++/MltParser.h, + src/mlt++/MltPlaylist.cpp, src/mlt++/MltPlaylist.h, + src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h, src/mlt++/MltProfile.cpp, + src/mlt++/MltProfile.h, src/mlt++/MltProperties.cpp, + src/mlt++/MltProperties.h, src/mlt++/MltPushConsumer.cpp, + src/mlt++/MltPushConsumer.h, src/mlt++/MltRepository.cpp, + src/mlt++/MltRepository.h, src/mlt++/MltService.cpp, src/mlt++/MltService.h, + src/mlt++/MltTokeniser.cpp, src/mlt++/MltTokeniser.h, + src/mlt++/MltTractor.cpp, src/mlt++/MltTractor.h, + src/mlt++/MltTransition.cpp, src/mlt++/MltTransition.h, src/mlt++/config.h, + src/swig/Makefile, src/swig/configure, src/swig/java/Play.java, + src/swig/java/Play.sh, src/swig/java/build, src/swig/mltpp.i, + src/swig/perl/Makefile.PL, src/swig/perl/build, src/swig/perl/play.pl, + src/swig/php/build, src/swig/php/play.php, src/swig/python/build, + src/swig/python/play.py, src/swig/ruby/build, src/swig/ruby/play.rb, + src/swig/ruby/thumbs.rb, src/swig/tcl/build, src/swig/tcl/play.tcl: + Reorganize mlt++ files. + + * docs/dvcp.txt, docs/testing-20040110.txt, docs/testing.txt, + docs/valerie.txt, mlt++/AUTHORS, mlt++/COPYING, mlt++/CUSTOMISING, + mlt++/ChangeLog, mlt++/mlt++.sln, mlt++/mlt++.vcproj, + mlt++/src/MltMiracle.cpp, mlt++/src/MltMiracle.h, mlt++/src/MltResponse.cpp, + mlt++/src/MltResponse.h, mlt++/swig/ruby/miracle.rb, mlt++/test/server.cpp, + mlt-miracle.pc.in, mlt-valerie.pc.in, src/albino/Makefile, + src/albino/albino.c, src/humperdink/Makefile, src/humperdink/client.c, + src/humperdink/client.h, src/humperdink/io.c, src/humperdink/io.h, + src/humperdink/remote.c, src/miracle/Makefile, src/miracle/configure, + src/miracle/miracle.c, src/miracle/miracle_commands.c, + src/miracle/miracle_commands.h, src/miracle/miracle_connection.c, + src/miracle/miracle_connection.h, src/miracle/miracle_local.c, + src/miracle/miracle_local.h, src/miracle/miracle_log.c, + src/miracle/miracle_log.h, src/miracle/miracle_server.c, + src/miracle/miracle_server.h, src/miracle/miracle_unit.c, + src/miracle/miracle_unit.h, src/miracle/miracle_unit_commands.c, + src/miracle/miracle_unit_commands.h, src/valerie/Makefile, + src/valerie/configure, src/valerie/valerie.c, src/valerie/valerie.h, + src/valerie/valerie_notifier.c, src/valerie/valerie_notifier.h, + src/valerie/valerie_parser.c, src/valerie/valerie_parser.h, + src/valerie/valerie_remote.c, src/valerie/valerie_remote.h, + src/valerie/valerie_response.c, src/valerie/valerie_response.h, + src/valerie/valerie_socket.c, src/valerie/valerie_socket.h, + src/valerie/valerie_status.c, src/valerie/valerie_status.h, + src/valerie/valerie_tokeniser.c, src/valerie/valerie_tokeniser.h, + src/valerie/valerie_util.c, src/valerie/valerie_util.h: Remove files that no + longer belong. + +2009-05-07 ddennedy + + * src/modules/avformat/configure: Update avformat configure script to deal + with ffmpeg changes to swscale. + + * src/modules/sdl/consumer_sdl_still.c: Prevent potential divide-by-zero + errors in sdl_still consumer. + + * src/modules/avformat/ffmpeg.patch: Remove ffmpeg.patch - no longer + necessary. + + * Makefile: Fix uninstall of pkg-config files. + +2009-05-05 ddennedy + + * src/modules/avformat/producer_avformat.c: Improve seek performance with + dnxhd and huffyuv codecs. + +2009-05-03 ddennedy + + * configure, src/albino/Makefile, src/humperdink/Makefile, + src/miracle/Makefile, src/modules/avformat/Makefile, + src/modules/core/Makefile, src/modules/dgraft/Makefile, + src/modules/effectv/Makefile, src/modules/fezzik/Makefile, + src/modules/frei0r/Makefile, src/modules/inigo/Makefile, + src/modules/kdenlive/Makefile, src/modules/kino/Makefile, + src/modules/motion_est/Makefile, src/modules/normalize/Makefile, + src/modules/oldfilm/Makefile, src/modules/plus/Makefile, + src/modules/qimage/Makefile, src/modules/sox/configure, + src/modules/valerie/Makefile, src/modules/vmfx/Makefile, + src/modules/xine/Makefile, src/tests/Makefile, src/valerie/Makefile: Apply + cosmetic cleanup part of ldflags_order patch from Alberto Villa. + + * src/modules/avformat/configure, src/modules/qimage/configure: Apply FreeBSD + fixes part of ldflags_order patch from Alberto Villa. + + * src/modules/avformat/Makefile, src/modules/dv/Makefile, + src/modules/gtk2/Makefile, src/modules/jackrack/Makefile, + src/modules/sdl/Makefile, src/modules/sox/Makefile, + src/modules/westley/Makefile: Apply ldflags-order part of ldflags_order patch + from Alberto Villa. Alberto wrote: "on freebsd (as well as on linuces + without /usr/local/lib in default ld path) building concurrent versions of + mlt is not possible, because of the wrong linking of -lmlt while using + LDFLAGS=-L/usr/local/lib this patch fixes the issue using pkg-config" + +2009-04-30 ddennedy + + * src/modules/avformat/producer_avformat.c: producer_avformat.c: improve + audio synchronization after seek (including in point) + +2009-04-18 ddennedy + + * src/modules/resample/Makefile, src/modules/vorbis/Makefile: Apply patch + from Alberto Villa to use pkg-config for resample and vorbis modules. + +2009-04-16 ddennedy + + * src/modules/jackrack/plugin_mgr.c: Add /usr/lib64 libdir to default LADSPA + plugin path. + + * configure, src/framework/mlt.h, src/modules/kino/configure: Use pkg-config + instead of lqt-config. 2009-04-15 ddennedy + * Doxyfile: Update version in Doxygen. + + * mlt++/ChangeLog, mlt++/Makefile: Add ChangeLog and remove svn log from dist + make target. + + * ChangeLog: update changelog + + * src/modules/avformat/configure: Fix build for --avformat-svn to use FFmpeg + v0.5 and HEAD build to not use --enable-swscale. + * ChangeLog, Makefile: Update ChangeLog and remove svn log from the make install target. @@ -19,6 +8068,41 @@ * src/modules/kdenlive/producer_framebuffer.c: producer_framebuffer.c: interpret negative speed as reverse +2009-04-10 ddennedy + + * mlt++/test/play.cpp, mlt++/test/server.cpp: cleanup some warnings + + * mlt++/src/MltResponse.cpp, mlt++/src/MltResponse.h: const update for + MltResponse + + * mlt++/src/MltResponse.cpp, mlt++/src/MltResponse.h: Constness changes + + * mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h: Constness changes + + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h: Constness changes + + * mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h: Constness changes + + * mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h: Constness changes + + * mlt++/src/MltProperties.cpp, mlt++/src/MltResponse.cpp: Constness changes + + * mlt++/src/MltProperties.cpp, mlt++/src/MltPushConsumer.cpp: Constness + changes + + * mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h: Constness changes + + * mlt++/src/MltConsumer.cpp, mlt++/src/MltField.cpp, mlt++/src/MltFilter.cpp, + mlt++/src/MltFrame.cpp, mlt++/src/MltMultitrack.cpp, + mlt++/src/MltPlaylist.cpp, mlt++/src/MltProducer.cpp, + mlt++/src/MltTractor.cpp, mlt++/src/MltTransition.cpp: Fix up warnings about + explicit base initializers in copy constructors + + * mlt++/configure: Add more warnings + + * mlt++/.gitignore: Add a .gitignore file + 2009-04-09 ddennedy * src/modules/avformat/producer_avformat.c: producer_avformat.c: bugfix @@ -108,6 +8192,11 @@ * src/modules/core/filter_crop.c: filter_crop.c: bugfix chroma alignment +2009-04-02 ddennedy + + * mlt++/swig/ruby/thumbs.rb: thumbs.rb: fix setting size property for + avformat consumer + 2009-03-17 ddennedy * src/modules/frei0r/factory.c: frei0r/factory.c: add /usr/lib64 to the @@ -279,6 +8368,10 @@ 2009-02-04 ddennedy + * mlt++/debian/changelog, mlt++/debian/control, mlt++/debian/copyright, + mlt++/debian/rules: remove debian package subdirectory (they provide their + own) + * debian/changelog, debian/control, debian/copyright, debian/rules: remove the debian package subdirectory (they provide their own) @@ -327,6 +8420,11 @@ * src/modules/gtk2/producer_pixbuf.c: producer_pixbuf.c: bugfix (kdenlive-575) memory leak +2009-01-26 ddennedy + + * mlt++/swig/configure, mlt++/swig/php/build, mlt++/swig/php/play.php: + swig/configure, swig/php/*: add php bindings + 2009-01-24 ddennedy * src/modules/avformat/producer_avformat.c: producer_avformat.c: add version @@ -468,6 +8566,13 @@ ratio overrides. It expects a generic input. Only the DV decoder produces the special, proper aspect ratios for which MLT is not yet prepared. +2008-12-28 ddennedy + + * mlt++/swig/java/build, mlt++/swig/python/build, mlt++/swig/python/play.py, + mlt++/swig/tcl/build: swig/{java,python,tcl}/build: fix linking error + __stack_chk_fail_local. swig/python/play.py: fix syntax error reported by + Jonathon Thomas. + 2008-12-28 j-b-m * src/modules/sox/filter_sox.c: filter_sox.c: fix crash when trying to create @@ -489,6 +8594,9 @@ * mlt-config-template: mlt-config-template: send deprecation warning to stderr to prevent breaking legacy scripts and makefiles + * mlt++/swig/configure: swig/configure: use pkg-config mlt-framework instead + of deprecated mlt-config. + * src/modules/core/filter_luma.c: filter_luma.c: prevent the first application of the nested luma transition from being applied to a test card image. This makes slideshows start without a transition at the beginning, @@ -645,6 +8753,14 @@ 2008-12-04 ddennedy + * mlt++/README: README: update instructions to use pkg-config instead of + mlt-config + + * mlt++/swig/java/build, mlt++/swig/perl/Makefile.PL, + mlt++/swig/python/build, mlt++/swig/ruby/build, mlt++/swig/tcl/build, + mlt++/test/Makefile: test/Makefile, swig/*/build: replace more mlt-config + with pkg-config + * profiles/atsc_1080i_50: profiles/atsc_1080i_50: added new profile for square pixel 1080i at a PAL-like rate @@ -786,6 +8902,8 @@ * docs/services.txt: services.txt: minor corrections to documentation for producer_avformat + * mlt++/src/Makefile: src/Makefile: suppress warning on ldconfig failure + 2008-11-05 j-b-m * src/modules/kdenlive/Makefile, src/modules/kdenlive/factory.c, @@ -846,6 +8964,9 @@ 2008-10-25 ddennedy + * mlt++/configure: configure: apply patch from Alberto Villa to fix build on + FreeBSD + * configure, src/modules/kino/endian_types.h, src/modules/kino/riff.cc, src/modules/sox/configure: configure, kino/enadian_types.h, kino/riff.c, sox/configure: apply patch from Alberto Villa to fix build on FreeBSD and to @@ -889,6 +9010,9 @@ * src/modules/avformat/producer_avformat.c: producer_avformat.c: bugfix Ogg Vorbis files and possibly others that report invalid pts on some packets + * mlt++/configure: configure: convert to use pkg-config; mlt-config is + deprecated + * src/modules/xine/configure: xine/configure: disable module on ppc64 * src/modules/xine/configure: xine/configure: disable module on ppc64 @@ -932,14 +9056,25 @@ 2008-08-06 ddennedy + * mlt++/AUTHORS: update mlt++ AUTHORS + + * mlt++/Makefile: fix make dist target + * configure: bump versions for 0.3.0 release + * mlt++/configure: bump versions for 0.3.0 release + * Makefile: improve make dist target + * mlt++/Makefile: improve make dist target + * AUTHORS: add AUTHORS file * NEWS: Add release notes file + * mlt++/swig/java/Play.java, mlt++/swig/java/Play.sh, mlt++/swig/java/build: + swig/java: fixup the java bindings build script and example (bug 1523941) + * demo/mlt_news: demo/mlt_news: small typo 2008-08-05 j-b-m @@ -1032,6 +9167,12 @@ make it fail over gracefully. Do not set this property if you do not have permission. +2008-06-26 ddennedy + + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/swig/mltpp.i: + MltProducer.{h,cpp}, mltpp.i: remove Producer::get_frame that is unncessary + and introduced a memory leak. + 2008-06-25 j-b-m * src/framework/mlt_field.c: mlt_field.c: correctly reconnect transitions @@ -1048,6 +9189,9 @@ 2008-06-24 ddennedy + * mlt++/src/MltPlaylist.cpp: MltPlaylist.cpp: return null on clip_info method + if mlt_playlist_get_clip_info fails. + * src/framework/mlt_playlist.c: mlt_playlist.c: return error on mlt_playlist_get_clip_info if producer is null. @@ -1085,6 +9229,9 @@ 2008-06-08 ddennedy + * mlt++/src/MltPlaylist.cpp: MltPlaylist.cpp: prevent strdup from crashing on + a null pointer. + * src/framework/mlt_playlist.c: mlt_playlist.c: remove some unncessary and inefficient accounting code. @@ -1197,12 +9344,18 @@ 2008-04-23 ddennedy + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/swig/mltpp.i: + MltProducer.{h,cpp}, swig/mltpp.i: add method Producer::get_frame. + * src/modules/core/filter_watermark.c, src/modules/core/transition_composite.c: filter_watermark.c, filter_composite.c: support explicit deinterlace of composited image. 2008-04-12 ddennedy + * mlt++/test/server.cpp: test/server.cpp: bugfix (1940389) compilation on gcc + 4.3 + * src/modules/lumas/create_lumas: lumas/create_lumas: bugfix (1940387) bash-ism in script @@ -1333,6 +9486,10 @@ 2008-02-27 ddennedy + * mlt++/src/MltRepository.cpp, mlt++/src/MltRepository.h: + MltRepository.{h,cpp}: update to latest mlt_repository.h change - + finalization of callback declarations and metadata handling + * src/modules/avformat/configure: avformat/Makefile: compilation fix for latest FFmpeg update @@ -1369,6 +9526,12 @@ 2008-02-16 ddennedy + * mlt++/swig/python/build: swig/python/build: add -fPIC + + * mlt++/src/MltRepository.cpp, mlt++/src/MltRepository.h, mlt++/swig/mltpp.i: + MltRepository.{h,cpp}, swig/mltpp.i: added consumers, filters, producers, + transitions, register_metadata, and metadata methods to Repository class + * src/framework/mlt_repository.c, src/framework/mlt_repository.h: mlt_consumer.[hc]: added new functions mlt_repository_consumers, mlt_repository_filters, mlt_repository_producers, mlt_repository_transitions, @@ -1392,6 +9555,10 @@ * src/modules/avformat/producer_avformat.c: producer_avformat.c: cleanup whitespace +2008-02-12 ddennedy + + * mlt++/Makefile: do not make tests automatically + 2008-02-11 ddennedy * src/modules/avformat/consumer_avformat.c, @@ -1406,6 +9573,10 @@ 2008-02-07 ddennedy + * mlt++/configure, mlt++/src/Makefile: configure: add soversion variable + src/Makefile: improve library versioning by linking on interface version + (soversion) + * configure, src/framework/Makefile, src/framework/mlt.h, src/miracle/Makefile, src/valerie/Makefile: configure: add soversion variable, move version variables to top for easier access framework/Makefile, @@ -1413,6 +9584,15 @@ interface version (soversion) mlt.h: add version info to header so apps can have build time adaptations + * mlt++/swig/ruby/thumbs.rb: thumbs.rb: fix error on Playlist.append due to + args not int + + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltFactory.cpp, + mlt++/src/MltFactory.h, mlt++/src/MltRepository.cpp, + mlt++/src/MltRepository.h, mlt++/swig/mltpp.i: Mlt.h, MltFactory.{h,cpp}, + MltRepository.{h,cpp}, swig/mltpp.i: update to deal with changes and new + capabilities in mlt_factory and mlt_repository. + * src/framework/mlt_factory.c, src/framework/mlt_factory.h, src/framework/mlt_repository.c, src/framework/mlt_repository.h: cleanup some names since we are changing the interface mlt_repository.[hc]: change @@ -1459,6 +9639,8 @@ 2008-02-04 ddennedy + * mlt++/COPYING: add COPYING to disclose license + * src/framework/config.h: remove config.h * Makefile, setenv, src/framework/Makefile, src/framework/mlt_consumer.c, @@ -1490,6 +9672,21 @@ 2008-02-02 ddennedy + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltConsumer.cpp, + mlt++/src/MltConsumer.h, mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, + mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, + mlt++/src/MltFilteredConsumer.cpp, mlt++/src/MltFilteredConsumer.h, + mlt++/src/MltFilteredProducer.cpp, mlt++/src/MltFilteredProducer.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/src/MltProfile.cpp, + mlt++/src/MltProfile.h, mlt++/src/MltPushConsumer.cpp, + mlt++/src/MltPushConsumer.h, mlt++/src/MltService.cpp, + mlt++/src/MltService.h, mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h, mlt++/swig/mltpp.i, + mlt++/swig/perl/play.pl, mlt++/swig/python/play.py, + mlt++/swig/ruby/miracle.rb, mlt++/swig/ruby/play.rb, + mlt++/swig/ruby/thumbs.rb, mlt++/swig/tcl/play.tcl, mlt++/test/play.cpp, + mlt++/test/server.cpp: add MltProfile and update examples + * src/framework/mlt_factory.c, src/framework/mlt_profile.c: mlt_factory.c: guard against accessing mlt_environment before it is ready mlt_profile.c: fix setting legacy MLT_NORMALISATION on mlt_environment @@ -1884,8 +10081,13 @@ 2007-06-12 ddennedy + * mlt++/Makefile: added dist make targets + * Makefile: added dist make targets + * mlt++/Makefile, mlt++/src/Makefile, mlt++/test/Makefile: added uninstall + make targets + * Makefile, src/albino/Makefile, src/framework/Makefile, src/humperdink/Makefile, src/inigo/Makefile, src/miracle/Makefile, src/modules/Makefile, src/valerie/Makefile: added uninstall make targets @@ -2379,6 +10581,10 @@ utility function for listing files in a directory (aids with cross platform support) +2006-03-20 lilo_booter + + * mlt++/src/MltFactory.h: + Fix for swig parsing + 2006-03-02 ddennedy * docs/services.txt, src/framework/mlt_manager.h, src/modules/core/Makefile, @@ -2393,6 +10599,25 @@ 2006-02-23 lilo_booter + * mlt++/src/Makefile: + Install of config.h for linux and os/x usage + + * mlt++/src/config.h: + Added the config.h for win32 + + * mlt++/mlt++.sln, mlt++/mlt++.vcproj, mlt++/src/Mlt.h, + mlt++/src/MltConsumer.h, mlt++/src/MltDeque.h, mlt++/src/MltEvent.h, + mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, mlt++/src/MltField.h, + mlt++/src/MltFilter.h, mlt++/src/MltFilteredConsumer.h, + mlt++/src/MltFilteredProducer.h, mlt++/src/MltFrame.cpp, + mlt++/src/MltFrame.h, mlt++/src/MltGeometry.h, mlt++/src/MltMultitrack.h, + mlt++/src/MltParser.h, mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltPushConsumer.h, mlt++/src/MltService.h, + mlt++/src/MltTokeniser.h, mlt++/src/MltTractor.h, mlt++/src/MltTransition.h: + + Win32 port - dev studio is required to avoid issues with C++ ABI + compatibility + Fix for image render in NTSC NB: mlt patch to follow (this + one isn't much use without it :-)) - mlt build is purely mingw32 of course + * src/modules/vmfx/filter_shape.c: + Activates the mixdown in the combine to allow audio sync'd with wipe (smooth ramping not implemented yet) @@ -2426,13 +10651,21 @@ * debian/control, debian/rules, src/miracle/Makefile: + Fix for libmiracle and alternative deb packaging + * mlt++/configure, mlt++/src/Makefile: + Fix for Darwin and soname logic + * src/framework/Makefile, src/miracle/Makefile, src/modules/avformat/configure, src/valerie/Makefile: + Fix for Darwin and soname logic + * mlt++/debian/changelog, mlt++/debian/control, mlt++/debian/copyright, + mlt++/debian/rules: + Functional debian build rules + * debian/changelog, debian/control, debian/copyright, debian/rules: + Functional debian build rules + * mlt++/Makefile, mlt++/configure, mlt++/src/Makefile, mlt++/test/Makefile: + + MLT++ updates for 0.2.1 - distclean corrected, soname usage in linking + * Makefile, configure, src/albino/Makefile, src/framework/Makefile, src/humperdink/Makefile, src/inigo/Makefile, src/miracle/Makefile, src/modules/Makefile, src/modules/avformat/Makefile, @@ -2454,17 +10687,33 @@ * src/framework/configure, src/miracle/configure, src/valerie/configure: + More fixes for lib64 + * mlt++/Makefile, mlt++/configure: + Correction to a typo + * src/modules/avformat/Makefile: + Uses libdir in private build of ffmpeg too * src/modules/avformat/configure: + 64 bit fix for ffmpeg built externally (should switch to pkg-config here) + * mlt++/swig/perl/Makefile.PL: + Perl compilation patch submitted by Torsten + Spindler + + * mlt++/configure, mlt++/src/Makefile: + Added a --libdir switch to the + configure and build and fixed test case compilation + * configure: - Removed a diagnostic * Makefile, configure, src/framework/Makefile, src/miracle/Makefile, src/valerie/Makefile: + Added a --libdir switch to the configure and build +2005-11-22 lilo_booter + + * mlt++/configure: + Allow LDFLAGS to be inherited from the environment + +2005-11-21 lilo_booter + + * mlt++/src/Makefile: + Creates the lib directory on an install + 2005-11-17 lilo_booter * src/modules/core/transition_composite.c: + Correction to alpha mask @@ -2472,6 +10721,9 @@ 2005-11-10 lilo_booter + * mlt++/Makefile, mlt++/src/Makefile: + DESTDIR patch from Anthony Green + (green at redhat dot com) - many thanks :-) + * Makefile, src/albino/Makefile, src/framework/Makefile, src/humperdink/Makefile, src/inigo/Makefile, src/miracle/Makefile, src/modules/Makefile, src/modules/avformat/Makefile, @@ -2561,6 +10813,9 @@ * configure: + OS/X Tiger patch + * mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h: OS/X gcc/g++ 4.x + fix + * src/framework/mlt_events.h, src/framework/mlt_types.h: gcc/g++ 4.x fix * src/humperdink/client.c, src/humperdink/io.c, src/humperdink/io.h, @@ -2569,6 +10824,10 @@ * src/framework/mlt.h, src/inigo/inigo.c: + Whoops - removed dependency on sdl in the framework for darwin + * mlt++/configure, mlt++/src/Makefile, mlt++/src/MltProperties.cpp, + mlt++/src/MltProperties.h, mlt++/test/Makefile: + Whoops - had forgotten + these OS/X patches... + * src/modules/sdl/producer_sdl_image.c: + Surface conversion * src/modules/sdl/producer_sdl_image.h: + Added producer_sdl_image as an @@ -2585,11 +10844,16 @@ 2005-09-29 lilo_booter + * mlt++/src/MltPushConsumer.cpp: + Oops - fix for memory leak + * src/modules/avformat/filter_avcolour_space.c: + Extracts alpha from rgb24a images 2005-09-28 lilo_booter + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltPushConsumer.cpp, + mlt++/src/MltPushConsumer.h: + Added a push based consumer wrapper + * src/framework/mlt_frame.c, src/framework/mlt_tractor.c, src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c, src/modules/core/filter_watermark.c, src/modules/core/producer_colour.c, @@ -2882,6 +11146,10 @@ * src/modules/core/filter_watermark.c: + Correction to long outstanding oddity regarding composite.out - not needed in many cases now + * mlt++/swig/Makefile, mlt++/swig/configure, mlt++/swig/perl/Makefile.PL, + mlt++/swig/python/build, mlt++/swig/tcl/build: + Cleaned up swig build so it + doesn't require an mlt++ install first - Temporarily disabled java + 2005-07-25 lilo_booter * src/modules/kino/riff.cc: + Minor correction for entry length being less @@ -3070,6 +11338,10 @@ 2005-06-27 lilo_booter + * mlt++/CUSTOMISING, mlt++/test/server.cpp: CUSTOMISING + Replaced TBD for + frame rendering notification event test/server.cpp + Added an example frame + rendering callback that removes all shotcut related fx + * src/modules/sdl/consumer_sdl.c: src/modules/sdl/consumer_sdl.c + (Re)Added audio volume control @@ -3104,6 +11376,10 @@ support for transition as filter usage + Cleaned up public copy region functionality + * mlt++/CUSTOMISING, mlt++/swig/ruby/thumbs.rb: CUSTOMISING + Added an + example of how to hide a track on reception swig/ruby/thumbs.rb + Changed + generator to run, rather than sleep and poll + * src/modules/core/transition_composite.c: + Cleaned up compositing and alpha usage (all frames always have an alpha mask) + Provided an alternative rendering mechanism ('or' which takes a and b alpha into account) + Provided @@ -3365,6 +11641,8 @@ src/modules/xine/configure, src/tests/Makefile, src/valerie/Makefile, src/valerie/valerie_socket.c: OS/X Patch from Torsten Spindler + * mlt++/CUSTOMISING: Minor doc updates + * src/framework/mlt_factory.c, src/framework/mlt_factory.h, src/framework/mlt_repository.c, src/framework/mlt_repository.h: More const usage @@ -3401,6 +11679,10 @@ 2005-03-16 lilo_booter + * mlt++/CUSTOMISING, mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltResponse.cpp, mlt++/src/MltResponse.h, mlt++/test/server.cpp: + Server customisation + * src/framework/mlt_consumer.c, src/framework/mlt_producer.c: Frame rendering event @@ -3440,6 +11722,8 @@ 2005-02-12 lilo_booter + * mlt++/src/MltService.cpp: Minor correction + * src/framework/mlt_producer.c, src/framework/mlt_tractor.c, src/modules/core/producer_colour.c, src/modules/core/transition_composite.c, src/modules/feeds/PAL/etv.properties, src/modules/gtk2/producer_pango.c, @@ -3576,6 +11860,9 @@ 2005-01-14 lilo_booter + * mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h: Const string usage + in properties + * demo/mlt_attributes: Correction for ETV specific filters * src/modules/feeds/PAL/etv.properties: Seperation for ETV specific filters @@ -3599,12 +11886,18 @@ 2005-01-03 lilo_booter + * mlt++/src/MltGeometry.cpp, mlt++/src/MltGeometry.h: Next/Prev key + extraction + * src/framework/mlt_geometry.c, src/framework/mlt_geometry.h: Next/Prev key extraction * src/modules/feeds/PAL/data_fx.properties, src/modules/feeds/PAL/obscure.properties: Smaller mask width/height + * mlt++/src/MltMiracle.cpp, mlt++/src/MltMiracle.h, mlt++/swig/mltpp.i: Fetch + unit from miracle server + * src/miracle/miracle_server.c, src/miracle/miracle_server.h: Fetch unit from miracle server @@ -3618,6 +11911,8 @@ src/framework/mlt_properties.c, src/framework/mlt_property.c, src/framework/mlt_transition.c: Corrections after valgrinding + * mlt++/src/MltGeometry.h: Update for geometry + * demo/demo.ini, demo/mlt_attributes, demo/mlt_news, demo/mlt_slideshow, demo/mlt_slideshow_black, demo/mlt_squeeze, demo/mlt_ticker, demo/mlt_watermark: Corrections and minor fixes to use new geometry spec; @@ -3705,6 +12000,9 @@ 2004-12-24 lilo_booter + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltGeometry.cpp, + mlt++/src/MltGeometry.h, mlt++/swig/mltpp.i: Geometry + * src/modules/core/transition_composite.c: Luma generation and use * src/modules/core/transition_composite.c, @@ -3748,16 +12046,23 @@ 2004-12-12 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h: blank_at method added + * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h: blank_at method added 2004-12-11 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h: split_at method added + * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h: split_at method added 2004-12-09 lilo_booter + * mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h: Tractor constructor + modifications + * src/framework/mlt_playlist.c, src/framework/mlt_service.c, src/modules/inigo/producer_inigo.c: Corrections to playlist manipulations and producer type determination @@ -3821,6 +12126,14 @@ 2004-11-25 lilo_booter + * mlt++/swig/Makefile: Install makefile for swig + + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltDeque.cpp, + mlt++/src/MltDeque.h, mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h: Deque added; + simplified producer parent access; transition in and out + * src/framework/mlt_factory.c, src/framework/mlt_factory.h, src/framework/mlt_multitrack.c, src/framework/mlt_playlist.c, src/framework/mlt_producer.c, src/framework/mlt_properties.c, @@ -3831,6 +12144,12 @@ 2004-11-22 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltService.cpp, + mlt++/src/MltService.h, mlt++/test/Makefile: More playlist modifications; + service locking + * src/modules/sdl/consumer_sdl_still.c: Consumer sdl preview correction - attach colour space conversion on start @@ -3843,6 +12162,10 @@ * src/framework/mlt_producer.c: Extendible blank producers + * mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h: Ref count and event firing + method on properties; locate_cut on tractor + * src/framework/mlt_consumer.c, src/framework/mlt_frame.c, src/framework/mlt_properties.c, src/framework/mlt_properties.h, src/modules/sdl/consumer_sdl_still.c, src/modules/valerie/consumer_valerie.c: @@ -3851,6 +12174,11 @@ 2004-11-11 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h: Playlist reorganisation + * src/framework/mlt_consumer.c, src/framework/mlt_playlist.c, src/framework/mlt_playlist.h, src/framework/mlt_producer.c, src/framework/mlt_producer.h, src/framework/mlt_transition.c, @@ -3859,6 +12187,10 @@ 2004-11-07 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h: Simplified playlist and + track access + * src/modules/sdl/consumer_sdl_still.c: Increased delay for polling * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h: Simplified @@ -3866,6 +12198,9 @@ 2004-11-05 lilo_booter + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h: Added cut related + methods + * src/framework/mlt_multitrack.c: Behavioural change - tracks with hide properties now affect length (might be problematic) @@ -3882,6 +12217,10 @@ 2004-10-31 lilo_booter + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltTokeniser.cpp, + mlt++/src/MltTokeniser.h, mlt++/test/server.cpp: Added courtesy tokenising + class + * src/framework/mlt_tokeniser.c, src/modules/fezzik.dict, src/modules/gtk2/factory.c, src/modules/inigo/producer_inigo.c, src/modules/sdl/consumer_sdl_preview.c, @@ -3892,6 +12231,9 @@ * src/modules/plus/filter_charcoal.c: Minor optimisation + * mlt++/configure, mlt++/swig/configure, mlt++/swig/ruby/build, + mlt++/swig/ruby/miracle.rb: Config changes + * src/framework/mlt_consumer.c, src/framework/mlt_frame.c, src/framework/mlt_producer.c, src/framework/mlt_tractor.c, src/inigo/inigo.c, src/modules/avformat/consumer_avformat.c, @@ -3938,12 +12280,17 @@ 2004-10-17 lilo_booter + * mlt++/src/MltMiracle.cpp, mlt++/src/MltMiracle.h: id and log level for + server + * src/framework/mlt_properties.c, src/miracle/miracle_server.c, src/miracle/miracle_server.h: Convenience functionality for properties load and miracle_server_id function * src/miracle/miracle_server.c: Server shutdown state oops + * mlt++/src/MltMiracle.cpp: Server shutdown state + * src/miracle/miracle_server.c: Server shutdown state 2004-10-15 lilo_booter @@ -3953,9 +12300,14 @@ 2004-10-14 lilo_booter + * mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h, mlt++/test/play.cpp: + buffer fix and tractor handling + * src/modules/westley/consumer_westley.c, src/valerie/valerie_remote.c: buffer fix and tractor handling + * mlt++/HOWTO: Doc updates + * src/miracle/miracle_connection.c, src/miracle/miracle_local.c, src/miracle/miracle_server.c, src/miracle/miracle_unit_commands.c, src/miracle/miracle_unit_commands.h, src/modules/valerie/consumer_valerie.c, @@ -3964,6 +12316,9 @@ src/valerie/valerie_parser.h, src/valerie/valerie_remote.c: Improved push capabilities + * mlt++/src/MltMiracle.cpp, mlt++/src/MltMiracle.h: Improved push + capabilities + 2004-10-13 lilo_booter * src/framework/mlt_service.c, src/modules/fezzik/producer_fezzik.c, @@ -3993,6 +12348,9 @@ 2004-10-08 lilo_booter + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h: Same and following clip + identification + * docs/framework.txt, docs/inigo.txt, docs/install.txt: Some documentation updates - more to follow @@ -4025,6 +12383,11 @@ src/framework/mlt_producer.c, src/framework/mlt_tractor.c, src/inigo/inigo.c: Multitrack rearrangement and tractor cleanup + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltFrame.cpp, + mlt++/src/MltFrame.h, mlt++/src/MltParser.cpp, mlt++/src/MltParser.h, + mlt++/src/MltService.cpp, mlt++/src/MltService.h, mlt++/swig/mltpp.i: Added + the parser object and moved type identity into mlt + * src/framework/mlt_parser.c, src/framework/mlt_producer.c: Yikes - another corrections to cloning (oops) @@ -4060,6 +12423,9 @@ 2004-09-29 lilo_booter + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, mlt++/swig/mltpp.i: new + mix related methods + * src/framework/mlt_frame.c, src/framework/mlt_playlist.c, src/framework/mlt_playlist.h: clip and mix manipulation on playlist @@ -4086,6 +12452,9 @@ 2004-09-26 lilo_booter + * mlt++/README, mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h: Playlist + repeat clip functionality + * src/inigo/inigo.c: Clean up - added new usage options * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h, @@ -4119,6 +12488,9 @@ * src/framework/mlt_properties.c: ...gah... + * mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/swig/mltpp.i: Cut + management part 1 + * src/framework/mlt_playlist.c, src/framework/mlt_producer.c, src/framework/mlt_producer.h, src/framework/mlt_properties.c, src/framework/mlt_service.c, src/modules/westley/consumer_westley.c, @@ -4131,8 +12503,16 @@ * src/framework/mlt_tractor.c: Alpha from the tractor fix + * mlt++/src/MltService.cpp, mlt++/swig/mltpp.i: get_frame and ruby listen fix + + 2004-09-22 lilo_booter + * mlt++/src/MltFrame.cpp, mlt++/src/MltProperties.cpp, + mlt++/src/MltProperties.h, mlt++/swig/mltpp.i: Event and frame handling + + * mlt++/configure, mlt++/src/MltMiracle.cpp: Server shutdown + * src/framework/mlt_properties.c: Whoops * src/framework/mlt_factory.c, src/framework/mlt_properties.c, @@ -4152,8 +12532,17 @@ 2004-09-19 lilo_booter + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltMiracle.cpp, + mlt++/src/MltMiracle.h, mlt++/src/MltResponse.cpp, mlt++/src/MltResponse.h, + mlt++/swig/mltpp.i: Added the response object + * src/valerie/valerie_response.h: Obtain stdio definitions + * mlt++/HOWTO, mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltMiracle.cpp, + mlt++/src/MltMiracle.h, mlt++/swig/mltpp.i, mlt++/swig/ruby/miracle.rb, + mlt++/test/Makefile, mlt++/test/play.cpp, mlt++/test/server.cpp: Adding + miracle + * src/miracle/miracle.c, src/miracle/miracle_server.c, src/miracle/miracle_server.h: Extending miracles functionality @@ -4207,6 +12596,8 @@ src/modules/inigo/producer_inigo.c: Fixes for removed tracks before/after mix + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h: Adding the mix part 1 + * src/framework/mlt_field.c, src/framework/mlt_playlist.c, src/framework/mlt_playlist.h, src/modules/inigo/producer_inigo.c, src/modules/westley/consumer_westley.c, @@ -4227,6 +12618,10 @@ 2004-09-06 lilo_booter + * mlt++/src/MltFilteredConsumer.cpp, mlt++/src/MltFilteredConsumer.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/src/MltService.cpp, + mlt++/src/MltService.h, mlt++/swig/mltpp.i: Service attach filters + * src/framework/mlt_producer.c, src/framework/mlt_service.c, src/framework/mlt_service.h, src/inigo/inigo.c, src/modules/core/filter_region.c, src/modules/core/filter_watermark.c, @@ -4236,6 +12631,9 @@ 2004-09-03 lilo_booter + * mlt++/HOWTO, mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/swig/mltpp.i, mlt++/swig/perl/play.pl: More event stuff + * src/framework/mlt_multitrack.c, src/framework/mlt_tractor.c: Multitrack and tractor producer-changed event @@ -4243,6 +12641,11 @@ * src/modules/sdl/consumer_sdl.c: Fix occassional sdl core dumps + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltEvent.cpp, + mlt++/src/MltEvent.h, mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/swig/mltpp.i, mlt++/swig/ruby/play.rb, mlt++/test/play.cpp: Event + modifications + * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h, src/framework/mlt_events.c, src/framework/mlt_events.h, src/framework/mlt_playlist.c, src/modules/avformat/consumer_avformat.c, @@ -4260,6 +12663,15 @@ 2004-08-31 lilo_booter + * mlt++/HOWTO, mlt++/src/Makefile, mlt++/src/MltConsumer.cpp, + mlt++/src/MltConsumer.h, mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, + mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, mlt++/src/MltMultitrack.cpp, + mlt++/src/MltMultitrack.h, mlt++/src/MltPlaylist.cpp, + mlt++/src/MltPlaylist.h, mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltService.cpp, mlt++/src/MltService.h, mlt++/src/MltTractor.cpp, + mlt++/src/MltTractor.h, mlt++/src/MltTransition.cpp, + mlt++/src/MltTransition.h: Run time type identification + * configure, src/framework/Makefile, src/framework/mlt_frame.c, src/framework/mlt_frame.h, src/modules/westley/consumer_westley.c, src/valerie/Makefile: Minor make/configure mods and mlt_frame_waveform mod @@ -4281,17 +12693,35 @@ 2004-08-28 lilo_booter + * mlt++/README, mlt++/src/MltMultitrack.cpp, mlt++/src/MltMultitrack.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h, mlt++/swig/mltpp.i: Tractor + enhancements + * src/framework/mlt_multitrack.h, src/framework/mlt_playlist.c, src/framework/mlt_tractor.c, src/framework/mlt_tractor.h: Tractor enhancements + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltField.cpp, + mlt++/src/MltField.h, mlt++/src/MltMultitrack.cpp, mlt++/src/MltMultitrack.h, + mlt++/src/MltTractor.cpp, mlt++/src/MltTractor.h, mlt++/swig/mltpp.i: + Multitrack classes added + * docs/framework.txt, src/framework/mlt_field.c, src/framework/mlt_field.h, src/framework/mlt_tractor.c, src/framework/mlt_tractor.h, src/modules/inigo/producer_inigo.c, src/modules/westley/producer_westley.c: New tractor constructor + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, mlt++/swig/mltpp.i: + Producer filter extraction method + 2004-08-27 lilo_booter + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltFilteredProducer.cpp, + mlt++/src/MltFilteredProducer.h, mlt++/src/MltProducer.cpp, + mlt++/src/MltProducer.h, mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/swig/mltpp.i: Removed FilteredProducer + * src/framework/mlt_playlist.c, src/framework/mlt_producer.c, src/framework/mlt_producer.h, src/modules/fezzik/producer_fezzik.c, src/modules/westley/consumer_westley.c, @@ -4300,6 +12730,19 @@ 2004-08-26 lilo_booter + * mlt++/Makefile, mlt++/test/Makefile, mlt++/test/play.cpp: Build + modifications + + * mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h, + mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, + mlt++/src/MltFilteredConsumer.cpp, mlt++/src/MltFilteredConsumer.h, + mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, mlt++/src/MltPlaylist.cpp, + mlt++/src/MltPlaylist.h, mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h, + mlt++/swig/perl/play.pl: Mlt Ref Counts and Playlist split/join + * docs/framework.txt, setenv_mc, src/framework/mlt_consumer.c, src/framework/mlt_field.c, src/framework/mlt_filter.c, src/framework/mlt_frame.c, src/framework/mlt_multitrack.c, @@ -4314,12 +12757,31 @@ src/modules/gtk2/producer_pixbuf.c, src/modules/westley/consumer_westley.c: Mlt Ref Counts and Playlist split/join +2004-08-23 lilo_booter + + * mlt++/swig/perl/play.pl: Added play.pl + + * mlt++/src/Makefile, mlt++/swig/mltpp.i: Workaround for perl + 2004-08-21 lilo_booter + * mlt++/src/MltConsumer.cpp, mlt++/src/MltFilter.cpp, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltTransition.cpp: Constructor clean up + + * mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h: consumer purge + * src/miracle/miracle_local.c, src/miracle/miracle_unit.c: Unit purge * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: consumer purge +2004-08-20 lilo_booter + + * mlt++/src/MltFilter.cpp, mlt++/src/MltFilter.h, mlt++/src/MltPlaylist.cpp, + mlt++/src/MltPlaylist.h, mlt++/swig/configure, mlt++/swig/java/build, + mlt++/swig/ruby/build, mlt++/swig/ruby/thumbs.rb: mlt_position, /usr/bin/env + and Instance fix + 2004-08-19 lilo_booter * src/modules/core/filter_rescale.c, src/modules/gtk2/factory.c: Colour space @@ -4330,12 +12792,61 @@ * src/framework/mlt_consumer.c: Prefil consumer property +2004-08-18 lilo_booter + + * mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, mlt++/src/MltProducer.cpp, + mlt++/src/MltProducer.h, mlt++/src/MltService.cpp, mlt++/swig/mltpp.i, + mlt++/swig/ruby/play.rb: image handling + 2004-08-17 lilo_booter + * mlt++/swig/java/Play.java, mlt++/swig/ruby/play.rb, + mlt++/swig/ruby/thumbs.rb: Fixes for mods to api + + * mlt++/src/Makefile, mlt++/src/Mlt.h, mlt++/src/MltConsumer.cpp, + mlt++/src/MltConsumer.h, mlt++/src/MltFilteredConsumer.cpp, + mlt++/src/MltFilteredConsumer.h, mlt++/src/MltFilteredProducer.cpp, + mlt++/src/MltFilteredProducer.h, mlt++/src/MltService.cpp, + mlt++/src/MltService.h, mlt++/swig/mltpp.i: Filtered producers and consumers + * src/framework/mlt_service.c: NULL accpectance for connect/disconnect + * mlt++/test/play.cpp: oops + 2004-08-16 lilo_booter + * mlt++/swig/configure, mlt++/swig/java/Play.java, mlt++/swig/java/Play.sh, + mlt++/swig/java/build, mlt++/swig/mltpp.i, mlt++/swig/perl/Makefile.PL, + mlt++/swig/perl/build, mlt++/swig/python/build, mlt++/swig/python/play.py, + mlt++/swig/ruby/build, mlt++/swig/ruby/play.rb, mlt++/swig/ruby/thumbs.rb, + mlt++/swig/tcl/build, mlt++/swig/tcl/play.tcl: Experimental swig bindings + + * mlt++/README, mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, + mlt++/src/MltFilter.cpp, mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProperties.cpp, + mlt++/src/MltProperties.h, mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/src/MltTransition.cpp, mlt++/test/Makefile: More cleanups + + * mlt++/README, mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h, + mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, mlt++/src/MltFilter.cpp, + mlt++/src/MltFilter.h, mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, + mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h, mlt++/test/play.cpp: + Class rework and simplification + + * mlt++/src/Makefile, mlt++/src/Mlt.h: Added Mlt.h convenience header + + * mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltService.cpp: Complete methods for properties and playlist; + reversed NULL handling on service class + + * mlt++/README, mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/test/play.cpp: Object validity checks + * src/framework/mlt_consumer.c, src/framework/mlt_field.c, src/framework/mlt_filter.c, src/framework/mlt_frame.c, src/framework/mlt_multitrack.c, src/framework/mlt_playlist.c, @@ -4343,6 +12854,22 @@ src/framework/mlt_tractor.c, src/framework/mlt_transition.c: NULL safety checks + * mlt++/AUTHORS, mlt++/Makefile, mlt++/README, mlt++/configure, + mlt++/src/Makefile, mlt++/src/MltService.cpp, mlt++/test/play.cpp: Build and + docs modifications + +2004-08-15 lilo_booter + + * mlt++/src/Makefile, mlt++/src/MltConsumer.cpp, mlt++/src/MltConsumer.h, + mlt++/src/MltFactory.cpp, mlt++/src/MltFactory.h, mlt++/src/MltFilter.cpp, + mlt++/src/MltFilter.h, mlt++/src/MltFrame.cpp, mlt++/src/MltFrame.h, + mlt++/src/MltPlaylist.cpp, mlt++/src/MltPlaylist.h, + mlt++/src/MltProducer.cpp, mlt++/src/MltProducer.h, + mlt++/src/MltProperties.cpp, mlt++/src/MltProperties.h, + mlt++/src/MltService.cpp, mlt++/src/MltService.h, + mlt++/src/MltTransition.cpp, mlt++/src/MltTransition.h, mlt++/test/Makefile, + mlt++/test/play.cpp: Initial revision + 2004-08-12 lilo_booter * src/modules/avformat/producer_avformat.c: gop/b frame fix, http/pipe