Credit Andrew - updating patches for FFmpeg 7.0 as needed since 6.1, now at 7.0,...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / aging / aging.C
index 67a8023fbc96e9ad9bf0b1e3effc716114f80a9d..41d30d75844e2b1cd771878b351a1d49a2ecc540 100644 (file)
@@ -43,6 +43,7 @@ AgingMain::AgingMain(PluginServer *server)
        aging_server = 0;
        pits_count = 0;
        dust_count = 0;
+       memset(scratches, 0, sizeof(scratches));
 }
 
 AgingMain::~AgingMain()
@@ -287,7 +288,7 @@ void AgingClient::coloraging(unsigned char **output_rows, unsigned char **input_
        for( i = 0; i < plugin->config.scratch_lines; i++ ) { \
                if( plugin->scratches[i].life )  { \
                        plugin->scratches[i].x = plugin->scratches[i].x + plugin->scratches[i].dx; \
-                       if( plugin->scratches[i].x < 0 || plugin->scratches[i].x > w_256 ) { \
+                       if( plugin->scratches[i].x < 0 || plugin->scratches[i].x >= w_256 ) { \
                                plugin->scratches[i].life = 0; \
                                break; \
                        } \
@@ -580,12 +581,12 @@ void AgingClient::process_package(LoadPackage *package)
                        plugin->input_ptr->get_color_model(),
                        plugin->input_ptr->get_w(),
                        local_package->row2 - local_package->row1);
-       if( plugin->config.pits )
+       if( plugin->config.pits && plugin->config.pits_interval > 0 )
                pits(output_rows,
                        plugin->input_ptr->get_color_model(),
                        plugin->input_ptr->get_w(),
                        local_package->row2 - local_package->row1);
-       if( plugin->config.dust )
+       if( plugin->config.dust && plugin->config.dust_interval > 0 )
                dusts(output_rows,
                        plugin->input_ptr->get_color_model(),
                        plugin->input_ptr->get_w(),