From: Good Guy Date: Sun, 27 Sep 2020 20:07:22 +0000 (-0600) Subject: raise vwdw stacking tweak, drag handle for transitions, cleanup histogram plugin... X-Git-Tag: 2020-09~3 X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=commitdiff_plain;h=232ae3c6972c1740b6e1890ccce1264f2bb311f5 raise vwdw stacking tweak, drag handle for transitions, cleanup histogram plugin, histogram uses sum bin value, suv patchbay/new png imgs, tweak appearanceprefs layout --- diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C index c53db830..1f878835 100644 --- a/cinelerra-5.1/cinelerra/appearanceprefs.C +++ b/cinelerra-5.1/cinelerra/appearanceprefs.C @@ -205,7 +205,7 @@ void AppearancePrefs::create_objects() if( y2 < y ) y2 = y; add_subwindow(new BC_Bar(x0, y2, get_w()-x0 - xs30)); - y += ys15; + y += ys35; x = x0; y1 = y; add_subwindow(title = new BC_Title(x, y, _("Warnings:"), LARGEFONT, diff --git a/cinelerra-5.1/cinelerra/mainmenu.C b/cinelerra-5.1/cinelerra/mainmenu.C index 3a694f72..4359595b 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -1605,7 +1605,7 @@ ShowVWindow::ShowVWindow(MWindow *mwindow) int ShowVWindow::handle_event() { mwindow->gui->unlock_window(); - mwindow->show_vwindow(); + mwindow->show_vwindow(1); mwindow->gui->lock_window("ShowVWindow::handle_event"); return 1; } diff --git a/cinelerra-5.1/cinelerra/mainsession.C b/cinelerra-5.1/cinelerra/mainsession.C index de63b8b1..7d582c46 100644 --- a/cinelerra-5.1/cinelerra/mainsession.C +++ b/cinelerra-5.1/cinelerra/mainsession.C @@ -36,6 +36,7 @@ #include "mwindow.h" #include "mwindowgui.h" #include "plugin.h" +#include "transition.h" MainSession::MainSession(MWindow *mwindow) { @@ -51,6 +52,7 @@ MainSession::MainSession(MWindow *mwindow) current_operation = NO_OPERATION; drag_pluginservers = new ArrayList; drag_plugin = 0; + drag_transition = 0; drag_assets = new ArrayList; drag_auto_gang = new ArrayList; drag_clips = new ArrayList; @@ -657,6 +659,10 @@ Track *MainSession::drag_handle_track() case DRAG_PLUGINHANDLE2: track = drag_plugin->edits->track; break; + case DRAG_TRANSNHANDLE1: + case DRAG_TRANSNHANDLE2: + track = drag_transition->edits->track; + break; } return track; } diff --git a/cinelerra-5.1/cinelerra/mainsession.h b/cinelerra-5.1/cinelerra/mainsession.h index 58115d69..e8d31db6 100644 --- a/cinelerra-5.1/cinelerra/mainsession.h +++ b/cinelerra-5.1/cinelerra/mainsession.h @@ -38,6 +38,7 @@ #include "pluginset.inc" #include "pluginserver.inc" #include "track.inc" +#include "transition.inc" #include "vwindowgui.inc" // Options not in EDL but not changed in preferences @@ -73,6 +74,7 @@ public: // Item being dragged ArrayList *drag_pluginservers; Plugin *drag_plugin; + Transition *drag_transition; // When trim should only affect the selected edits or plugins Edits *trim_edits; ArrayList *drag_assets; diff --git a/cinelerra-5.1/cinelerra/mainsession.inc b/cinelerra-5.1/cinelerra/mainsession.inc index 0a734958..754183c2 100644 --- a/cinelerra-5.1/cinelerra/mainsession.inc +++ b/cinelerra-5.1/cinelerra/mainsession.inc @@ -61,6 +61,8 @@ enum DRAG_PLUGINKEY, DRAG_PLUGINHANDLE1, // Waiting to move out of drag threshold DRAG_PLUGINHANDLE2, // Dragging outside drag threshold + DRAG_TRANSNHANDLE1, + DRAG_TRANSNHANDLE2, DRAG_SPEED, DRAG_GROUP, GROUP_TOGGLE, diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index bb04335f..cf16cd93 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -2919,7 +2919,7 @@ void MWindow::run() run_lock->unlock(); } -void MWindow::show_vwindow() +void MWindow::show_vwindow(int raise) { int total_running = 0; session->show_vwindow = 1; @@ -2929,19 +2929,17 @@ void MWindow::show_vwindow() for(int j = 0; j < vwindows.size(); j++) { VWindow *vwindow = vwindows[j]; if( !vwindow->is_running() ) continue; + total_running++; + if( !raise && !vwindow->gui->is_hidden() ) continue; vwindow->gui->lock_window("MWindow::show_vwindow"); vwindow->gui->show_window(0); vwindow->gui->raise_window(); vwindow->gui->flush(); vwindow->gui->unlock_window(); - total_running++; } - // If no windows visible - if(!total_running) - { + if( !total_running ) get_viewer(1, DEFAULT_VWINDOW); - } gui->mainmenu->show_vwindow->set_checked(1); } @@ -3016,8 +3014,8 @@ void MWindow::restore_windows() vwindow->gui->unlock_window(); } } - else - show_vwindow(); + else + show_vwindow(0); if( !session->show_awindow && !awindow->gui->is_hidden() ) { awindow->gui->lock_window("MWindow::restore_windows"); diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index d7e54b1c..b31f2642 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -209,7 +209,7 @@ public: void media_to_clip(); int create_ref(Asset *asset, EDL *ref); // Show windows - void show_vwindow(); + void show_vwindow(int raise); void show_awindow(); void show_lwindow(); void show_cwindow(); @@ -623,6 +623,7 @@ public: int modify_edithandles(); int modify_pluginhandles(); + int modify_transnhandles(); void finish_modify_handles(); void rescale_proxy(EDL *clip, int orig_scale, int new_scale); void add_proxy(ArrayList *orig_assets, diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index 2bf9a97c..003844fe 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -960,6 +960,34 @@ void MWindow::finish_modify_handles() cwindow->update(1, 0, 0, 0, 1); } +int MWindow::modify_transnhandles() +{ + gui->reset_default_message(); + gui->default_message(); + Transition *transition = session->drag_transition; + if( !transition ) return 1; + int64_t length = transition->length; + Track *track = transition->edit->track; + int64_t start_pos = track->to_units(session->drag_start, 0); + int64_t end_pos = track->to_units(session->drag_position, 0); + length += end_pos - start_pos; + if( length < 0 ) length = 0; + if( length == transition->length ) return 0; + + undo_before(); + transition->length = length; + undo_after(_("trans handle"), LOAD_EDITS); + + save_backup(); + restart_brender(); + sync_parameters(CHANGE_EDL); + update_plugin_guis(); + gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0); + cwindow->update(1, 0, 0, 0, 1); + + return 0; +} + void MWindow::match_output_size(Track *track) { undo_before(); diff --git a/cinelerra-5.1/cinelerra/new.C b/cinelerra-5.1/cinelerra/new.C index a9f4aaf2..47e46705 100644 --- a/cinelerra-5.1/cinelerra/new.C +++ b/cinelerra-5.1/cinelerra/new.C @@ -60,7 +60,7 @@ // add tracks dialog #define HEIGHT1 yS(240) // offset for folder panel -#define HEIGHT2 yS(440) +#define HEIGHT2 yS(435) New::New(MWindow *mwindow) { diff --git a/cinelerra-5.1/cinelerra/trackcanvas.C b/cinelerra-5.1/cinelerra/trackcanvas.C index f37b1cd6..c0fea44a 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.C +++ b/cinelerra-5.1/cinelerra/trackcanvas.C @@ -1967,7 +1967,8 @@ void TrackCanvas::draw_inout_points() void TrackCanvas::draw_drag_handle() { if( mwindow->session->current_operation != DRAG_EDITHANDLE2 && - mwindow->session->current_operation != DRAG_PLUGINHANDLE2 ) return; + mwindow->session->current_operation != DRAG_PLUGINHANDLE2 && + mwindow->session->current_operation != DRAG_TRANSNHANDLE2 ) return; int64_t pixel1 = Units::round(mwindow->session->drag_position * mwindow->edl->session->sample_rate / mwindow->edl->local_session->zoom_sample - @@ -3846,14 +3847,8 @@ void TrackCanvas::update_drag_handle() double new_position; int cursor_x = get_cursor_x(); - new_position = - (double)(cursor_x + - mwindow->edl->local_session->view_start[pane->number]) * - mwindow->edl->local_session->zoom_sample / - mwindow->edl->session->sample_rate; - - new_position = - mwindow->edl->align_to_frame(new_position, 0); + new_position = mwindow->edl->get_cursor_position(cursor_x, pane->number); + new_position = mwindow->edl->align_to_frame(new_position, 0); if( ctrl_down() && alt_down() ) { #define snapper(v) do { \ @@ -4321,42 +4316,46 @@ int TrackCanvas::cursor_update(int in_motion) { case DRAG_EDITHANDLE1: // Outside threshold. Upgrade status - if(active) - { - if(labs(get_cursor_x() - mwindow->session->drag_origin_x) > HANDLE_W) - { - mwindow->session->current_operation = DRAG_EDITHANDLE2; - update_overlay = 1; - } + if( !active ) break; + if( labs(get_cursor_x() - mwindow->session->drag_origin_x) > HANDLE_W ) { + mwindow->session->current_operation = DRAG_EDITHANDLE2; + update_overlay = 1; } break; - case DRAG_EDITHANDLE2: - if(active) - { - update_drag_handle(); - update_overlay = 1; - } + if( !active ) break; + update_drag_handle(); + update_overlay = 1; break; case DRAG_PLUGINHANDLE1: - if(active) - { - if(labs(get_cursor_x() - mwindow->session->drag_origin_x) > HANDLE_W) - { - mwindow->session->current_operation = DRAG_PLUGINHANDLE2; - update_overlay = 1; - } + if( !active ) break; + if( labs(get_cursor_x() - mwindow->session->drag_origin_x) > HANDLE_W ) { + mwindow->session->current_operation = DRAG_PLUGINHANDLE2; + update_overlay = 1; } break; - case DRAG_PLUGINHANDLE2: - if(active) - { - update_drag_handle(); + if( !active ) break; + update_drag_handle(); + update_overlay = 1; + break; + + case DRAG_TRANSNHANDLE1: + if( !active ) break; + if( labs(get_cursor_x() - mwindow->session->drag_origin_x) > HANDLE_W ) { + mwindow->session->current_operation = DRAG_TRANSNHANDLE2; update_overlay = 1; } break; + case DRAG_TRANSNHANDLE2: { + if( !active ) break; + position = mwindow->edl->get_cursor_position(get_cursor_x(), pane->number); + position = mwindow->edl->align_to_frame(position, 1); + drag_transition_handle(position); + rerender = 1; + update_overlay = 1; + break; } // Rubber band curves case DRAG_FADE: @@ -4479,6 +4478,8 @@ int TrackCanvas::cursor_update(int in_motion) 0, new_cursor, update_cursor)) break; if(do_keyframes(get_cursor_x(), get_cursor_y(), 0, 0, new_cursor, update_cursor, rerender)) break; + if(do_transition_handles(get_cursor_x(), get_cursor_y(), + 0, rerender, update_overlay, new_cursor, update_cursor)) break; if(do_edit_handles(get_cursor_x(), get_cursor_y(), 0, rerender, update_overlay, new_cursor, update_cursor)) break; // Plugin boundaries @@ -4678,6 +4679,20 @@ int TrackCanvas::button_release_event() result = 1; break; + case DRAG_TRANSNHANDLE2: + mwindow->session->current_operation = NO_OPERATION; + drag_scroll = 0; + result = 1; + + end_transnhandle_selection(); + break; + + case DRAG_TRANSNHANDLE1: + mwindow->session->current_operation = NO_OPERATION; + drag_scroll = 0; + result = 1; + break; + case DRAG_SPEED: redraw = FORCE_REDRAW; load_flags |= LOAD_EDITS | LOAD_TIMEBAR; @@ -5000,6 +5015,95 @@ int TrackCanvas::do_plugin_handles(int cursor_x, return result; } +int TrackCanvas::do_transition_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor) +{ + Transition *trans_result = 0; + int result = 0; + + Track *track = mwindow->edl->tracks->first; + for( ; track && !result; track=track->next) { + if( track->is_hidden() ) continue; + Edit *edit = track->edits->first; + for( ; edit && !result; edit=edit->next ) { + Transition *trans = edit->transition; + if( !trans ) continue; + int64_t x, y, w, h; + edit_dimensions(edit, x, y, w, h); + int strip_x = x, edit_y = y; + get_transition_coords(edit, x, y, w, h); + VFrame *strip = mwindow->theme->get_image("plugin_bg_data"); + int strip_y = y - strip->get_h(); + if( track->show_assets() && track->show_titles() ) + edit_y += mwindow->theme->get_image("title_bg_data")->get_h(); + if( strip_y < edit_y ) strip_y = edit_y; + int strip_w = Units::round(edit->track->from_units(edit->transition->length) * + mwindow->edl->session->sample_rate / mwindow->edl->local_session->zoom_sample); + int x1 = strip_x + strip_w - HANDLE_W/2, x2 = x1 + HANDLE_W; + int y1 = strip_y + strip->get_h()/2 - HANDLE_H/2, y2 = y1 + HANDLE_W; + if( cursor_x >= x1 && cursor_x < x2 && + cursor_y >= y1 && cursor_y < y2 ) { + trans_result = trans; + result = 1; + } + } + } + + if( result ) { + if( button_press ) { + mwindow->session->drag_transition = trans_result; + mwindow->session->drag_handle = 1; + mwindow->session->drag_button = get_buttonpress() - 1; + int64_t trans_end = trans_result->edit->startproject + trans_result->length; + double position = trans_result->edit->track->from_units(trans_end); + mwindow->session->drag_position = position; + mwindow->session->drag_start = position; + mwindow->session->current_operation = DRAG_TRANSNHANDLE1; + mwindow->session->drag_origin_x = get_cursor_x(); + mwindow->session->drag_origin_y = get_cursor_y(); + update_cursor = 1; + } + new_cursor = RIGHT_CURSOR; + update_overlay = 1; + } + + return result; +} + +int TrackCanvas::drag_transition_handle(double position) +{ + Transition *transition = mwindow->session->drag_transition; + if( !transition ) return 1; + mwindow->session->drag_position = position; + mwindow->edl->local_session->set_selectionstart(position); + mwindow->edl->local_session->set_selectionend(position); + char string[BCSTRLEN]; + int64_t length = transition->length; + Track *track = transition->edit->track; + int64_t start_pos = track->to_units(mwindow->session->drag_start, 0); + int64_t end_pos = track->to_units(mwindow->session->drag_position, 0); + length += end_pos - start_pos; + if( length < 0 ) length = 0; + double time = track->from_units(length); + Units::totext(string, time, + mwindow->edl->session->time_format, + mwindow->edl->session->sample_rate, + mwindow->edl->session->frame_rate, + mwindow->edl->session->frames_per_foot); + mwindow->gui->show_message(string); + if( mwindow->gui->transition_menu->length_thread->running() ) { + TransitionLengthDialog *dialog = (TransitionLengthDialog *) + mwindow->gui->transition_menu->length_thread->get_gui(); + if( dialog ) { + dialog->lock_window("TrackCanvas::drag_transition_handle"); + dialog->update_text(time); + dialog->thread->new_length = time; + dialog->unlock_window(); + } + } + return 0; +} + int TrackCanvas::do_tracks(int cursor_x, int cursor_y, int button_press) { @@ -5421,6 +5525,10 @@ int TrackCanvas::button_press_event() 0, get_buttonpress(), new_cursor, update_cursor, rerender) ) break; update_message = 1; + + if( do_transition_handles(cursor_x, cursor_y, + 1, rerender, update_overlay, new_cursor, + update_cursor) ) break; // Test edit boundaries if( do_edit_handles(cursor_x, cursor_y, 1, rerender, update_overlay, new_cursor, @@ -5457,6 +5565,8 @@ int TrackCanvas::button_press_event() break; } update_message = 1; + if( do_transition_handles(cursor_x, cursor_y, + 1, rerender, update_overlay, new_cursor, update_cursor) ) break; // Test edit boundaries if( do_edit_handles(cursor_x, cursor_y, 1, rerender, update_overlay, new_cursor, update_cursor) ) break; @@ -5553,11 +5663,19 @@ int TrackCanvas::start_selection(double position) void TrackCanvas::end_edithandle_selection() { mwindow->modify_edithandles(); + mwindow->session->drag_edit = 0; } void TrackCanvas::end_pluginhandle_selection() { mwindow->modify_pluginhandles(); + mwindow->session->drag_plugin = 0; +} + +void TrackCanvas::end_transnhandle_selection() +{ + mwindow->modify_transnhandles(); + mwindow->session->drag_transition = 0; } diff --git a/cinelerra-5.1/cinelerra/trackcanvas.h b/cinelerra-5.1/cinelerra/trackcanvas.h index d08b420a..3d1ded19 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.h +++ b/cinelerra-5.1/cinelerra/trackcanvas.h @@ -250,53 +250,28 @@ public: int ibeam_mode(); // Get edit and handle the cursor is over - int do_edit_handles(int cursor_x, - int cursor_y, - int button_press, - int &rerender, - int &update_overlay, - int &new_cursor, - int &update_cursor); + int do_edit_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); // Get plugin and handle the cursor if over - int do_plugin_handles(int cursor_x, - int cursor_y, - int button_press, - int &rerender, - int &update_overlay, - int &new_cursor, - int &update_cursor); + int do_plugin_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); + int do_transition_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); + int drag_transition_handle(double position); // Get edit the cursor is over - int do_edits(int cursor_x, - int cursor_y, - int button_press, - int drag_start, - int &redraw, - int &rerender, - int &new_cursor, - int &update_cursor); + int do_edits(int cursor_x, int cursor_y, int button_press, + int drag_start, int &redraw, int &rerender, int &new_cursor, int &update_cursor); int do_tracks(int cursor_x, int cursor_y, int button_press); int test_track_group(EDL *group, Track *first_track, double &pos); int edit_intersects(Track *track, Edit *src_edit, double &pos); int test_resources(int cursor_x, int cursor_y); - int do_plugins(int cursor_x, - int cursor_y, - int drag_start, - int button_press, - int &redraw, - int &rerender); - int do_transitions(int cursor_x, - int cursor_y, - int button_press, - int &new_cursor, - int &update_cursor); - void draw_cropped_line(int x1, - int y1, - int x2, - int y2, - int min_y, - int max_y); + int do_plugins(int cursor_x, int cursor_y, int drag_start, int button_press, + int &redraw, int &rerender); + int do_transitions(int cursor_x, int cursor_y, int button_press, + int &new_cursor, int &update_cursor); + void draw_cropped_line(int x1, int y1, int x2, int y2, int min_y, int max_y); int button_press_event(); int button_release_event(); int cursor_update(int in_motion); @@ -319,6 +294,7 @@ public: int64_t drop_plugin_position(PluginSet *plugin_set, Plugin *moved_plugin); void end_edithandle_selection(); void end_pluginhandle_selection(); + void end_transnhandle_selection(); // Number of seconds spanned by the trackcanvas double time_visible(); void update_drag_handle(); diff --git a/cinelerra-5.1/cinelerra/transitionpopup.C b/cinelerra-5.1/cinelerra/transitionpopup.C index 58a05e58..5922a881 100644 --- a/cinelerra-5.1/cinelerra/transitionpopup.C +++ b/cinelerra-5.1/cinelerra/transitionpopup.C @@ -111,14 +111,9 @@ int TransitionUnitsItem::handle_event() { TransitionUnitsPopup *units_popup = (TransitionUnitsPopup *)get_popup_menu(); TransitionLengthDialog *gui = units_popup->gui; - TransitionLengthText *length_text = gui->text; - EDLSession *session = gui->mwindow->edl->session; double length = gui->thread->new_length; - char text[BCSTRLEN]; units_popup->units = id; - Units::totext(text, length, units_popup->units, session->sample_rate, - session->frame_rate, session->frames_per_foot); - length_text->update(text); + gui->update_text(length); units_popup->set_text(get_text()); return 1; } @@ -181,6 +176,17 @@ int TransitionLengthDialog::close_event() return 1; } +void TransitionLengthDialog::update_text(double length) +{ + int units = units_popup->units; + EDLSession *session = mwindow->edl->session; + char string[BCSTRLEN]; + Units::totext(string, length, units, + session->sample_rate, session->frame_rate, + session->frames_per_foot); + text->update(string); +} + TransitionLengthText::TransitionLengthText(MWindow *mwindow, TransitionLengthDialog *gui, int x, int y) @@ -220,11 +226,7 @@ int TransitionLengthText::handle_up_down(int dir) break; } double length = gui->thread->new_length + delta * dir; - char text[BCSTRLEN]; - Units::totext(text, length, units, - session->sample_rate, session->frame_rate, - session->frames_per_foot); - update(text); + gui->update_text(length); return gui->thread->update(length); } diff --git a/cinelerra-5.1/cinelerra/transitionpopup.h b/cinelerra-5.1/cinelerra/transitionpopup.h index 67498a32..57792f9c 100644 --- a/cinelerra-5.1/cinelerra/transitionpopup.h +++ b/cinelerra-5.1/cinelerra/transitionpopup.h @@ -84,6 +84,7 @@ public: void create_objects(); int close_event(); + void update_text(double length); MWindow *mwindow; TransitionLengthThread *thread; diff --git a/cinelerra-5.1/plugins/histogram/debug b/cinelerra-5.1/plugins/histogram/debug deleted file mode 100644 index 5978e874..00000000 --- a/cinelerra-5.1/plugins/histogram/debug +++ /dev/null @@ -1,1111 +0,0 @@ -HistogramConfig::interpolate 150 0.220192 1.000000 0.800000 -TimeAvgMain::process_buffer 357 prev_frame=270 start_position=270 i=270 -HistogramConfig::interpolate 150 0.220642 1.000000 0.800131 -TimeAvgMain::process_buffer 357 prev_frame=271 start_position=271 i=271 -HistogramConfig::interpolate 150 0.221091 1.000000 0.800261 -TimeAvgMain::process_buffer 357 prev_frame=272 start_position=272 i=272 -HistogramConfig::interpolate 150 0.221541 1.000000 0.800392 -TimeAvgMain::process_buffer 357 prev_frame=273 start_position=273 i=273 -HistogramConfig::interpolate 150 0.221990 1.000000 0.800523 -TimeAvgMain::process_buffer 357 prev_frame=274 start_position=274 i=274 -HistogramConfig::interpolate 150 0.222440 1.000000 0.800654 -TimeAvgMain::process_buffer 357 prev_frame=275 start_position=275 i=275 -HistogramConfig::interpolate 150 0.222889 1.000000 0.800784 -TimeAvgMain::process_buffer 357 prev_frame=276 start_position=276 i=276 -HistogramConfig::interpolate 150 0.223338 1.000000 0.800915 -TimeAvgMain::process_buffer 357 prev_frame=277 start_position=277 i=277 -HistogramConfig::interpolate 150 0.223788 1.000000 0.801046 -TimeAvgMain::process_buffer 357 prev_frame=278 start_position=278 i=278 -HistogramConfig::interpolate 150 0.224237 1.000000 0.801177 -TimeAvgMain::process_buffer 357 prev_frame=279 start_position=279 i=279 -HistogramConfig::interpolate 150 0.224687 1.000000 0.801307 -TimeAvgMain::process_buffer 357 prev_frame=280 start_position=280 i=280 -HistogramConfig::interpolate 150 0.225136 1.000000 0.801438 -TimeAvgMain::process_buffer 357 prev_frame=281 start_position=281 i=281 -HistogramConfig::interpolate 150 0.225586 1.000000 0.801569 -TimeAvgMain::process_buffer 357 prev_frame=282 start_position=282 i=282 -HistogramConfig::interpolate 150 0.226035 1.000000 0.801700 -TimeAvgMain::process_buffer 357 prev_frame=283 start_position=283 i=283 -HistogramConfig::interpolate 150 0.226485 1.000000 0.801830 -TimeAvgMain::process_buffer 357 prev_frame=284 start_position=284 i=284 -HistogramConfig::interpolate 150 0.226934 1.000000 0.801961 -TimeAvgMain::process_buffer 357 prev_frame=285 start_position=285 i=285 -HistogramConfig::interpolate 150 0.227383 1.000000 0.802092 -TimeAvgMain::process_buffer 357 prev_frame=286 start_position=286 i=286 -HistogramConfig::interpolate 150 0.227833 1.000000 0.802223 -TimeAvgMain::process_buffer 357 prev_frame=287 start_position=287 i=287 -HistogramConfig::interpolate 150 0.228282 1.000000 0.802353 -TimeAvgMain::process_buffer 357 prev_frame=288 start_position=288 i=288 -HistogramConfig::interpolate 150 0.228732 1.000000 0.802484 -TimeAvgMain::process_buffer 357 prev_frame=289 start_position=289 i=289 -HistogramConfig::interpolate 150 0.229181 1.000000 0.802615 -TimeAvgMain::process_buffer 357 prev_frame=290 start_position=290 i=290 -HistogramConfig::interpolate 150 0.229631 1.000000 0.802746 -TimeAvgMain::process_buffer 357 prev_frame=291 start_position=291 i=291 -HistogramConfig::interpolate 150 0.230080 1.000000 0.802876 -TimeAvgMain::process_buffer 357 prev_frame=292 start_position=292 i=292 -HistogramConfig::interpolate 150 0.230530 1.000000 0.803007 -TimeAvgMain::process_buffer 357 prev_frame=293 start_position=293 i=293 -HistogramConfig::interpolate 150 0.230979 1.000000 0.803138 -TimeAvgMain::process_buffer 357 prev_frame=294 start_position=294 i=294 -HistogramConfig::interpolate 150 0.231428 1.000000 0.803269 -TimeAvgMain::process_buffer 357 prev_frame=295 start_position=295 i=295 -HistogramConfig::interpolate 150 0.231878 1.000000 0.803399 -TimeAvgMain::process_buffer 357 prev_frame=296 start_position=296 i=296 -HistogramConfig::interpolate 150 0.232327 1.000000 0.803530 -TimeAvgMain::process_buffer 357 prev_frame=297 start_position=297 i=297 -HistogramConfig::interpolate 150 0.232777 1.000000 0.803661 -TimeAvgMain::process_buffer 357 prev_frame=298 start_position=298 i=298 -HistogramConfig::interpolate 150 0.233226 1.000000 0.803792 -TimeAvgMain::process_buffer 357 prev_frame=299 start_position=299 i=299 -HistogramConfig::interpolate 150 0.233676 1.000000 0.803922 -TimeAvgMain::process_buffer 357 prev_frame=300 start_position=300 i=300 -HistogramConfig::interpolate 150 0.234125 1.000000 0.804053 -TimeAvgMain::process_buffer 357 prev_frame=301 start_position=301 i=301 -HistogramConfig::interpolate 150 0.234575 1.000000 0.804184 -TimeAvgMain::process_buffer 357 prev_frame=302 start_position=302 i=302 -HistogramConfig::interpolate 150 0.235024 1.000000 0.804315 -TimeAvgMain::process_buffer 357 prev_frame=303 start_position=303 i=303 -HistogramConfig::interpolate 150 0.235473 1.000000 0.804445 -TimeAvgMain::process_buffer 357 prev_frame=304 start_position=304 i=304 -HistogramConfig::interpolate 150 0.235923 1.000000 0.804576 -TimeAvgMain::process_buffer 357 prev_frame=305 start_position=305 i=305 -HistogramConfig::interpolate 150 0.236372 1.000000 0.804707 -TimeAvgMain::process_buffer 357 prev_frame=306 start_position=306 i=306 -HistogramConfig::interpolate 150 0.236822 1.000000 0.804838 -TimeAvgMain::process_buffer 357 prev_frame=307 start_position=307 i=307 -HistogramConfig::interpolate 150 0.237271 1.000000 0.804968 -TimeAvgMain::process_buffer 357 prev_frame=308 start_position=308 i=308 -HistogramConfig::interpolate 150 0.237721 1.000000 0.805099 -TimeAvgMain::process_buffer 357 prev_frame=309 start_position=309 i=309 -HistogramConfig::interpolate 150 0.238170 1.000000 0.805230 -TimeAvgMain::process_buffer 357 prev_frame=310 start_position=310 i=310 -HistogramConfig::interpolate 150 0.238620 1.000000 0.805361 -TimeAvgMain::process_buffer 357 prev_frame=311 start_position=311 i=311 -HistogramConfig::interpolate 150 0.239069 1.000000 0.805491 -TimeAvgMain::process_buffer 357 prev_frame=312 start_position=312 i=312 -HistogramConfig::interpolate 150 0.239518 1.000000 0.805622 -TimeAvgMain::process_buffer 357 prev_frame=313 start_position=313 i=313 -HistogramConfig::interpolate 150 0.239968 1.000000 0.805753 -TimeAvgMain::process_buffer 357 prev_frame=314 start_position=314 i=314 -HistogramConfig::interpolate 150 0.240417 1.000000 0.805884 -TimeAvgMain::process_buffer 357 prev_frame=315 start_position=315 i=315 -HistogramConfig::interpolate 150 0.240867 1.000000 0.806014 -TimeAvgMain::process_buffer 357 prev_frame=316 start_position=316 i=316 -HistogramConfig::interpolate 150 0.241316 1.000000 0.806145 -TimeAvgMain::process_buffer 357 prev_frame=317 start_position=317 i=317 -HistogramConfig::interpolate 150 0.241766 1.000000 0.806276 -TimeAvgMain::process_buffer 357 prev_frame=318 start_position=318 i=318 -HistogramConfig::interpolate 150 0.242215 1.000000 0.806407 -TimeAvgMain::process_buffer 357 prev_frame=319 start_position=319 i=319 -HistogramConfig::interpolate 150 0.242665 1.000000 0.806537 -TimeAvgMain::process_buffer 357 prev_frame=320 start_position=320 i=320 -HistogramConfig::interpolate 150 0.243114 1.000000 0.806668 -TimeAvgMain::process_buffer 357 prev_frame=321 start_position=321 i=321 -HistogramConfig::interpolate 150 0.243563 1.000000 0.806799 -TimeAvgMain::process_buffer 357 prev_frame=322 start_position=322 i=322 -HistogramConfig::interpolate 150 0.244013 1.000000 0.806930 -TimeAvgMain::process_buffer 357 prev_frame=323 start_position=323 i=323 -HistogramConfig::interpolate 150 0.244462 1.000000 0.807060 -TimeAvgMain::process_buffer 357 prev_frame=324 start_position=324 i=324 -HistogramConfig::interpolate 150 0.244912 1.000000 0.807191 -TimeAvgMain::process_buffer 357 prev_frame=325 start_position=325 i=325 -HistogramConfig::interpolate 150 0.245361 1.000000 0.807322 -TimeAvgMain::process_buffer 357 prev_frame=326 start_position=326 i=326 -HistogramConfig::interpolate 150 0.245811 1.000000 0.807453 -TimeAvgMain::process_buffer 357 prev_frame=327 start_position=327 i=327 -HistogramConfig::interpolate 150 0.246260 1.000000 0.807583 -TimeAvgMain::process_buffer 357 prev_frame=328 start_position=328 i=328 -HistogramConfig::interpolate 150 0.246710 1.000000 0.807714 -TimeAvgMain::process_buffer 357 prev_frame=329 start_position=329 i=329 -HistogramConfig::interpolate 150 0.247159 1.000000 0.807845 -TimeAvgMain::process_buffer 357 prev_frame=330 start_position=330 i=330 -HistogramConfig::interpolate 150 0.247608 1.000000 0.807976 -TimeAvgMain::process_buffer 357 prev_frame=331 start_position=331 i=331 -HistogramConfig::interpolate 150 0.248058 1.000000 0.808106 -TimeAvgMain::process_buffer 357 prev_frame=332 start_position=332 i=332 -HistogramConfig::interpolate 150 0.248507 1.000000 0.808237 -TimeAvgMain::process_buffer 357 prev_frame=333 start_position=333 i=333 -HistogramConfig::interpolate 150 0.248957 1.000000 0.808368 -TimeAvgMain::process_buffer 357 prev_frame=334 start_position=334 i=334 -HistogramConfig::interpolate 150 0.249406 1.000000 0.808499 -TimeAvgMain::process_buffer 357 prev_frame=335 start_position=335 i=335 -HistogramConfig::interpolate 150 0.249856 1.000000 0.808629 -TimeAvgMain::process_buffer 357 prev_frame=336 start_position=336 i=336 -HistogramConfig::interpolate 150 0.250305 1.000000 0.808760 -TimeAvgMain::process_buffer 357 prev_frame=337 start_position=337 i=337 -HistogramConfig::interpolate 150 0.250755 1.000000 0.808891 -TimeAvgMain::process_buffer 357 prev_frame=338 start_position=338 i=338 -HistogramConfig::interpolate 150 0.251204 1.000000 0.809022 -TimeAvgMain::process_buffer 357 prev_frame=339 start_position=339 i=339 -HistogramConfig::interpolate 150 0.251653 1.000000 0.809152 -TimeAvgMain::process_buffer 357 prev_frame=340 start_position=340 i=340 -HistogramConfig::interpolate 150 0.252103 1.000000 0.809283 -TimeAvgMain::process_buffer 357 prev_frame=341 start_position=341 i=341 -HistogramConfig::interpolate 150 0.252552 1.000000 0.809414 -TimeAvgMain::process_buffer 357 prev_frame=342 start_position=342 i=342 -HistogramConfig::interpolate 150 0.253002 1.000000 0.809545 -TimeAvgMain::process_buffer 357 prev_frame=343 start_position=343 i=343 -HistogramConfig::interpolate 150 0.253451 1.000000 0.809675 -TimeAvgMain::process_buffer 357 prev_frame=344 start_position=344 i=344 -HistogramConfig::interpolate 150 0.253901 1.000000 0.809806 -TimeAvgMain::process_buffer 357 prev_frame=345 start_position=345 i=345 -HistogramConfig::interpolate 150 0.254350 1.000000 0.809937 -TimeAvgMain::process_buffer 357 prev_frame=346 start_position=346 i=346 -HistogramConfig::interpolate 150 0.254800 1.000000 0.810068 -TimeAvgMain::process_buffer 357 prev_frame=347 start_position=347 i=347 -HistogramConfig::interpolate 150 0.255249 1.000000 0.810198 -TimeAvgMain::process_buffer 357 prev_frame=348 start_position=348 i=348 -HistogramConfig::interpolate 150 0.255698 1.000000 0.810329 -TimeAvgMain::process_buffer 357 prev_frame=349 start_position=349 i=349 -HistogramConfig::interpolate 150 0.256148 1.000000 0.810460 -TimeAvgMain::process_buffer 357 prev_frame=350 start_position=350 i=350 -HistogramConfig::interpolate 150 0.256597 1.000000 0.810591 -TimeAvgMain::process_buffer 357 prev_frame=351 start_position=351 i=351 -HistogramConfig::interpolate 150 0.257047 1.000000 0.810721 -TimeAvgMain::process_buffer 357 prev_frame=352 start_position=352 i=352 -HistogramConfig::interpolate 150 0.257496 1.000000 0.810852 -TimeAvgMain::process_buffer 357 prev_frame=353 start_position=353 i=353 -HistogramConfig::interpolate 150 0.257946 1.000000 0.810983 -TimeAvgMain::process_buffer 357 prev_frame=354 start_position=354 i=354 -HistogramConfig::interpolate 150 0.258395 1.000000 0.811114 -TimeAvgMain::process_buffer 357 prev_frame=355 start_position=355 i=355 -HistogramConfig::interpolate 150 0.258845 1.000000 0.811244 -TimeAvgMain::process_buffer 357 prev_frame=356 start_position=356 i=356 -HistogramConfig::interpolate 150 0.259294 1.000000 0.811375 -TimeAvgMain::process_buffer 357 prev_frame=357 start_position=357 i=357 -HistogramConfig::interpolate 150 0.259743 1.000000 0.811506 -TimeAvgMain::process_buffer 357 prev_frame=358 start_position=358 i=358 -HistogramConfig::interpolate 150 0.260193 1.000000 0.811637 -TimeAvgMain::process_buffer 357 prev_frame=359 start_position=359 i=359 -HistogramConfig::interpolate 150 0.260642 1.000000 0.811767 -TimeAvgMain::process_buffer 357 prev_frame=360 start_position=360 i=360 -HistogramConfig::interpolate 150 0.261092 1.000000 0.811898 -TimeAvgMain::process_buffer 357 prev_frame=361 start_position=361 i=361 -HistogramConfig::interpolate 150 0.261541 1.000000 0.812029 -TimeAvgMain::process_buffer 357 prev_frame=362 start_position=362 i=362 -HistogramConfig::interpolate 150 0.261991 1.000000 0.812160 -TimeAvgMain::process_buffer 357 prev_frame=363 start_position=363 i=363 -HistogramConfig::interpolate 150 0.262440 1.000000 0.812290 -TimeAvgMain::process_buffer 357 prev_frame=364 start_position=364 i=364 -HistogramConfig::interpolate 150 0.262890 1.000000 0.812421 -TimeAvgMain::process_buffer 357 prev_frame=365 start_position=365 i=365 -HistogramConfig::interpolate 150 0.263339 1.000000 0.812552 -TimeAvgMain::process_buffer 357 prev_frame=366 start_position=366 i=366 -HistogramConfig::interpolate 150 0.263788 1.000000 0.812683 -TimeAvgMain::process_buffer 357 prev_frame=367 start_position=367 i=367 -HistogramConfig::interpolate 150 0.264238 1.000000 0.812813 -TimeAvgMain::process_buffer 357 prev_frame=368 start_position=368 i=368 -HistogramConfig::interpolate 150 0.264687 1.000000 0.812944 -TimeAvgMain::process_buffer 357 prev_frame=369 start_position=369 i=369 -HistogramConfig::interpolate 150 0.265137 1.000000 0.813075 -TimeAvgMain::process_buffer 357 prev_frame=370 start_position=370 i=370 -HistogramConfig::interpolate 150 0.265586 1.000000 0.813206 -TimeAvgMain::process_buffer 357 prev_frame=371 start_position=371 i=371 -HistogramConfig::interpolate 150 0.266036 1.000000 0.813336 -TimeAvgMain::process_buffer 357 prev_frame=372 start_position=372 i=372 -HistogramConfig::interpolate 150 0.266485 1.000000 0.813467 -TimeAvgMain::process_buffer 357 prev_frame=373 start_position=373 i=373 -HistogramConfig::interpolate 150 0.266935 1.000000 0.813598 -TimeAvgMain::process_buffer 357 prev_frame=374 start_position=374 i=374 -HistogramConfig::interpolate 150 0.267384 1.000000 0.813729 -TimeAvgMain::process_buffer 357 prev_frame=375 start_position=375 i=375 -HistogramConfig::interpolate 150 0.267833 1.000000 0.813859 -TimeAvgMain::process_buffer 357 prev_frame=376 start_position=376 i=376 -HistogramConfig::interpolate 150 0.268283 1.000000 0.813990 -TimeAvgMain::process_buffer 357 prev_frame=377 start_position=377 i=377 -HistogramConfig::interpolate 150 0.268732 1.000000 0.814121 -TimeAvgMain::process_buffer 357 prev_frame=378 start_position=378 i=378 -HistogramConfig::interpolate 150 0.269182 1.000000 0.814251 -TimeAvgMain::process_buffer 357 prev_frame=379 start_position=379 i=379 -HistogramConfig::interpolate 150 0.269631 1.000000 0.814382 -TimeAvgMain::process_buffer 357 prev_frame=380 start_position=380 i=380 -HistogramConfig::interpolate 150 0.270081 1.000000 0.814513 -TimeAvgMain::process_buffer 357 prev_frame=381 start_position=381 i=381 -HistogramConfig::interpolate 150 0.270530 1.000000 0.814644 -TimeAvgMain::process_buffer 357 prev_frame=382 start_position=382 i=382 -HistogramConfig::interpolate 150 0.270980 1.000000 0.814775 -TimeAvgMain::process_buffer 357 prev_frame=383 start_position=383 i=383 -HistogramConfig::interpolate 150 0.271429 1.000000 0.814905 -TimeAvgMain::process_buffer 357 prev_frame=384 start_position=384 i=384 -HistogramConfig::interpolate 150 0.271878 1.000000 0.815036 -TimeAvgMain::process_buffer 357 prev_frame=385 start_position=385 i=385 -HistogramConfig::interpolate 150 0.272328 1.000000 0.815167 -TimeAvgMain::process_buffer 357 prev_frame=386 start_position=386 i=386 -HistogramConfig::interpolate 150 0.272777 1.000000 0.815297 -TimeAvgMain::process_buffer 357 prev_frame=387 start_position=387 i=387 -HistogramConfig::interpolate 150 0.273227 1.000000 0.815428 -TimeAvgMain::process_buffer 357 prev_frame=388 start_position=388 i=388 -HistogramConfig::interpolate 150 0.273676 1.000000 0.815559 -TimeAvgMain::process_buffer 357 prev_frame=389 start_position=389 i=389 -HistogramConfig::interpolate 150 0.274126 1.000000 0.815690 -TimeAvgMain::process_buffer 357 prev_frame=390 start_position=390 i=390 -HistogramConfig::interpolate 150 0.274575 1.000000 0.815820 -TimeAvgMain::process_buffer 357 prev_frame=391 start_position=391 i=391 -HistogramConfig::interpolate 150 0.275025 1.000000 0.815951 -TimeAvgMain::process_buffer 357 prev_frame=392 start_position=392 i=392 -HistogramConfig::interpolate 150 0.275474 1.000000 0.816082 -TimeAvgMain::process_buffer 357 prev_frame=393 start_position=393 i=393 -HistogramConfig::interpolate 150 0.275923 1.000000 0.816213 -TimeAvgMain::process_buffer 357 prev_frame=394 start_position=394 i=394 -HistogramConfig::interpolate 150 0.276373 1.000000 0.816343 -TimeAvgMain::process_buffer 357 prev_frame=395 start_position=395 i=395 -HistogramConfig::interpolate 150 0.276822 1.000000 0.816474 -TimeAvgMain::process_buffer 357 prev_frame=396 start_position=396 i=396 -HistogramConfig::interpolate 150 0.277272 1.000000 0.816605 -TimeAvgMain::process_buffer 357 prev_frame=397 start_position=397 i=397 -HistogramConfig::interpolate 150 0.277721 1.000000 0.816736 -TimeAvgMain::process_buffer 357 prev_frame=398 start_position=398 i=398 -HistogramConfig::interpolate 150 0.278171 1.000000 0.816866 -TimeAvgMain::process_buffer 357 prev_frame=399 start_position=399 i=399 -HistogramConfig::interpolate 150 0.278620 1.000000 0.816997 -TimeAvgMain::process_buffer 357 prev_frame=400 start_position=400 i=400 -HistogramConfig::interpolate 150 0.279070 1.000000 0.817128 -TimeAvgMain::process_buffer 357 prev_frame=401 start_position=401 i=401 -HistogramConfig::interpolate 150 0.279519 1.000000 0.817259 -TimeAvgMain::process_buffer 357 prev_frame=402 start_position=402 i=402 -HistogramConfig::interpolate 150 0.279968 1.000000 0.817389 -TimeAvgMain::process_buffer 357 prev_frame=403 start_position=403 i=403 -HistogramConfig::interpolate 150 0.280418 1.000000 0.817520 -TimeAvgMain::process_buffer 357 prev_frame=404 start_position=404 i=404 -HistogramConfig::interpolate 150 0.280867 1.000000 0.817651 -TimeAvgMain::process_buffer 357 prev_frame=405 start_position=405 i=405 -HistogramConfig::interpolate 150 0.281317 1.000000 0.817782 -TimeAvgMain::process_buffer 357 prev_frame=406 start_position=406 i=406 -HistogramConfig::interpolate 150 0.281766 1.000000 0.817912 -TimeAvgMain::process_buffer 357 prev_frame=407 start_position=407 i=407 -HistogramConfig::interpolate 150 0.282216 1.000000 0.818043 -TimeAvgMain::process_buffer 357 prev_frame=408 start_position=408 i=408 -HistogramConfig::interpolate 150 0.282665 1.000000 0.818174 -TimeAvgMain::process_buffer 357 prev_frame=409 start_position=409 i=409 -HistogramConfig::interpolate 150 0.283115 1.000000 0.818305 -TimeAvgMain::process_buffer 357 prev_frame=410 start_position=410 i=410 -HistogramConfig::interpolate 150 0.283564 1.000000 0.818435 -TimeAvgMain::process_buffer 357 prev_frame=411 start_position=411 i=411 -HistogramConfig::interpolate 150 0.284013 1.000000 0.818566 -TimeAvgMain::process_buffer 357 prev_frame=412 start_position=412 i=412 -HistogramConfig::interpolate 150 0.284463 1.000000 0.818697 -TimeAvgMain::process_buffer 357 prev_frame=413 start_position=413 i=413 -HistogramConfig::interpolate 150 0.284912 1.000000 0.818828 -TimeAvgMain::process_buffer 357 prev_frame=414 start_position=414 i=414 -HistogramConfig::interpolate 150 0.285362 1.000000 0.818958 -TimeAvgMain::process_buffer 357 prev_frame=415 start_position=415 i=415 -HistogramConfig::interpolate 150 0.285811 1.000000 0.819089 -TimeAvgMain::process_buffer 357 prev_frame=416 start_position=416 i=416 -HistogramConfig::interpolate 150 0.286261 1.000000 0.819220 -TimeAvgMain::process_buffer 357 prev_frame=417 start_position=417 i=417 -HistogramConfig::interpolate 150 0.286710 1.000000 0.819351 -TimeAvgMain::process_buffer 357 prev_frame=418 start_position=418 i=418 -HistogramConfig::interpolate 150 0.287160 1.000000 0.819481 -TimeAvgMain::process_buffer 357 prev_frame=419 start_position=419 i=419 -HistogramConfig::interpolate 150 0.287609 1.000000 0.819612 -TimeAvgMain::process_buffer 357 prev_frame=420 start_position=420 i=420 -HistogramConfig::interpolate 150 0.288058 1.000000 0.819743 -TimeAvgMain::process_buffer 357 prev_frame=421 start_position=421 i=421 -HistogramConfig::interpolate 150 0.288508 1.000000 0.819874 -TimeAvgMain::process_buffer 357 prev_frame=422 start_position=422 i=422 -HistogramConfig::interpolate 150 0.288957 1.000000 0.820004 -TimeAvgMain::process_buffer 357 prev_frame=423 start_position=423 i=423 -HistogramConfig::interpolate 150 0.289407 1.000000 0.820135 -TimeAvgMain::process_buffer 357 prev_frame=424 start_position=424 i=424 -HistogramConfig::interpolate 150 0.289856 1.000000 0.820266 -TimeAvgMain::process_buffer 357 prev_frame=425 start_position=425 i=425 -HistogramConfig::interpolate 150 0.290306 1.000000 0.820397 -TimeAvgMain::process_buffer 357 prev_frame=426 start_position=426 i=426 -HistogramConfig::interpolate 150 0.290755 1.000000 0.820527 -TimeAvgMain::process_buffer 357 prev_frame=427 start_position=427 i=427 -HistogramConfig::interpolate 150 0.291205 1.000000 0.820658 -TimeAvgMain::process_buffer 357 prev_frame=428 start_position=428 i=428 -HistogramConfig::interpolate 150 0.291654 1.000000 0.820789 -TimeAvgMain::process_buffer 357 prev_frame=429 start_position=429 i=429 -HistogramConfig::interpolate 150 0.292103 1.000000 0.820920 -TimeAvgMain::process_buffer 357 prev_frame=430 start_position=430 i=430 -HistogramConfig::interpolate 150 0.292553 1.000000 0.821050 -TimeAvgMain::process_buffer 357 prev_frame=431 start_position=431 i=431 -HistogramConfig::interpolate 150 0.293002 1.000000 0.821181 -TimeAvgMain::process_buffer 357 prev_frame=432 start_position=432 i=432 -HistogramConfig::interpolate 150 0.293452 1.000000 0.821312 -TimeAvgMain::process_buffer 357 prev_frame=433 start_position=433 i=433 -HistogramConfig::interpolate 150 0.293901 1.000000 0.821443 -TimeAvgMain::process_buffer 357 prev_frame=434 start_position=434 i=434 -HistogramConfig::interpolate 150 0.294351 1.000000 0.821573 -TimeAvgMain::process_buffer 357 prev_frame=435 start_position=435 i=435 -HistogramConfig::interpolate 150 0.294800 1.000000 0.821704 -TimeAvgMain::process_buffer 357 prev_frame=436 start_position=436 i=436 -HistogramConfig::interpolate 150 0.295250 1.000000 0.821835 -TimeAvgMain::process_buffer 357 prev_frame=437 start_position=437 i=437 -HistogramConfig::interpolate 150 0.295699 1.000000 0.821966 -TimeAvgMain::process_buffer 357 prev_frame=438 start_position=438 i=438 -HistogramConfig::interpolate 150 0.296148 1.000000 0.822096 -TimeAvgMain::process_buffer 357 prev_frame=439 start_position=439 i=439 -HistogramConfig::interpolate 150 0.296598 1.000000 0.822227 -TimeAvgMain::process_buffer 357 prev_frame=440 start_position=440 i=440 -HistogramConfig::interpolate 150 0.297047 1.000000 0.822358 -TimeAvgMain::process_buffer 357 prev_frame=441 start_position=441 i=441 -HistogramConfig::interpolate 150 0.297497 1.000000 0.822489 -TimeAvgMain::process_buffer 357 prev_frame=442 start_position=442 i=442 -HistogramConfig::interpolate 150 0.297946 1.000000 0.822619 -TimeAvgMain::process_buffer 357 prev_frame=443 start_position=443 i=443 -HistogramConfig::interpolate 150 0.298396 1.000000 0.822750 -TimeAvgMain::process_buffer 357 prev_frame=444 start_position=444 i=444 -HistogramConfig::interpolate 150 0.298845 1.000000 0.822881 -TimeAvgMain::process_buffer 357 prev_frame=445 start_position=445 i=445 -HistogramConfig::interpolate 150 0.299295 1.000000 0.823012 -TimeAvgMain::process_buffer 357 prev_frame=446 start_position=446 i=446 -HistogramConfig::interpolate 150 0.299744 1.000000 0.823142 -TimeAvgMain::process_buffer 357 prev_frame=447 start_position=447 i=447 -HistogramConfig::interpolate 150 0.300193 1.000000 0.823273 -TimeAvgMain::process_buffer 357 prev_frame=448 start_position=448 i=448 -HistogramConfig::interpolate 150 0.300643 1.000000 0.823404 -TimeAvgMain::process_buffer 357 prev_frame=449 start_position=449 i=449 -HistogramConfig::interpolate 150 0.301092 1.000000 0.823535 -TimeAvgMain::process_buffer 357 prev_frame=450 start_position=450 i=450 -HistogramConfig::interpolate 150 0.301542 1.000000 0.823665 -TimeAvgMain::process_buffer 357 prev_frame=451 start_position=451 i=451 -HistogramConfig::interpolate 150 0.301991 1.000000 0.823796 -TimeAvgMain::process_buffer 357 prev_frame=452 start_position=452 i=452 -HistogramConfig::interpolate 150 0.302441 1.000000 0.823927 -TimeAvgMain::process_buffer 357 prev_frame=453 start_position=453 i=453 -HistogramConfig::interpolate 150 0.302890 1.000000 0.824058 -TimeAvgMain::process_buffer 357 prev_frame=454 start_position=454 i=454 -HistogramConfig::interpolate 150 0.303340 1.000000 0.824188 -TimeAvgMain::process_buffer 357 prev_frame=455 start_position=455 i=455 -HistogramConfig::interpolate 150 0.303789 1.000000 0.824319 -TimeAvgMain::process_buffer 357 prev_frame=456 start_position=456 i=456 -HistogramConfig::interpolate 150 0.304238 1.000000 0.824450 -TimeAvgMain::process_buffer 357 prev_frame=457 start_position=457 i=457 -HistogramConfig::interpolate 150 0.304688 1.000000 0.824581 -TimeAvgMain::process_buffer 357 prev_frame=458 start_position=458 i=458 -HistogramConfig::interpolate 150 0.305137 1.000000 0.824711 -TimeAvgMain::process_buffer 357 prev_frame=459 start_position=459 i=459 -HistogramConfig::interpolate 150 0.305587 1.000000 0.824842 -TimeAvgMain::process_buffer 357 prev_frame=460 start_position=460 i=460 -HistogramConfig::interpolate 150 0.306036 1.000000 0.824973 -TimeAvgMain::process_buffer 357 prev_frame=461 start_position=461 i=461 -HistogramConfig::interpolate 150 0.306486 1.000000 0.825104 -TimeAvgMain::process_buffer 357 prev_frame=462 start_position=462 i=462 -HistogramConfig::interpolate 150 0.306935 1.000000 0.825234 -HistogramConfig::interpolate 150 0.324014 1.000000 0.830203 -TimeAvgMain::process_buffer 357 prev_frame=463 start_position=463 i=463 -HistogramConfig::interpolate 150 0.307385 1.000000 0.825365 -TimeAvgMain::process_buffer 357 prev_frame=464 start_position=464 i=464 -HistogramConfig::interpolate 150 0.307834 1.000000 0.825496 -TimeAvgMain::process_buffer 357 prev_frame=465 start_position=465 i=465 -TimeAvgMain::process_buffer 357 prev_frame=501 start_position=501 i=501 -HistogramConfig::interpolate 150 0.308283 1.000000 0.825627 -TimeAvgMain::process_buffer 357 prev_frame=466 start_position=466 i=466 -HistogramConfig::interpolate 150 0.308733 1.000000 0.825757 -TimeAvgMain::process_buffer 357 prev_frame=467 start_position=467 i=467 -HistogramConfig::interpolate 150 0.309182 1.000000 0.825888 -TimeAvgMain::process_buffer 357 prev_frame=468 start_position=468 i=468 -HistogramConfig::interpolate 150 0.309632 1.000000 0.826019 -TimeAvgMain::process_buffer 357 prev_frame=469 start_position=469 i=469 -HistogramConfig::interpolate 150 0.310081 1.000000 0.826150 -TimeAvgMain::process_buffer 357 prev_frame=470 start_position=470 i=470 -HistogramConfig::interpolate 150 0.310531 1.000000 0.826280 -TimeAvgMain::process_buffer 357 prev_frame=471 start_position=471 i=471 -HistogramConfig::interpolate 150 0.310980 1.000000 0.826411 -TimeAvgMain::process_buffer 357 prev_frame=472 start_position=472 i=472 -HistogramConfig::interpolate 150 0.311430 1.000000 0.826542 -TimeAvgMain::process_buffer 357 prev_frame=473 start_position=473 i=473 -HistogramConfig::interpolate 150 0.311879 1.000000 0.826672 -TimeAvgMain::process_buffer 357 prev_frame=474 start_position=474 i=474 -HistogramConfig::interpolate 150 0.312328 1.000000 0.826803 -TimeAvgMain::process_buffer 357 prev_frame=475 start_position=475 i=475 -HistogramConfig::interpolate 150 0.312778 1.000000 0.826934 -TimeAvgMain::process_buffer 357 prev_frame=476 start_position=476 i=476 -HistogramConfig::interpolate 150 0.313227 1.000000 0.827065 -TimeAvgMain::process_buffer 357 prev_frame=477 start_position=477 i=477 -HistogramConfig::interpolate 150 0.313677 1.000000 0.827196 -TimeAvgMain::process_buffer 357 prev_frame=478 start_position=478 i=478 -HistogramConfig::interpolate 150 0.314126 1.000000 0.827326 -TimeAvgMain::process_buffer 357 prev_frame=479 start_position=479 i=479 -HistogramConfig::interpolate 150 0.314576 1.000000 0.827457 -TimeAvgMain::process_buffer 357 prev_frame=480 start_position=480 i=480 -HistogramConfig::interpolate 150 0.315025 1.000000 0.827588 -TimeAvgMain::process_buffer 357 prev_frame=481 start_position=481 i=481 -HistogramConfig::interpolate 150 0.315475 1.000000 0.827718 -TimeAvgMain::process_buffer 357 prev_frame=482 start_position=482 i=482 -HistogramConfig::interpolate 150 0.315924 1.000000 0.827849 -TimeAvgMain::process_buffer 357 prev_frame=483 start_position=483 i=483 -HistogramConfig::interpolate 150 0.316373 1.000000 0.827980 -TimeAvgMain::process_buffer 357 prev_frame=484 start_position=484 i=484 -HistogramConfig::interpolate 150 0.316823 1.000000 0.828111 -TimeAvgMain::process_buffer 357 prev_frame=485 start_position=485 i=485 -HistogramConfig::interpolate 150 0.317272 1.000000 0.828241 -TimeAvgMain::process_buffer 357 prev_frame=486 start_position=486 i=486 -HistogramConfig::interpolate 150 0.317722 1.000000 0.828372 -TimeAvgMain::process_buffer 357 prev_frame=487 start_position=487 i=487 -HistogramConfig::interpolate 150 0.318171 1.000000 0.828503 -TimeAvgMain::process_buffer 357 prev_frame=488 start_position=488 i=488 -HistogramConfig::interpolate 150 0.318621 1.000000 0.828634 -TimeAvgMain::process_buffer 357 prev_frame=489 start_position=489 i=489 -HistogramConfig::interpolate 150 0.319070 1.000000 0.828764 -TimeAvgMain::process_buffer 357 prev_frame=490 start_position=490 i=490 -HistogramConfig::interpolate 150 0.319520 1.000000 0.828895 -TimeAvgMain::process_buffer 357 prev_frame=491 start_position=491 i=491 -HistogramConfig::interpolate 150 0.319969 1.000000 0.829026 -TimeAvgMain::process_buffer 357 prev_frame=492 start_position=492 i=492 -HistogramConfig::interpolate 150 0.320418 1.000000 0.829157 -TimeAvgMain::process_buffer 357 prev_frame=493 start_position=493 i=493 -HistogramConfig::interpolate 150 0.320868 1.000000 0.829287 -TimeAvgMain::process_buffer 357 prev_frame=494 start_position=494 i=494 -HistogramConfig::interpolate 150 0.321317 1.000000 0.829418 -TimeAvgMain::process_buffer 357 prev_frame=495 start_position=495 i=495 -HistogramConfig::interpolate 150 0.321767 1.000000 0.829549 -TimeAvgMain::process_buffer 357 prev_frame=496 start_position=496 i=496 -HistogramConfig::interpolate 150 0.322216 1.000000 0.829680 -TimeAvgMain::process_buffer 357 prev_frame=497 start_position=497 i=497 -HistogramConfig::interpolate 150 0.322666 1.000000 0.829810 -TimeAvgMain::process_buffer 357 prev_frame=498 start_position=498 i=498 -HistogramConfig::interpolate 150 0.323115 1.000000 0.829941 -TimeAvgMain::process_buffer 357 prev_frame=499 start_position=499 i=499 -HistogramConfig::interpolate 150 0.323565 1.000000 0.830072 -TimeAvgMain::process_buffer 357 prev_frame=500 start_position=500 i=500 -HistogramConfig::interpolate 150 0.324014 1.000000 0.830203 -TimeAvgMain::process_buffer 357 prev_frame=501 start_position=501 i=501 -HistogramConfig::interpolate 150 0.324463 1.000000 0.830333 -TimeAvgMain::process_buffer 357 prev_frame=502 start_position=502 i=502 -HistogramConfig::interpolate 150 0.324913 1.000000 0.830464 -TimeAvgMain::process_buffer 357 prev_frame=503 start_position=503 i=503 -HistogramConfig::interpolate 150 0.325362 1.000000 0.830595 -TimeAvgMain::process_buffer 357 prev_frame=504 start_position=504 i=504 -HistogramConfig::interpolate 150 0.325812 1.000000 0.830726 -TimeAvgMain::process_buffer 357 prev_frame=505 start_position=505 i=505 -HistogramConfig::interpolate 150 0.326261 1.000000 0.830856 -TimeAvgMain::process_buffer 357 prev_frame=506 start_position=506 i=506 -HistogramConfig::interpolate 150 0.326711 1.000000 0.830987 -TimeAvgMain::process_buffer 357 prev_frame=507 start_position=507 i=507 -HistogramConfig::interpolate 150 0.327160 1.000000 0.831118 -TimeAvgMain::process_buffer 357 prev_frame=508 start_position=508 i=508 -HistogramConfig::interpolate 150 0.327610 1.000000 0.831249 -TimeAvgMain::process_buffer 357 prev_frame=509 start_position=509 i=509 -HistogramConfig::interpolate 150 0.328059 1.000000 0.831379 -TimeAvgMain::process_buffer 357 prev_frame=510 start_position=510 i=510 -HistogramConfig::interpolate 150 0.328508 1.000000 0.831510 -TimeAvgMain::process_buffer 357 prev_frame=511 start_position=511 i=511 -HistogramConfig::interpolate 150 0.328958 1.000000 0.831641 -TimeAvgMain::process_buffer 357 prev_frame=512 start_position=512 i=512 -HistogramConfig::interpolate 150 0.329407 1.000000 0.831772 -TimeAvgMain::process_buffer 357 prev_frame=513 start_position=513 i=513 -HistogramConfig::interpolate 150 0.329857 1.000000 0.831902 -TimeAvgMain::process_buffer 357 prev_frame=514 start_position=514 i=514 -HistogramConfig::interpolate 150 0.330306 1.000000 0.832033 -TimeAvgMain::process_buffer 357 prev_frame=515 start_position=515 i=515 -HistogramConfig::interpolate 150 0.330756 1.000000 0.832164 -TimeAvgMain::process_buffer 357 prev_frame=516 start_position=516 i=516 -HistogramConfig::interpolate 150 0.331205 1.000000 0.832295 -TimeAvgMain::process_buffer 357 prev_frame=517 start_position=517 i=517 -HistogramConfig::interpolate 150 0.331655 1.000000 0.832425 -TimeAvgMain::process_buffer 357 prev_frame=518 start_position=518 i=518 -HistogramConfig::interpolate 150 0.332104 1.000000 0.832556 -TimeAvgMain::process_buffer 357 prev_frame=519 start_position=519 i=519 -HistogramConfig::interpolate 150 0.332553 1.000000 0.832687 -TimeAvgMain::process_buffer 357 prev_frame=520 start_position=520 i=520 -HistogramConfig::interpolate 150 0.333003 1.000000 0.832818 -TimeAvgMain::process_buffer 357 prev_frame=521 start_position=521 i=521 -HistogramConfig::interpolate 150 0.333452 1.000000 0.832948 -TimeAvgMain::process_buffer 357 prev_frame=522 start_position=522 i=522 -HistogramConfig::interpolate 150 0.333902 1.000000 0.833079 -TimeAvgMain::process_buffer 357 prev_frame=523 start_position=523 i=523 -HistogramConfig::interpolate 150 0.334351 1.000000 0.833210 -TimeAvgMain::process_buffer 357 prev_frame=524 start_position=524 i=524 -HistogramConfig::interpolate 150 0.334801 1.000000 0.833341 -TimeAvgMain::process_buffer 357 prev_frame=525 start_position=525 i=525 -HistogramConfig::interpolate 150 0.335250 1.000000 0.833471 -TimeAvgMain::process_buffer 357 prev_frame=526 start_position=526 i=526 -HistogramConfig::interpolate 150 0.335700 1.000000 0.833602 -TimeAvgMain::process_buffer 357 prev_frame=527 start_position=527 i=527 -HistogramConfig::interpolate 150 0.336149 1.000000 0.833733 -TimeAvgMain::process_buffer 357 prev_frame=528 start_position=528 i=528 -HistogramConfig::interpolate 150 0.336598 1.000000 0.833864 -TimeAvgMain::process_buffer 357 prev_frame=529 start_position=529 i=529 -HistogramConfig::interpolate 150 0.337048 1.000000 0.833994 -TimeAvgMain::process_buffer 357 prev_frame=530 start_position=530 i=530 -HistogramConfig::interpolate 150 0.337497 1.000000 0.834125 -TimeAvgMain::process_buffer 357 prev_frame=531 start_position=531 i=531 -HistogramConfig::interpolate 150 0.337947 1.000000 0.834256 -TimeAvgMain::process_buffer 357 prev_frame=532 start_position=532 i=532 -HistogramConfig::interpolate 150 0.338396 1.000000 0.834387 -TimeAvgMain::process_buffer 357 prev_frame=533 start_position=533 i=533 -HistogramConfig::interpolate 150 0.338846 1.000000 0.834517 -TimeAvgMain::process_buffer 357 prev_frame=534 start_position=534 i=534 -HistogramConfig::interpolate 150 0.339295 1.000000 0.834648 -TimeAvgMain::process_buffer 357 prev_frame=535 start_position=535 i=535 -HistogramConfig::interpolate 150 0.339745 1.000000 0.834779 -TimeAvgMain::process_buffer 357 prev_frame=536 start_position=536 i=536 -HistogramConfig::interpolate 150 0.340194 1.000000 0.834910 -TimeAvgMain::process_buffer 357 prev_frame=537 start_position=537 i=537 -HistogramConfig::interpolate 150 0.340643 1.000000 0.835040 -TimeAvgMain::process_buffer 357 prev_frame=538 start_position=538 i=538 -HistogramConfig::interpolate 150 0.341093 1.000000 0.835171 -TimeAvgMain::process_buffer 357 prev_frame=539 start_position=539 i=539 -HistogramConfig::interpolate 150 0.341542 1.000000 0.835302 -TimeAvgMain::process_buffer 357 prev_frame=540 start_position=540 i=540 -HistogramConfig::interpolate 150 0.341992 1.000000 0.835433 -TimeAvgMain::process_buffer 357 prev_frame=541 start_position=541 i=541 -HistogramConfig::interpolate 150 0.342441 1.000000 0.835563 -TimeAvgMain::process_buffer 357 prev_frame=542 start_position=542 i=542 -HistogramConfig::interpolate 150 0.342891 1.000000 0.835694 -TimeAvgMain::process_buffer 357 prev_frame=543 start_position=543 i=543 -HistogramConfig::interpolate 150 0.343340 1.000000 0.835825 -TimeAvgMain::process_buffer 357 prev_frame=544 start_position=544 i=544 -HistogramConfig::interpolate 150 0.343790 1.000000 0.835956 -TimeAvgMain::process_buffer 357 prev_frame=545 start_position=545 i=545 -HistogramConfig::interpolate 150 0.344239 1.000000 0.836086 -TimeAvgMain::process_buffer 357 prev_frame=546 start_position=546 i=546 -HistogramConfig::interpolate 150 0.344688 1.000000 0.836217 -TimeAvgMain::process_buffer 357 prev_frame=547 start_position=547 i=547 -HistogramConfig::interpolate 150 0.345138 1.000000 0.836348 -TimeAvgMain::process_buffer 357 prev_frame=548 start_position=548 i=548 -HistogramConfig::interpolate 150 0.345587 1.000000 0.836479 -TimeAvgMain::process_buffer 357 prev_frame=549 start_position=549 i=549 -HistogramConfig::interpolate 150 0.346037 1.000000 0.836609 -TimeAvgMain::process_buffer 357 prev_frame=550 start_position=550 i=550 -HistogramConfig::interpolate 150 0.346486 1.000000 0.836740 -TimeAvgMain::process_buffer 357 prev_frame=551 start_position=551 i=551 -HistogramConfig::interpolate 150 0.346936 1.000000 0.836871 -TimeAvgMain::process_buffer 357 prev_frame=552 start_position=552 i=552 -HistogramConfig::interpolate 150 0.347385 1.000000 0.837002 -TimeAvgMain::process_buffer 357 prev_frame=553 start_position=553 i=553 -HistogramConfig::interpolate 150 0.347835 1.000000 0.837132 -TimeAvgMain::process_buffer 357 prev_frame=554 start_position=554 i=554 -HistogramConfig::interpolate 150 0.348284 1.000000 0.837263 -TimeAvgMain::process_buffer 357 prev_frame=555 start_position=555 i=555 -HistogramConfig::interpolate 150 0.348733 1.000000 0.837394 -TimeAvgMain::process_buffer 357 prev_frame=556 start_position=556 i=556 -HistogramConfig::interpolate 150 0.349183 1.000000 0.837525 -TimeAvgMain::process_buffer 357 prev_frame=557 start_position=557 i=557 -HistogramConfig::interpolate 150 0.349632 1.000000 0.837655 -TimeAvgMain::process_buffer 357 prev_frame=558 start_position=558 i=558 -HistogramConfig::interpolate 150 0.350082 1.000000 0.837786 -TimeAvgMain::process_buffer 357 prev_frame=559 start_position=559 i=559 -HistogramConfig::interpolate 150 0.350531 1.000000 0.837917 -TimeAvgMain::process_buffer 357 prev_frame=560 start_position=560 i=560 -HistogramConfig::interpolate 150 0.350981 1.000000 0.838048 -TimeAvgMain::process_buffer 357 prev_frame=561 start_position=561 i=561 -HistogramConfig::interpolate 150 0.351430 1.000000 0.838178 -TimeAvgMain::process_buffer 357 prev_frame=562 start_position=562 i=562 -HistogramConfig::interpolate 150 0.351880 1.000000 0.838309 -TimeAvgMain::process_buffer 357 prev_frame=563 start_position=563 i=563 -HistogramConfig::interpolate 150 0.352329 1.000000 0.838440 -TimeAvgMain::process_buffer 357 prev_frame=564 start_position=564 i=564 -HistogramConfig::interpolate 150 0.352778 1.000000 0.838571 -TimeAvgMain::process_buffer 357 prev_frame=565 start_position=565 i=565 -HistogramConfig::interpolate 150 0.353228 1.000000 0.838701 -TimeAvgMain::process_buffer 357 prev_frame=566 start_position=566 i=566 -HistogramConfig::interpolate 150 0.353677 1.000000 0.838832 -TimeAvgMain::process_buffer 357 prev_frame=567 start_position=567 i=567 -HistogramConfig::interpolate 150 0.354127 1.000000 0.838963 -TimeAvgMain::process_buffer 357 prev_frame=568 start_position=568 i=568 -HistogramConfig::interpolate 150 0.354576 1.000000 0.839094 -TimeAvgMain::process_buffer 357 prev_frame=569 start_position=569 i=569 -HistogramConfig::interpolate 150 0.355026 1.000000 0.839224 -TimeAvgMain::process_buffer 357 prev_frame=570 start_position=570 i=570 -HistogramConfig::interpolate 150 0.355475 1.000000 0.839355 -TimeAvgMain::process_buffer 357 prev_frame=571 start_position=571 i=571 -HistogramConfig::interpolate 150 0.355925 1.000000 0.839486 -TimeAvgMain::process_buffer 357 prev_frame=572 start_position=572 i=572 -HistogramConfig::interpolate 150 0.356374 1.000000 0.839617 -TimeAvgMain::process_buffer 357 prev_frame=573 start_position=573 i=573 -HistogramConfig::interpolate 150 0.356823 1.000000 0.839747 -TimeAvgMain::process_buffer 357 prev_frame=574 start_position=574 i=574 -HistogramConfig::interpolate 150 0.357273 1.000000 0.839878 -TimeAvgMain::process_buffer 357 prev_frame=575 start_position=575 i=575 -HistogramConfig::interpolate 150 0.357722 1.000000 0.840009 -TimeAvgMain::process_buffer 357 prev_frame=576 start_position=576 i=576 -HistogramConfig::interpolate 150 0.358172 1.000000 0.840140 -TimeAvgMain::process_buffer 357 prev_frame=577 start_position=577 i=577 -HistogramConfig::interpolate 150 0.358621 1.000000 0.840270 -TimeAvgMain::process_buffer 357 prev_frame=578 start_position=578 i=578 -HistogramConfig::interpolate 150 0.359071 1.000000 0.840401 -TimeAvgMain::process_buffer 357 prev_frame=579 start_position=579 i=579 -HistogramConfig::interpolate 150 0.359520 1.000000 0.840532 -TimeAvgMain::process_buffer 357 prev_frame=580 start_position=580 i=580 -HistogramConfig::interpolate 150 0.359970 1.000000 0.840663 -TimeAvgMain::process_buffer 357 prev_frame=581 start_position=581 i=581 -HistogramConfig::interpolate 150 0.360419 1.000000 0.840793 -TimeAvgMain::process_buffer 357 prev_frame=582 start_position=582 i=582 -HistogramConfig::interpolate 150 0.360868 1.000000 0.840924 -TimeAvgMain::process_buffer 357 prev_frame=583 start_position=583 i=583 -HistogramConfig::interpolate 150 0.361318 1.000000 0.841055 -TimeAvgMain::process_buffer 357 prev_frame=584 start_position=584 i=584 -HistogramConfig::interpolate 150 0.361767 1.000000 0.841186 -TimeAvgMain::process_buffer 357 prev_frame=585 start_position=585 i=585 -HistogramConfig::interpolate 150 0.362217 1.000000 0.841316 -TimeAvgMain::process_buffer 357 prev_frame=586 start_position=586 i=586 -HistogramConfig::interpolate 150 0.362666 1.000000 0.841447 -TimeAvgMain::process_buffer 357 prev_frame=587 start_position=587 i=587 -HistogramConfig::interpolate 150 0.363116 1.000000 0.841578 -TimeAvgMain::process_buffer 357 prev_frame=588 start_position=588 i=588 -HistogramConfig::interpolate 150 0.363565 1.000000 0.841708 -TimeAvgMain::process_buffer 357 prev_frame=589 start_position=589 i=589 -HistogramConfig::interpolate 150 0.364015 1.000000 0.841839 -TimeAvgMain::process_buffer 357 prev_frame=590 start_position=590 i=590 -HistogramConfig::interpolate 150 0.364464 1.000000 0.841970 -TimeAvgMain::process_buffer 357 prev_frame=591 start_position=591 i=591 -HistogramConfig::interpolate 150 0.364913 1.000000 0.842101 -TimeAvgMain::process_buffer 357 prev_frame=592 start_position=592 i=592 -HistogramConfig::interpolate 150 0.365363 1.000000 0.842232 -TimeAvgMain::process_buffer 357 prev_frame=593 start_position=593 i=593 -HistogramConfig::interpolate 150 0.365812 1.000000 0.842362 -TimeAvgMain::process_buffer 357 prev_frame=594 start_position=594 i=594 -HistogramConfig::interpolate 150 0.366262 1.000000 0.842493 -TimeAvgMain::process_buffer 357 prev_frame=595 start_position=595 i=595 -HistogramConfig::interpolate 150 0.366711 1.000000 0.842624 -TimeAvgMain::process_buffer 357 prev_frame=596 start_position=596 i=596 -HistogramConfig::interpolate 150 0.367161 1.000000 0.842754 -TimeAvgMain::process_buffer 357 prev_frame=597 start_position=597 i=597 -HistogramConfig::interpolate 150 0.367610 1.000000 0.842885 -TimeAvgMain::process_buffer 357 prev_frame=598 start_position=598 i=598 -HistogramConfig::interpolate 150 0.368060 1.000000 0.843016 -TimeAvgMain::process_buffer 357 prev_frame=599 start_position=599 i=599 -HistogramConfig::interpolate 150 0.368509 1.000000 0.843147 -TimeAvgMain::process_buffer 357 prev_frame=600 start_position=600 i=600 -HistogramConfig::interpolate 150 0.368958 1.000000 0.843277 -TimeAvgMain::process_buffer 357 prev_frame=601 start_position=601 i=601 -HistogramConfig::interpolate 150 0.369408 1.000000 0.843408 -TimeAvgMain::process_buffer 357 prev_frame=602 start_position=602 i=602 -HistogramConfig::interpolate 150 0.369857 1.000000 0.843539 -TimeAvgMain::process_buffer 357 prev_frame=603 start_position=603 i=603 -HistogramConfig::interpolate 150 0.370307 1.000000 0.843670 -TimeAvgMain::process_buffer 357 prev_frame=604 start_position=604 i=604 -HistogramConfig::interpolate 150 0.370756 1.000000 0.843800 -TimeAvgMain::process_buffer 357 prev_frame=605 start_position=605 i=605 -HistogramConfig::interpolate 150 0.371206 1.000000 0.843931 -TimeAvgMain::process_buffer 357 prev_frame=606 start_position=606 i=606 -HistogramConfig::interpolate 150 0.371655 1.000000 0.844062 -TimeAvgMain::process_buffer 357 prev_frame=607 start_position=607 i=607 -HistogramConfig::interpolate 150 0.372105 1.000000 0.844193 -TimeAvgMain::process_buffer 357 prev_frame=608 start_position=608 i=608 -HistogramConfig::interpolate 150 0.372554 1.000000 0.844323 -TimeAvgMain::process_buffer 357 prev_frame=609 start_position=609 i=609 -HistogramConfig::interpolate 150 0.373003 1.000000 0.844454 -TimeAvgMain::process_buffer 357 prev_frame=610 start_position=610 i=610 -HistogramConfig::interpolate 150 0.373453 1.000000 0.844585 -TimeAvgMain::process_buffer 357 prev_frame=611 start_position=611 i=611 -HistogramConfig::interpolate 150 0.373902 1.000000 0.844716 -TimeAvgMain::process_buffer 357 prev_frame=612 start_position=612 i=612 -HistogramConfig::interpolate 150 0.374352 1.000000 0.844846 -TimeAvgMain::process_buffer 357 prev_frame=613 start_position=613 i=613 -HistogramConfig::interpolate 150 0.374801 1.000000 0.844977 -TimeAvgMain::process_buffer 357 prev_frame=614 start_position=614 i=614 -HistogramConfig::interpolate 150 0.375251 1.000000 0.845108 -TimeAvgMain::process_buffer 357 prev_frame=615 start_position=615 i=615 -HistogramConfig::interpolate 150 0.375700 1.000000 0.845239 -TimeAvgMain::process_buffer 357 prev_frame=616 start_position=616 i=616 -HistogramConfig::interpolate 150 0.376150 1.000000 0.845369 -TimeAvgMain::process_buffer 357 prev_frame=617 start_position=617 i=617 -HistogramConfig::interpolate 150 0.376599 1.000000 0.845500 -TimeAvgMain::process_buffer 357 prev_frame=618 start_position=618 i=618 -HistogramConfig::interpolate 150 0.377048 1.000000 0.845631 -TimeAvgMain::process_buffer 357 prev_frame=619 start_position=619 i=619 -HistogramConfig::interpolate 150 0.377498 1.000000 0.845762 -TimeAvgMain::process_buffer 357 prev_frame=620 start_position=620 i=620 -HistogramConfig::interpolate 150 0.377947 1.000000 0.845892 -TimeAvgMain::process_buffer 357 prev_frame=621 start_position=621 i=621 -HistogramConfig::interpolate 150 0.378397 1.000000 0.846023 -TimeAvgMain::process_buffer 357 prev_frame=622 start_position=622 i=622 -HistogramConfig::interpolate 150 0.378846 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=623 start_position=623 i=623 -HistogramConfig::interpolate 150 0.378891 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=624 start_position=624 i=624 -HistogramConfig::interpolate 150 0.378935 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=625 start_position=625 i=625 -HistogramConfig::interpolate 150 0.378980 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=626 start_position=626 i=626 -HistogramConfig::interpolate 150 0.379025 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=627 start_position=627 i=627 -HistogramConfig::interpolate 150 0.379069 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=628 start_position=628 i=628 -HistogramConfig::interpolate 150 0.379114 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=629 start_position=629 i=629 -HistogramConfig::interpolate 150 0.379159 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=630 start_position=630 i=630 -HistogramConfig::interpolate 150 0.379203 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=631 start_position=631 i=631 -HistogramConfig::interpolate 150 0.379248 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=632 start_position=632 i=632 -HistogramConfig::interpolate 150 0.379292 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=633 start_position=633 i=633 -HistogramConfig::interpolate 150 0.379337 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=634 start_position=634 i=634 -HistogramConfig::interpolate 150 0.379382 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=635 start_position=635 i=635 -HistogramConfig::interpolate 150 0.379426 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=636 start_position=636 i=636 -HistogramConfig::interpolate 150 0.379471 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=637 start_position=637 i=637 -HistogramConfig::interpolate 150 0.379516 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=638 start_position=638 i=638 -HistogramConfig::interpolate 150 0.379560 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=639 start_position=639 i=639 -HistogramConfig::interpolate 150 0.379605 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=640 start_position=640 i=640 -HistogramConfig::interpolate 150 0.379650 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=641 start_position=641 i=641 -HistogramConfig::interpolate 150 0.379694 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=642 start_position=642 i=642 -HistogramConfig::interpolate 150 0.379739 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=643 start_position=643 i=643 -HistogramConfig::interpolate 150 0.379783 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=644 start_position=644 i=644 -HistogramConfig::interpolate 150 0.379828 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=645 start_position=645 i=645 -HistogramConfig::interpolate 150 0.379873 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=646 start_position=646 i=646 -HistogramConfig::interpolate 150 0.379917 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=647 start_position=647 i=647 -HistogramConfig::interpolate 150 0.379962 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=648 start_position=648 i=648 -HistogramConfig::interpolate 150 0.380007 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=649 start_position=649 i=649 -HistogramConfig::interpolate 150 0.380051 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=650 start_position=650 i=650 -HistogramConfig::interpolate 150 0.380096 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=651 start_position=651 i=651 -HistogramConfig::interpolate 150 0.380140 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=652 start_position=652 i=652 -HistogramConfig::interpolate 150 0.380185 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=653 start_position=653 i=653 -HistogramConfig::interpolate 150 0.380230 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=654 start_position=654 i=654 -HistogramConfig::interpolate 150 0.380274 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=655 start_position=655 i=655 -HistogramConfig::interpolate 150 0.380319 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=656 start_position=656 i=656 -HistogramConfig::interpolate 150 0.380364 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=657 start_position=657 i=657 -HistogramConfig::interpolate 150 0.380408 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=658 start_position=658 i=658 -HistogramConfig::interpolate 150 0.380453 1.000000 0.846154 -TimeAvgMain::process_buffer 357 prev_frame=659 start_position=659 i=659 -Render::render_single: Session finished. -HistogramConfig::interpolate 150 0.220192 1.000000 0.800000 -TimeAvgMain::process_buffer 357 prev_frame=270 start_position=270 i=270 -HistogramConfig::interpolate 150 0.220642 1.000000 0.800131 -TimeAvgMain::process_buffer 357 prev_frame=271 start_position=271 i=271 -HistogramConfig::interpolate 150 0.221091 1.000000 0.800261 -TimeAvgMain::process_buffer 357 prev_frame=272 start_position=272 i=272 -HistogramConfig::interpolate 150 0.221541 1.000000 0.800392 -TimeAvgMain::process_buffer 357 prev_frame=273 start_position=273 i=273 -HistogramConfig::interpolate 150 0.221990 1.000000 0.800523 -TimeAvgMain::process_buffer 357 prev_frame=274 start_position=274 i=274 -HistogramConfig::interpolate 150 0.222440 1.000000 0.800654 -TimeAvgMain::process_buffer 357 prev_frame=275 start_position=275 i=275 -HistogramConfig::interpolate 150 0.222889 1.000000 0.800784 -TimeAvgMain::process_buffer 357 prev_frame=276 start_position=276 i=276 -HistogramConfig::interpolate 150 0.223338 1.000000 0.800915 -TimeAvgMain::process_buffer 357 prev_frame=277 start_position=277 i=277 -HistogramConfig::interpolate 150 0.223788 1.000000 0.801046 -TimeAvgMain::process_buffer 357 prev_frame=278 start_position=278 i=278 -HistogramConfig::interpolate 150 0.224237 1.000000 0.801177 -TimeAvgMain::process_buffer 357 prev_frame=279 start_position=279 i=279 -HistogramConfig::interpolate 150 0.224687 1.000000 0.801307 -TimeAvgMain::process_buffer 357 prev_frame=280 start_position=280 i=280 -HistogramConfig::interpolate 150 0.225136 1.000000 0.801438 -TimeAvgMain::process_buffer 357 prev_frame=281 start_position=281 i=281 -HistogramConfig::interpolate 150 0.225586 1.000000 0.801569 -TimeAvgMain::process_buffer 357 prev_frame=282 start_position=282 i=282 -HistogramConfig::interpolate 150 0.226035 1.000000 0.801700 -TimeAvgMain::process_buffer 357 prev_frame=283 start_position=283 i=283 -HistogramConfig::interpolate 150 0.226485 1.000000 0.801830 -TimeAvgMain::process_buffer 357 prev_frame=284 start_position=284 i=284 -HistogramConfig::interpolate 150 0.226934 1.000000 0.801961 -TimeAvgMain::process_buffer 357 prev_frame=285 start_position=285 i=285 -HistogramConfig::interpolate 150 0.227383 1.000000 0.802092 -TimeAvgMain::process_buffer 357 prev_frame=286 start_position=286 i=286 -HistogramConfig::interpolate 150 0.227833 1.000000 0.802223 -TimeAvgMain::process_buffer 357 prev_frame=287 start_position=287 i=287 -HistogramConfig::interpolate 150 0.228282 1.000000 0.802353 -TimeAvgMain::process_buffer 357 prev_frame=288 start_position=288 i=288 -HistogramConfig::interpolate 150 0.228732 1.000000 0.802484 -TimeAvgMain::process_buffer 357 prev_frame=289 start_position=289 i=289 -HistogramConfig::interpolate 150 0.229181 1.000000 0.802615 -TimeAvgMain::process_buffer 357 prev_frame=290 start_position=290 i=290 -HistogramConfig::interpolate 150 0.229631 1.000000 0.802746 -TimeAvgMain::process_buffer 357 prev_frame=291 start_position=291 i=291 -HistogramConfig::interpolate 150 0.230080 1.000000 0.802876 -TimeAvgMain::process_buffer 357 prev_frame=292 start_position=292 i=292 -HistogramConfig::interpolate 150 0.230530 1.000000 0.803007 -TimeAvgMain::process_buffer 357 prev_frame=293 start_position=293 i=293 -HistogramConfig::interpolate 150 0.230979 1.000000 0.803138 -TimeAvgMain::process_buffer 357 prev_frame=294 start_position=294 i=294 -HistogramConfig::interpolate 150 0.231428 1.000000 0.803269 -TimeAvgMain::process_buffer 357 prev_frame=295 start_position=295 i=295 -HistogramConfig::interpolate 150 0.231878 1.000000 0.803399 -TimeAvgMain::process_buffer 357 prev_frame=296 start_position=296 i=296 -HistogramConfig::interpolate 150 0.232327 1.000000 0.803530 -TimeAvgMain::process_buffer 357 prev_frame=297 start_position=297 i=297 -HistogramConfig::interpolate 150 0.232777 1.000000 0.803661 -TimeAvgMain::process_buffer 357 prev_frame=298 start_position=298 i=298 -HistogramConfig::interpolate 150 0.233226 1.000000 0.803792 -TimeAvgMain::process_buffer 357 prev_frame=299 start_position=299 i=299 -HistogramConfig::interpolate 150 0.233676 1.000000 0.803922 -TimeAvgMain::process_buffer 357 prev_frame=300 start_position=300 i=300 -HistogramConfig::interpolate 150 0.234125 1.000000 0.804053 -TimeAvgMain::process_buffer 357 prev_frame=301 start_position=301 i=301 -HistogramConfig::interpolate 150 0.234575 1.000000 0.804184 -TimeAvgMain::process_buffer 357 prev_frame=302 start_position=302 i=302 -HistogramConfig::interpolate 150 0.235024 1.000000 0.804315 -TimeAvgMain::process_buffer 357 prev_frame=303 start_position=303 i=303 -HistogramConfig::interpolate 150 0.235473 1.000000 0.804445 -TimeAvgMain::process_buffer 357 prev_frame=304 start_position=304 i=304 -HistogramConfig::interpolate 150 0.235923 1.000000 0.804576 -TimeAvgMain::process_buffer 357 prev_frame=305 start_position=305 i=305 -HistogramConfig::interpolate 150 0.236372 1.000000 0.804707 -TimeAvgMain::process_buffer 357 prev_frame=306 start_position=306 i=306 -HistogramConfig::interpolate 150 0.236822 1.000000 0.804838 -TimeAvgMain::process_buffer 357 prev_frame=307 start_position=307 i=307 -HistogramConfig::interpolate 150 0.237271 1.000000 0.804968 -TimeAvgMain::process_buffer 357 prev_frame=308 start_position=308 i=308 -HistogramConfig::interpolate 150 0.237721 1.000000 0.805099 -TimeAvgMain::process_buffer 357 prev_frame=309 start_position=309 i=309 -HistogramConfig::interpolate 150 0.238170 1.000000 0.805230 -TimeAvgMain::process_buffer 357 prev_frame=310 start_position=310 i=310 -HistogramConfig::interpolate 150 0.238620 1.000000 0.805361 -TimeAvgMain::process_buffer 357 prev_frame=311 start_position=311 i=311 -HistogramConfig::interpolate 150 0.239069 1.000000 0.805491 -TimeAvgMain::process_buffer 357 prev_frame=312 start_position=312 i=312 -HistogramConfig::interpolate 150 0.239518 1.000000 0.805622 -TimeAvgMain::process_buffer 357 prev_frame=313 start_position=313 i=313 -HistogramConfig::interpolate 150 0.239968 1.000000 0.805753 -TimeAvgMain::process_buffer 357 prev_frame=314 start_position=314 i=314 -HistogramConfig::interpolate 150 0.240417 1.000000 0.805884 -TimeAvgMain::process_buffer 357 prev_frame=315 start_position=315 i=315 -HistogramConfig::interpolate 150 0.240867 1.000000 0.806014 -TimeAvgMain::process_buffer 357 prev_frame=316 start_position=316 i=316 -HistogramConfig::interpolate 150 0.241316 1.000000 0.806145 -TimeAvgMain::process_buffer 357 prev_frame=317 start_position=317 i=317 -HistogramConfig::interpolate 150 0.241766 1.000000 0.806276 -TimeAvgMain::process_buffer 357 prev_frame=318 start_position=318 i=318 -HistogramConfig::interpolate 150 0.242215 1.000000 0.806407 -TimeAvgMain::process_buffer 357 prev_frame=319 start_position=319 i=319 -HistogramConfig::interpolate 150 0.242665 1.000000 0.806537 -TimeAvgMain::process_buffer 357 prev_frame=320 start_position=320 i=320 -HistogramConfig::interpolate 150 0.243114 1.000000 0.806668 -TimeAvgMain::process_buffer 357 prev_frame=321 start_position=321 i=321 -HistogramConfig::interpolate 150 0.243563 1.000000 0.806799 -TimeAvgMain::process_buffer 357 prev_frame=322 start_position=322 i=322 -HistogramConfig::interpolate 150 0.244013 1.000000 0.806930 -TimeAvgMain::process_buffer 357 prev_frame=323 start_position=323 i=323 -HistogramConfig::interpolate 150 0.244462 1.000000 0.807060 -TimeAvgMain::process_buffer 357 prev_frame=324 start_position=324 i=324 -HistogramConfig::interpolate 150 0.244912 1.000000 0.807191 -TimeAvgMain::process_buffer 357 prev_frame=325 start_position=325 i=325 -HistogramConfig::interpolate 150 0.245361 1.000000 0.807322 -TimeAvgMain::process_buffer 357 prev_frame=326 start_position=326 i=326 -HistogramConfig::interpolate 150 0.245811 1.000000 0.807453 -TimeAvgMain::process_buffer 357 prev_frame=327 start_position=327 i=327 -HistogramConfig::interpolate 150 0.246260 1.000000 0.807583 -TimeAvgMain::process_buffer 357 prev_frame=328 start_position=328 i=328 -HistogramConfig::interpolate 150 0.246710 1.000000 0.807714 -TimeAvgMain::process_buffer 357 prev_frame=329 start_position=329 i=329 -HistogramConfig::interpolate 150 0.247159 1.000000 0.807845 -TimeAvgMain::process_buffer 357 prev_frame=330 start_position=330 i=330 -HistogramConfig::interpolate 150 0.247608 1.000000 0.807976 -TimeAvgMain::process_buffer 357 prev_frame=331 start_position=331 i=331 -HistogramConfig::interpolate 150 0.248058 1.000000 0.808106 -TimeAvgMain::process_buffer 357 prev_frame=332 start_position=332 i=332 -HistogramConfig::interpolate 150 0.248507 1.000000 0.808237 -TimeAvgMain::process_buffer 357 prev_frame=333 start_position=333 i=333 -HistogramConfig::interpolate 150 0.248957 1.000000 0.808368 -TimeAvgMain::process_buffer 357 prev_frame=334 start_position=334 i=334 -HistogramConfig::interpolate 150 0.249406 1.000000 0.808499 -TimeAvgMain::process_buffer 357 prev_frame=335 start_position=335 i=335 -HistogramConfig::interpolate 150 0.249856 1.000000 0.808629 -TimeAvgMain::process_buffer 357 prev_frame=336 start_position=336 i=336 -HistogramConfig::interpolate 150 0.250305 1.000000 0.808760 -TimeAvgMain::process_buffer 357 prev_frame=337 start_position=337 i=337 -HistogramConfig::interpolate 150 0.250755 1.000000 0.808891 -TimeAvgMain::process_buffer 357 prev_frame=338 start_position=338 i=338 -HistogramConfig::interpolate 150 0.251204 1.000000 0.809022 -TimeAvgMain::process_buffer 357 prev_frame=339 start_position=339 i=339 -HistogramConfig::interpolate 150 0.251653 1.000000 0.809152 -TimeAvgMain::process_buffer 357 prev_frame=340 start_position=340 i=340 -HistogramConfig::interpolate 150 0.252103 1.000000 0.809283 -TimeAvgMain::process_buffer 357 prev_frame=341 start_position=341 i=341 -HistogramConfig::interpolate 150 0.252552 1.000000 0.809414 -TimeAvgMain::process_buffer 357 prev_frame=342 start_position=342 i=342 -HistogramConfig::interpolate 150 0.253002 1.000000 0.809545 -TimeAvgMain::process_buffer 357 prev_frame=343 start_position=343 i=343 -HistogramConfig::interpolate 150 0.253451 1.000000 0.809675 -TimeAvgMain::process_buffer 357 prev_frame=344 start_position=344 i=344 -HistogramConfig::interpolate 150 0.253901 1.000000 0.809806 -TimeAvgMain::process_buffer 357 prev_frame=345 start_position=345 i=345 -HistogramConfig::interpolate 150 0.254350 1.000000 0.809937 -TimeAvgMain::process_buffer 357 prev_frame=346 start_position=346 i=346 -HistogramConfig::interpolate 150 0.254800 1.000000 0.810068 -TimeAvgMain::process_buffer 357 prev_frame=347 start_position=347 i=347 -HistogramConfig::interpolate 150 0.255249 1.000000 0.810198 -TimeAvgMain::process_buffer 357 prev_frame=348 start_position=348 i=348 -HistogramConfig::interpolate 150 0.255698 1.000000 0.810329 -TimeAvgMain::process_buffer 357 prev_frame=349 start_position=349 i=349 -HistogramConfig::interpolate 150 0.256148 1.000000 0.810460 -TimeAvgMain::process_buffer 357 prev_frame=350 start_position=350 i=350 -HistogramConfig::interpolate 150 0.256597 1.000000 0.810591 -TimeAvgMain::process_buffer 357 prev_frame=351 start_position=351 i=351 -HistogramConfig::interpolate 150 0.257047 1.000000 0.810721 -TimeAvgMain::process_buffer 357 prev_frame=352 start_position=352 i=352 -HistogramConfig::interpolate 150 0.257496 1.000000 0.810852 -TimeAvgMain::process_buffer 357 prev_frame=353 start_position=353 i=353 -HistogramConfig::interpolate 150 0.257946 1.000000 0.810983 -TimeAvgMain::process_buffer 357 prev_frame=354 start_position=354 i=354 -HistogramConfig::interpolate 150 0.258395 1.000000 0.811114 -TimeAvgMain::process_buffer 357 prev_frame=355 start_position=355 i=355 -HistogramConfig::interpolate 150 0.258845 1.000000 0.811244 -TimeAvgMain::process_buffer 357 prev_frame=356 start_position=356 i=356 -HistogramConfig::interpolate 150 0.259294 1.000000 0.811375 -TimeAvgMain::process_buffer 357 prev_frame=357 start_position=357 i=357 -HistogramConfig::interpolate 150 0.259743 1.000000 0.811506 -TimeAvgMain::process_buffer 357 prev_frame=358 start_position=358 i=358 -HistogramConfig::interpolate 150 0.260193 1.000000 0.811637 -TimeAvgMain::process_buffer 357 prev_frame=359 start_position=359 i=359 -HistogramConfig::interpolate 150 0.260642 1.000000 0.811767 -TimeAvgMain::process_buffer 357 prev_frame=360 start_position=360 i=360 -HistogramConfig::interpolate 150 0.261092 1.000000 0.811898 -TimeAvgMain::process_buffer 357 prev_frame=361 start_position=361 i=361 -HistogramConfig::interpolate 150 0.261541 1.000000 0.812029 -TimeAvgMain::process_buffer 357 prev_frame=362 start_position=362 i=362 -HistogramConfig::interpolate 150 0.261991 1.000000 0.812160 -TimeAvgMain::process_buffer 357 prev_frame=363 start_position=363 i=363 -HistogramConfig::interpolate 150 0.262440 1.000000 0.812290 -TimeAvgMain::process_buffer 357 prev_frame=364 start_position=364 i=364 -HistogramConfig::interpolate 150 0.262890 1.000000 0.812421 -TimeAvgMain::process_buffer 357 prev_frame=365 start_position=365 i=365 -HistogramConfig::interpolate 150 0.263339 1.000000 0.812552 -TimeAvgMain::process_buffer 357 prev_frame=366 start_position=366 i=366 -HistogramConfig::interpolate 150 0.263788 1.000000 0.812683 -TimeAvgMain::process_buffer 357 prev_frame=367 start_position=367 i=367 -HistogramConfig::interpolate 150 0.264238 1.000000 0.812813 -TimeAvgMain::process_buffer 357 prev_frame=368 start_position=368 i=368 -HistogramConfig::interpolate 150 0.264687 1.000000 0.812944 -TimeAvgMain::process_buffer 357 prev_frame=369 start_position=369 i=369 -HistogramConfig::interpolate 150 0.265137 1.000000 0.813075 -TimeAvgMain::process_buffer 357 prev_frame=370 start_position=370 i=370 -HistogramConfig::interpolate 150 0.265586 1.000000 0.813206 -TimeAvgMain::process_buffer 357 prev_frame=371 start_position=371 i=371 -HistogramConfig::interpolate 150 0.266036 1.000000 0.813336 -TimeAvgMain::process_buffer 357 prev_frame=372 start_position=372 i=372 -HistogramConfig::interpolate 150 0.266485 1.000000 0.813467 -TimeAvgMain::process_buffer 357 prev_frame=373 start_position=373 i=373 -HistogramConfig::interpolate 150 0.266935 1.000000 0.813598 -TimeAvgMain::process_buffer 357 prev_frame=374 start_position=374 i=374 -HistogramConfig::interpolate 150 0.267384 1.000000 0.813729 -TimeAvgMain::process_buffer 357 prev_frame=375 start_position=375 i=375 -HistogramConfig::interpolate 150 0.267833 1.000000 0.813859 -TimeAvgMain::process_buffer 357 prev_frame=376 start_position=376 i=376 -HistogramConfig::interpolate 150 0.268283 1.000000 0.813990 -TimeAvgMain::process_buffer 357 prev_frame=377 start_position=377 i=377 -HistogramConfig::interpolate 150 0.268732 1.000000 0.814121 -TimeAvgMain::process_buffer 357 prev_frame=378 start_position=378 i=378 -HistogramConfig::interpolate 150 0.269182 1.000000 0.814251 -TimeAvgMain::process_buffer 357 prev_frame=379 start_position=379 i=379 -HistogramConfig::interpolate 150 0.269631 1.000000 0.814382 -TimeAvgMain::process_buffer 357 prev_frame=380 start_position=380 i=380 -HistogramConfig::interpolate 150 0.270081 1.000000 0.814513 -TimeAvgMain::process_buffer 357 prev_frame=381 start_position=381 i=381 -HistogramConfig::interpolate 150 0.270530 1.000000 0.814644 -TimeAvgMain::process_buffer 357 prev_frame=382 start_position=382 i=382 -HistogramConfig::interpolate 150 0.270980 1.000000 0.814775 -TimeAvgMain::process_buffer 357 prev_frame=383 start_position=383 i=383 -HistogramConfig::interpolate 150 0.271429 1.000000 0.814905 -TimeAvgMain::process_buffer 357 prev_frame=384 start_position=384 i=384 -HistogramConfig::interpolate 150 0.271878 1.000000 0.815036 -TimeAvgMain::process_buffer 357 prev_frame=385 start_position=385 i=385 -HistogramConfig::interpolate 150 0.272328 1.000000 0.815167 -TimeAvgMain::process_buffer 357 prev_frame=386 start_position=386 i=386 -HistogramConfig::interpolate 150 0.272777 1.000000 0.815297 -TimeAvgMain::process_buffer 357 prev_frame=387 start_position=387 i=387 -HistogramConfig::interpolate 150 0.273227 1.000000 0.815428 -TimeAvgMain::process_buffer 357 prev_frame=388 start_position=388 i=388 -HistogramConfig::interpolate 150 0.273676 1.000000 0.815559 -TimeAvgMain::process_buffer 357 prev_frame=389 start_position=389 i=389 -HistogramConfig::interpolate 150 0.274126 1.000000 0.815690 -TimeAvgMain::process_buffer 357 prev_frame=390 start_position=390 i=390 -HistogramConfig::interpolate 150 0.274575 1.000000 0.815820 -TimeAvgMain::process_buffer 357 prev_frame=391 start_position=391 i=391 -HistogramConfig::interpolate 150 0.275025 1.000000 0.815951 -TimeAvgMain::process_buffer 357 prev_frame=392 start_position=392 i=392 -HistogramConfig::interpolate 150 0.275474 1.000000 0.816082 -TimeAvgMain::process_buffer 357 prev_frame=393 start_position=393 i=393 -HistogramConfig::interpolate 150 0.275923 1.000000 0.816213 -TimeAvgMain::process_buffer 357 prev_frame=394 start_position=394 i=394 -HistogramConfig::interpolate 150 0.276373 1.000000 0.816343 -TimeAvgMain::process_buffer 357 prev_frame=395 start_position=395 i=395 -HistogramConfig::interpolate 150 0.276822 1.000000 0.816474 -TimeAvgMain::process_buffer 357 prev_frame=396 start_position=396 i=396 -HistogramConfig::interpolate 150 0.277272 1.000000 0.816605 -TimeAvgMain::process_buffer 357 prev_frame=397 start_position=397 i=397 -HistogramConfig::interpolate 150 0.277721 1.000000 0.816736 -TimeAvgMain::process_buffer 357 prev_frame=398 start_position=398 i=398 -HistogramConfig::interpolate 150 0.278171 1.000000 0.816866 -TimeAvgMain::process_buffer 357 prev_frame=399 start_position=399 i=399 -HistogramConfig::interpolate 150 0.278620 1.000000 0.816997 -TimeAvgMain::process_buffer 357 prev_frame=400 start_position=400 i=400 -HistogramConfig::interpolate 150 0.279070 1.000000 0.817128 -TimeAvgMain::process_buffer 357 prev_frame=401 start_position=401 i=401 -HistogramConfig::interpolate 150 0.279519 1.000000 0.817259 -TimeAvgMain::process_buffer 357 prev_frame=402 start_position=402 i=402 -HistogramConfig::interpolate 150 0.279968 1.000000 0.817389 -TimeAvgMain::process_buffer 357 prev_frame=403 start_position=403 i=403 -HistogramConfig::interpolate 150 0.280418 1.000000 0.817520 -TimeAvgMain::process_buffer 357 prev_frame=404 start_position=404 i=404 -HistogramConfig::interpolate 150 0.280867 1.000000 0.817651 -TimeAvgMain::process_buffer 357 prev_frame=405 start_position=405 i=405 -HistogramConfig::interpolate 150 0.281317 1.000000 0.817782 -TimeAvgMain::process_buffer 357 prev_frame=406 start_position=406 i=406 -HistogramConfig::interpolate 150 0.281766 1.000000 0.817912 -TimeAvgMain::process_buffer 357 prev_frame=407 start_position=407 i=407 -HistogramConfig::interpolate 150 0.282216 1.000000 0.818043 -TimeAvgMain::process_buffer 357 prev_frame=408 start_position=408 i=408 -HistogramConfig::interpolate 150 0.282665 1.000000 0.818174 -TimeAvgMain::process_buffer 357 prev_frame=409 start_position=409 i=409 -HistogramConfig::interpolate 150 0.283115 1.000000 0.818305 -TimeAvgMain::process_buffer 357 prev_frame=410 start_position=410 i=410 -HistogramConfig::interpolate 150 0.283564 1.000000 0.818435 -TimeAvgMain::process_buffer 357 prev_frame=411 start_position=411 i=411 -HistogramConfig::interpolate 150 0.284013 1.000000 0.818566 -TimeAvgMain::process_buffer 357 prev_frame=412 start_position=412 i=412 -HistogramConfig::interpolate 150 0.284463 1.000000 0.818697 -TimeAvgMain::process_buffer 357 prev_frame=413 start_position=413 i=413 -HistogramConfig::interpolate 150 0.284912 1.000000 0.818828 -TimeAvgMain::process_buffer 357 prev_frame=414 start_position=414 i=414 -HistogramConfig::interpolate 150 0.285362 1.000000 0.818958 -TimeAvgMain::process_buffer 357 prev_frame=415 start_position=415 i=415 -HistogramConfig::interpolate 150 0.285811 1.000000 0.819089 -TimeAvgMain::process_buffer 357 prev_frame=416 start_position=416 i=416 -HistogramConfig::interpolate 150 0.286261 1.000000 0.819220 -TimeAvgMain::process_buffer 357 prev_frame=417 start_position=417 i=417 -HistogramConfig::interpolate 150 0.286710 1.000000 0.819351 -TimeAvgMain::process_buffer 357 prev_frame=418 start_position=418 i=418 -HistogramConfig::interpolate 150 0.287160 1.000000 0.819481 -TimeAvgMain::process_buffer 357 prev_frame=419 start_position=419 i=419 -HistogramConfig::interpolate 150 0.287609 1.000000 0.819612 -TimeAvgMain::process_buffer 357 prev_frame=420 start_position=420 i=420 -HistogramConfig::interpolate 150 0.288058 1.000000 0.819743 -TimeAvgMain::process_buffer 357 prev_frame=421 start_position=421 i=421 -HistogramConfig::interpolate 150 0.288508 1.000000 0.819874 -TimeAvgMain::process_buffer 357 prev_frame=422 start_position=422 i=422 -HistogramConfig::interpolate 150 0.288957 1.000000 0.820004 -TimeAvgMain::process_buffer 357 prev_frame=423 start_position=423 i=423 -HistogramConfig::interpolate 150 0.289407 1.000000 0.820135 -TimeAvgMain::process_buffer 357 prev_frame=424 start_position=424 i=424 -HistogramConfig::interpolate 150 0.289856 1.000000 0.820266 -TimeAvgMain::process_buffer 357 prev_frame=425 start_position=425 i=425 -HistogramConfig::interpolate 150 0.290306 1.000000 0.820397 -TimeAvgMain::process_buffer 357 prev_frame=426 start_position=426 i=426 -HistogramConfig::interpolate 150 0.290755 1.000000 0.820527 -TimeAvgMain::process_buffer 357 prev_frame=427 start_position=427 i=427 -HistogramConfig::interpolate 150 0.291205 1.000000 0.820658 -TimeAvgMain::process_buffer 357 prev_frame=428 start_position=428 i=428 -HistogramConfig::interpolate 150 0.291654 1.000000 0.820789 -TimeAvgMain::process_buffer 357 prev_frame=429 start_position=429 i=429 -HistogramConfig::interpolate 150 0.292103 1.000000 0.820920 -TimeAvgMain::process_buffer 357 prev_frame=430 start_position=430 i=430 -HistogramConfig::interpolate 150 0.292553 1.000000 0.821050 -TimeAvgMain::process_buffer 357 prev_frame=431 start_position=431 i=431 -HistogramConfig::interpolate 150 0.293002 1.000000 0.821181 -TimeAvgMain::process_buffer 357 prev_frame=432 start_position=432 i=432 -HistogramConfig::interpolate 150 0.293452 1.000000 0.821312 -TimeAvgMain::process_buffer 357 prev_frame=433 start_position=433 i=433 diff --git a/cinelerra-5.1/plugins/histogram/histogram.C b/cinelerra-5.1/plugins/histogram/histogram.C index ef886305..a2cf0c98 100644 --- a/cinelerra-5.1/plugins/histogram/histogram.C +++ b/cinelerra-5.1/plugins/histogram/histogram.C @@ -56,27 +56,14 @@ class HistogramEngine; class HistogramWindow; - - - REGISTER_PLUGIN(HistogramMain) - - - - - - - - HistogramMain::HistogramMain(PluginServer *server) : PluginVClient(server) { - engine = 0; stripe_engine = 0; - for(int i = 0; i < HISTOGRAM_MODES; i++) - { + for( int i=0; iwindow)->lock_window("HistogramMain::render_gui 1"); tabulate_curve(HISTOGRAM_RED, 0); tabulate_curve(HISTOGRAM_GREEN, 0); tabulate_curve(HISTOGRAM_BLUE, 0); + tabulate_curve(preview_lookup, HISTOGRAM_RED, 0x10000, 0); + tabulate_curve(preview_lookup, HISTOGRAM_GREEN, 0x10000, 0); + tabulate_curve(preview_lookup, HISTOGRAM_BLUE, 0x10000, 0); ((HistogramWindow*)thread->window)->unlock_window(); } - calculate_histogram((VFrame*)data, !config.automatic); - - - if(config.automatic) - { - calculate_automatic((VFrame*)data); + calculate_histogram(input, !config.automatic); + if( config.automatic ) { + calculate_automatic(input); // Generate curves for value histogram // Lock out changes to curves ((HistogramWindow*)thread->window)->lock_window("HistogramMain::render_gui 1"); tabulate_curve(HISTOGRAM_RED, 0); tabulate_curve(HISTOGRAM_GREEN, 0); tabulate_curve(HISTOGRAM_BLUE, 0); + tabulate_curve(preview_lookup, HISTOGRAM_RED, 0x10000, 0); + tabulate_curve(preview_lookup, HISTOGRAM_GREEN, 0x10000, 0); + tabulate_curve(preview_lookup, HISTOGRAM_BLUE, 0x10000, 0); ((HistogramWindow*)thread->window)->unlock_window(); - - // Need a second pass to get the luminance values. - calculate_histogram((VFrame*)data, 1); + calculate_histogram(input, 1); } ((HistogramWindow*)thread->window)->lock_window("HistogramMain::render_gui 2"); @@ -167,24 +153,16 @@ void HistogramMain::render_gui(void *data) void HistogramMain::update_gui() { - if(thread) - { + if( thread ) { ((HistogramWindow*)thread->window)->lock_window("HistogramMain::update_gui"); int reconfigure = load_configuration(); - if(reconfigure) - { - ((HistogramWindow*)thread->window)->update(1, - 1, - 1, - 1); - } + if( reconfigure ) + ((HistogramWindow*)thread->window)->update(1, 1, 1, 1); ((HistogramWindow*)thread->window)->unlock_window(); } } - - void HistogramMain::save_data(KeyFrame *keyframe) { FileXML output; @@ -206,8 +184,7 @@ void HistogramMain::save_data(KeyFrame *keyframe) output.tag.set_property("PARADE", parade); output.tag.set_property("MODE", mode); - for(int i = 0; i < HISTOGRAM_MODES; i++) - { + for( int i=0; ixbuf); int result = 0; + while( !(result = input.read_tag()) ) { + if( input.tag.title_is("HISTOGRAM") ) { + config.automatic = input.tag.get_property("AUTOMATIC", config.automatic); + config.threshold = input.tag.get_property("THRESHOLD", config.threshold); + config.plot = input.tag.get_property("PLOT", config.plot); + config.split = input.tag.get_property("SPLIT", config.split); + config.frames = input.tag.get_property("FRAMES", config.frames); + config.log_slider = input.tag.get_property("LOG_SLIDER", config.log_slider); + + if( is_defaults() ) { + w = input.tag.get_property("W", w); + h = input.tag.get_property("H", h); + parade = input.tag.get_property("PARADE", parade); + mode = input.tag.get_property("MODE", mode); + } - - while(!result) - { - result = input.read_tag(); - - if(!result) - { - if(input.tag.title_is("HISTOGRAM")) - { - config.automatic = input.tag.get_property("AUTOMATIC", config.automatic); - config.threshold = input.tag.get_property("THRESHOLD", config.threshold); - config.plot = input.tag.get_property("PLOT", config.plot); - config.split = input.tag.get_property("SPLIT", config.split); - config.frames = input.tag.get_property("FRAMES", config.frames); - config.log_slider = input.tag.get_property("LOG_SLIDER", config.log_slider); - - if(is_defaults()) - { - w = input.tag.get_property("W", w); - h = input.tag.get_property("H", h); - parade = input.tag.get_property("PARADE", parade); - mode = input.tag.get_property("MODE", mode); - } - - char string[BCTEXTLEN]; - for(int i = 0; i < HISTOGRAM_MODES; i++) - { - sprintf(string, "LOW_OUTPUT_%d", i); - config.low_output[i] = input.tag.get_property(string, config.low_output[i]); - sprintf(string, "HIGH_OUTPUT_%d", i); - config.high_output[i] = input.tag.get_property(string, config.high_output[i]); - sprintf(string, "GAMMA_%d", i); - config.gamma[i] = input.tag.get_property(string, config.gamma[i]); - - if(i == HISTOGRAM_VALUE || !config.automatic) - { - sprintf(string, "LOW_INPUT_%d", i); - config.low_input[i] = input.tag.get_property(string, config.low_input[i]); - sprintf(string, "HIGH_INPUT_%d", i); - config.high_input[i] = input.tag.get_property(string, config.high_input[i]); - } -//printf("HistogramMain::read_data %d %f %d\n", config.input_min[i], config.input_mid[i], config.input_max[i]); + char string[BCTEXTLEN]; + for( int i=0; iget_w() * data->get_h() / 0x80000 + 2; int smps = get_project_smp(); if( cpus > smps ) cpus = smps; engine = new HistogramEngine(this, cpus, cpus); } - if(!accum[0]) - { - for(int i = 0; i < HISTOGRAM_MODES; i++) + if( !accum[0] ) { + for( int i=0; iprocess_packages(HistogramEngine::HISTOGRAM, data, do_value); - for(int i = 0; i < engine->get_total_clients(); i++) - { - HistogramUnit *unit = (HistogramUnit*)engine->get_client(i); + HistogramUnit *unit = (HistogramUnit*)engine->get_client(0); + for( int i=0; iaccum[i], sizeof(int)*HISTOGRAM_SLOTS); - if(i == 0) - { - for(int j = 0; j < HISTOGRAM_MODES; j++) - { - memcpy(accum[j], unit->accum[j], sizeof(int) * HISTOGRAM_SLOTS); - } - } - else - { - for(int j = 0; j < HISTOGRAM_MODES; j++) - { - int *out = accum[j]; - int *in = unit->accum[j]; - for(int k = 0; k < HISTOGRAM_SLOTS; k++) - out[k] += in[k]; - } + for( int i=1,n=engine->get_total_clients(); iget_client(i); + for( int j=0; jaccum[j], *out = accum[j]; + for( int k=HISTOGRAM_SLOTS; --k>=0; ) *out++ += *in++; } } // Remove top and bottom from calculations. Doesn't work in high // precision colormodels. - for(int i = 0; i < HISTOGRAM_MODES; i++) - { + for( int i=0; iaccum[i]; int pixels = data->get_w() * data->get_h(); float white_fraction = 1.0 - (1.0 - config.threshold) / 2; int threshold = (int)(white_fraction * pixels); - int total = 0; - float max_level = 1.0; - float min_level = 0.0; + float min_level = 0.0, max_level = 1.0; // Get histogram slot above threshold of pixels - for(int j = 0; j < HISTOGRAM_SLOTS; j++) - { + for( int j=0, total=0; j= threshold) - { + if( total >= threshold ) { max_level = (float)j / HISTOGRAM_SLOTS * FLOAT_RANGE + HIST_MIN_INPUT; break; } } // Get slot below 99% of pixels - total = 0; - for(int j = HISTOGRAM_SLOTS - 1; j >= 0; j--) - { + for( int j=HISTOGRAM_SLOTS, total=0; --j> 0; ) { total += accum[j]; - if(total >= threshold) - { + if( total >= threshold ) { min_level = (float)j / HISTOGRAM_SLOTS * FLOAT_RANGE + HIST_MIN_INPUT; break; } } - config.low_input[i] = min_level; config.high_input[i] = max_level; } } - - - int HistogramMain::calculate_use_opengl() { // glHistogram doesn't work. @@ -536,98 +455,42 @@ int HistogramMain::process_buffer(VFrame *frame, // table to avoid green borders - if(need_reconfigure || - !lookup[0] || - config.automatic) - { + if( need_reconfigure || !lookup[0] || config.automatic ) { // Calculate new curves - if(config.automatic) - { + if( config.automatic ) calculate_automatic(input); - } - - // Generate transfer tables with value function for integer colormodels. - for(int i = 0; i < 3; i++) + for( int i=0; i<3; ++i ) tabulate_curve(i, 1); } -// printf("HistogramMain::process_buffer %d %f %f %f %f %f %f %f %f %f\n", -// __LINE__, -// config.low_input[HISTOGRAM_RED], -// config.gamma[HISTOGRAM_RED], -// config.high_input[HISTOGRAM_RED], -// config.low_input[HISTOGRAM_GREEN], -// config.gamma[HISTOGRAM_GREEN], -// config.high_input[HISTOGRAM_GREEN], -// config.low_input[HISTOGRAM_BLUE], -// config.gamma[HISTOGRAM_BLUE], -// config.high_input[HISTOGRAM_BLUE]); - // Apply histogram in hardware - if(use_opengl) return run_opengl(); + if( use_opengl ) + return run_opengl(); // Apply histogram engine->process_packages(HistogramEngine::APPLY, input, 0); return 0; } -void HistogramMain::tabulate_curve(int subscript, int use_value) +void HistogramMain::tabulate_curve(int **table, int idx, int len, int use_value) { - int i; - if(!lookup[subscript]) - lookup[subscript] = new int[HISTOGRAM_SLOTS]; - if(!preview_lookup[subscript]) - preview_lookup[subscript] = new int[HISTOGRAM_SLOTS]; - -//printf("HistogramMain::tabulate_curve %d input=%p\n", __LINE__, input); - - -// Generate lookup tables for integer colormodels - if(input) - { - switch(input->get_color_model()) - { - case BC_RGB888: - case BC_RGBA8888: - for(i = 0; i < 0x100; i++) - { - lookup[subscript][i] = - (int)(calculate_level((float)i / 0xff, subscript, use_value) * - 0xff); - CLAMP(lookup[subscript][i], 0, 0xff); - } - break; -// All other integer colormodels are converted to 16 bit RGB - default: - for(i = 0; i < 0x10000; i++) - { - lookup[subscript][i] = - (int)(calculate_level((float)i / 0xffff, subscript, use_value) * - 0xffff); - CLAMP(lookup[subscript][i], 0, 0xffff); - } -// for(i = 0; i < 0x100; i++) -// { -// if(subscript == HISTOGRAM_BLUE) printf("%d ", lookup[subscript][i * 0x100]); -// } -// if(subscript == HISTOGRAM_BLUE) printf("\n"); - - break; - } + if( !table[idx] ) // must use max demand here + table[idx] = new int[0x10000]; + int *curve = table[idx], len1 = len-1; + for( int i=0; iget_color_model(); + int lookup_len = color_model == BC_RGB888 || + color_model == BC_RGBA8888 ? 0x100 : 0x10000; + tabulate_curve(lookup, idx, lookup_len, use_value); } int HistogramMain::handle_opengl() @@ -1026,55 +889,37 @@ HistogramUnit::~HistogramUnit() void HistogramUnit::process_package(LoadPackage *package) { HistogramPackage *pkg = (HistogramPackage*)package; - - if(server->operation == HistogramEngine::HISTOGRAM) - { + switch( server->operation ) { + case HistogramEngine::HISTOGRAM: { int do_value = server->do_value; + const int hmin = HISTOGRAM_MIN * 0xffff / 100; + const int slots1 = HISTOGRAM_SLOTS-1; - -#define HISTOGRAM_HEAD(type) \ -{ \ - for(int i = pkg->start; i < pkg->end; i++) \ - { \ - type *row = (type*)data->get_rows()[i]; \ - for(int j = 0; j < w; j++) \ - { +#define HISTOGRAM_HEAD(type) { \ + type **rows = (type**)data->get_rows(); \ + for( int iy=pkg->start; iyend; ++iy ) { \ + type *row = rows[iy]; \ + for( int ix=0; ix> 8; */ \ - v = MAX(r_out, g_out); \ - v = MAX(v, b_out); \ - v += -HISTOGRAM_MIN * 0xffff / 100; \ - CLAMP(v, 0, HISTOGRAM_SLOTS - 1); \ - accum_v[v]++; \ +/* Value takes the maximum of the output RGB values */ \ + v = MAX(r_out, g_out); v = MAX(v, b_out); \ + ++accum_v[bclip(v -= hmin, 0, slots1)]; \ } \ \ - r += -HISTOGRAM_MIN * 0xffff / 100; \ - g += -HISTOGRAM_MIN * 0xffff / 100; \ - b += -HISTOGRAM_MIN * 0xffff / 100; \ - CLAMP(r, 0, HISTOGRAM_SLOTS - 1); \ - CLAMP(g, 0, HISTOGRAM_SLOTS - 1); \ - CLAMP(b, 0, HISTOGRAM_SLOTS - 1); \ - accum_r[r]++; \ - accum_g[g]++; \ - accum_b[b]++; \ + ++accum_r[bclip(r -= hmin, 0, slots1)]; \ + ++accum_g[bclip(g -= hmin, 0, slots1)]; \ + ++accum_b[bclip(b -= hmin, 0, slots1)]; \ row += components; \ } \ } \ } - - - VFrame *data = server->data; int w = data->get_w(); //int h = data->get_h(); @@ -1084,103 +929,96 @@ void HistogramUnit::process_package(LoadPackage *package) int *accum_v = accum[HISTOGRAM_VALUE]; int32_t r, g, b, y, u, v; int r_out, g_out, b_out; - int *lookup_r = plugin->preview_lookup[HISTOGRAM_RED]; - int *lookup_g = plugin->preview_lookup[HISTOGRAM_GREEN]; - int *lookup_b = plugin->preview_lookup[HISTOGRAM_BLUE]; - - switch(data->get_color_model()) - { - case BC_RGB888: - HISTOGRAM_HEAD(unsigned char) - r = (row[0] << 8) | row[0]; - g = (row[1] << 8) | row[1]; - b = (row[2] << 8) | row[2]; - HISTOGRAM_TAIL(3) - break; - case BC_RGB_FLOAT: - HISTOGRAM_HEAD(float) - r = (int)(row[0] * 0xffff); - g = (int)(row[1] * 0xffff); - b = (int)(row[2] * 0xffff); - HISTOGRAM_TAIL(3) - break; - case BC_YUV888: - HISTOGRAM_HEAD(unsigned char) - y = (row[0] << 8) | row[0]; - u = (row[1] << 8) | row[1]; - v = (row[2] << 8) | row[2]; - YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); - HISTOGRAM_TAIL(3) - break; - case BC_RGBA8888: - HISTOGRAM_HEAD(unsigned char) - r = (row[0] << 8) | row[0]; - g = (row[1] << 8) | row[1]; - b = (row[2] << 8) | row[2]; - HISTOGRAM_TAIL(4) - break; - case BC_RGBA_FLOAT: - HISTOGRAM_HEAD(float) - r = (int)(row[0] * 0xffff); - g = (int)(row[1] * 0xffff); - b = (int)(row[2] * 0xffff); - HISTOGRAM_TAIL(4) - break; - case BC_YUVA8888: - HISTOGRAM_HEAD(unsigned char) - y = (row[0] << 8) | row[0]; - u = (row[1] << 8) | row[1]; - v = (row[2] << 8) | row[2]; - YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); - HISTOGRAM_TAIL(4) - break; - case BC_RGB161616: - HISTOGRAM_HEAD(uint16_t) - r = row[0]; - g = row[1]; - b = row[2]; - HISTOGRAM_TAIL(3) - break; - case BC_YUV161616: - HISTOGRAM_HEAD(uint16_t) - y = row[0]; - u = row[1]; - v = row[2]; - YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); - HISTOGRAM_TAIL(3) - break; - case BC_RGBA16161616: - HISTOGRAM_HEAD(uint16_t) - r = row[0]; - g = row[1]; - b = row[2]; - HISTOGRAM_TAIL(3) - break; - case BC_YUVA16161616: - HISTOGRAM_HEAD(uint16_t) - y = row[0]; - u = row[1]; - v = row[2]; - YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); - HISTOGRAM_TAIL(4) - break; + int *preview_r = plugin->preview_lookup[HISTOGRAM_RED]; + int *preview_g = plugin->preview_lookup[HISTOGRAM_GREEN]; + int *preview_b = plugin->preview_lookup[HISTOGRAM_BLUE]; + + switch( data->get_color_model() ) { + case BC_RGB888: + HISTOGRAM_HEAD(unsigned char) + r = (row[0] << 8) | row[0]; + g = (row[1] << 8) | row[1]; + b = (row[2] << 8) | row[2]; + HISTOGRAM_TAIL(3) + break; + case BC_RGB_FLOAT: + HISTOGRAM_HEAD(float) + r = (int)(row[0] * 0xffff); + g = (int)(row[1] * 0xffff); + b = (int)(row[2] * 0xffff); + HISTOGRAM_TAIL(3) + break; + case BC_YUV888: + HISTOGRAM_HEAD(unsigned char) + y = (row[0] << 8) | row[0]; + u = (row[1] << 8) | row[1]; + v = (row[2] << 8) | row[2]; + YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); + HISTOGRAM_TAIL(3) + break; + case BC_RGBA8888: + HISTOGRAM_HEAD(unsigned char) + r = (row[0] << 8) | row[0]; + g = (row[1] << 8) | row[1]; + b = (row[2] << 8) | row[2]; + HISTOGRAM_TAIL(4) + break; + case BC_RGBA_FLOAT: + HISTOGRAM_HEAD(float) + r = (int)(row[0] * 0xffff); + g = (int)(row[1] * 0xffff); + b = (int)(row[2] * 0xffff); + HISTOGRAM_TAIL(4) + break; + case BC_YUVA8888: + HISTOGRAM_HEAD(unsigned char) + y = (row[0] << 8) | row[0]; + u = (row[1] << 8) | row[1]; + v = (row[2] << 8) | row[2]; + YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); + HISTOGRAM_TAIL(4) + break; + case BC_RGB161616: + HISTOGRAM_HEAD(uint16_t) + r = row[0]; + g = row[1]; + b = row[2]; + HISTOGRAM_TAIL(3) + break; + case BC_YUV161616: + HISTOGRAM_HEAD(uint16_t) + y = row[0]; + u = row[1]; + v = row[2]; + YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); + HISTOGRAM_TAIL(3) + break; + case BC_RGBA16161616: + HISTOGRAM_HEAD(uint16_t) + r = row[0]; + g = row[1]; + b = row[2]; + HISTOGRAM_TAIL(3) + break; + case BC_YUVA16161616: + HISTOGRAM_HEAD(uint16_t) + y = row[0]; + u = row[1]; + v = row[2]; + YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); + HISTOGRAM_TAIL(4) + break; } - } - else - if(server->operation == HistogramEngine::APPLY) - { - - - -#define PROCESS(type, components) \ -{ \ - for(int i = pkg->start; i < pkg->end; i++) \ - { \ - type *row = (type*)input->get_rows()[i]; \ - for(int j = 0; j < w; j++) \ - { \ - if ( plugin->config.split && ((j + i * w / h) < w) ) \ - continue; \ + break; } + case HistogramEngine::APPLY: { + +#define PROCESS(type, components) { \ + type **rows = (type**)input->get_rows(); \ + for( int iy=pkg->start; iyend; ++iy ) { \ + type *row = rows[iy]; \ + for( int ix=0; ixconfig.split && ((ix + (iy*w)/h) < w) ) \ + continue; \ row[0] = lookup_r[row[0]]; \ row[1] = lookup_g[row[1]]; \ row[2] = lookup_b[row[2]]; \ @@ -1189,47 +1027,36 @@ void HistogramUnit::process_package(LoadPackage *package) } \ } -#define PROCESS_YUV(type, components, max) \ -{ \ - for(int i = pkg->start; i < pkg->end; i++) \ - { \ - type *row = (type*)input->get_rows()[i]; \ - for(int j = 0; j < w; j++) \ - { \ - if ( plugin->config.split && ((j + i * w / h) < w) ) \ - continue; \ -/* Convert to 16 bit RGB */ \ - if(max == 0xff) \ - { \ +#define PROCESS_YUV(type, components, max) { \ + type **rows = (type**)input->get_rows(); \ + for( int iy=pkg->start; iyend; ++iy ) { \ + type *row = rows[iy]; \ + for( int ix=0; ixconfig.split && ((ix + (iy*w)/h) < w) ) \ + continue; \ + if( max == 0xff ) { /* Convert to 16 bit RGB */ \ y = (row[0] << 8) | row[0]; \ u = (row[1] << 8) | row[1]; \ v = (row[2] << 8) | row[2]; \ } \ - else \ - { \ + else { \ y = row[0]; \ u = row[1]; \ v = row[2]; \ } \ - \ YUV::yuv.yuv_to_rgb_16(r, g, b, y, u, v); \ - \ /* Look up in RGB domain */ \ r = lookup_r[r]; \ g = lookup_g[g]; \ b = lookup_b[b]; \ - \ /* Convert to 16 bit YUV */ \ YUV::yuv.rgb_to_yuv_16(r, g, b, y, u, v); \ - \ - if(max == 0xff) \ - { \ + if( max == 0xff ) { \ row[0] = y >> 8; \ row[1] = u >> 8; \ row[2] = v >> 8; \ } \ - else \ - { \ + else { \ row[0] = y; \ row[1] = u; \ row[2] = v; \ @@ -1239,33 +1066,24 @@ void HistogramUnit::process_package(LoadPackage *package) } \ } -#define PROCESS_FLOAT(components) \ -{ \ - for(int i = pkg->start; i < pkg->end; i++) \ - { \ - float *row = (float*)input->get_rows()[i]; \ - for(int j = 0; j < w; j++) \ - { \ - if ( plugin->config.split && ((j + i * w / h) < w) ) \ - continue; \ - float r = row[0]; \ - float g = row[1]; \ - float b = row[2]; \ - \ - r = plugin->calculate_level(r, HISTOGRAM_RED, 1); \ - g = plugin->calculate_level(g, HISTOGRAM_GREEN, 1); \ - b = plugin->calculate_level(b, HISTOGRAM_BLUE, 1); \ - \ - row[0] = r; \ - row[1] = g; \ - row[2] = b; \ - \ +#define PROCESS_FLOAT(components) { \ + float **rows = (float**)input->get_rows(); \ + for( int iy=pkg->start; iyend; ++iy ) { \ + float *row = rows[iy]; \ + for( int ix=0; ixconfig.split && ((ix + (iy*w)/h) < w) ) \ + continue; \ + float fr = row[0]; \ + float fg = row[1]; \ + float fb = row[2]; \ + row[0] = plugin->calculate_level(fr, HISTOGRAM_RED, 1); \ + row[1] = plugin->calculate_level(fg, HISTOGRAM_GREEN, 1); \ + row[2] = plugin->calculate_level(fb, HISTOGRAM_BLUE, 1); \ row += components; \ } \ } \ } - VFrame *input = plugin->input; //VFrame *output = plugin->output; int w = input->get_w(); @@ -1274,50 +1092,45 @@ void HistogramUnit::process_package(LoadPackage *package) int *lookup_g = plugin->lookup[1]; int *lookup_b = plugin->lookup[2]; int r, g, b, y, u, v; - switch(input->get_color_model()) - { - case BC_RGB888: - PROCESS(unsigned char, 3) - break; - case BC_RGB_FLOAT: - PROCESS_FLOAT(3); - break; - case BC_RGBA8888: - PROCESS(unsigned char, 4) - break; - case BC_RGBA_FLOAT: - PROCESS_FLOAT(4); - break; - case BC_RGB161616: - PROCESS(uint16_t, 3) - break; - case BC_RGBA16161616: - PROCESS(uint16_t, 4) - break; - case BC_YUV888: - PROCESS_YUV(unsigned char, 3, 0xff) - break; - case BC_YUVA8888: - PROCESS_YUV(unsigned char, 4, 0xff) - break; - case BC_YUV161616: - PROCESS_YUV(uint16_t, 3, 0xffff) - break; - case BC_YUVA16161616: - PROCESS_YUV(uint16_t, 4, 0xffff) - break; + switch( input->get_color_model() ) { + case BC_RGB888: + PROCESS(unsigned char, 3) + break; + case BC_RGB_FLOAT: + PROCESS_FLOAT(3); + break; + case BC_RGBA8888: + PROCESS(unsigned char, 4) + break; + case BC_RGBA_FLOAT: + PROCESS_FLOAT(4); + break; + case BC_RGB161616: + PROCESS(uint16_t, 3) + break; + case BC_RGBA16161616: + PROCESS(uint16_t, 4) + break; + case BC_YUV888: + PROCESS_YUV(unsigned char, 3, 0xff) + break; + case BC_YUVA8888: + PROCESS_YUV(unsigned char, 4, 0xff) + break; + case BC_YUV161616: + PROCESS_YUV(uint16_t, 3, 0xffff) + break; + case BC_YUVA16161616: + PROCESS_YUV(uint16_t, 4, 0xffff) + break; } + break; } } } - - - - HistogramEngine::HistogramEngine(HistogramMain *plugin, - int total_clients, - int total_packages) + int total_clients, int total_packages) : LoadServer(total_clients, total_packages) { this->plugin = plugin; @@ -1325,35 +1138,29 @@ HistogramEngine::HistogramEngine(HistogramMain *plugin, void HistogramEngine::init_packages() { - switch(operation) - { - case HISTOGRAM: - total_size = data->get_h(); - break; - case APPLY: - total_size = data->get_h(); - break; + switch(operation) { + case HISTOGRAM: + total_size = data->get_h(); + break; + case APPLY: + total_size = data->get_h(); + break; } - - //int package_size = (int)((float)total_size / get_total_packages() + 1); - //int start = 0; - - for(int i = 0; i < get_total_packages(); i++) - { + int start = 0; + for( int i=0,n=get_total_packages(); istart = total_size * i / get_total_packages(); - package->end = total_size * (i + 1) / get_total_packages(); + package->start = start; + package->end = total_size * (i+1)/n; + start = package->end; } // Initialize clients here in case some don't get run. - for(int i = 0; i < get_total_clients(); i++) - { + for( int i=0,n=get_total_clients(); iaccum[i], sizeof(int) * HISTOGRAM_SLOTS); + for( int j=0; jaccum[j], sizeof(int) * HISTOGRAM_SLOTS); } - } LoadClient* HistogramEngine::new_client() diff --git a/cinelerra-5.1/plugins/histogram/histogram.h b/cinelerra-5.1/plugins/histogram/histogram.h index 9aa4747a..00512438 100644 --- a/cinelerra-5.1/plugins/histogram/histogram.h +++ b/cinelerra-5.1/plugins/histogram/histogram.h @@ -60,9 +60,8 @@ public: // Value is only calculated for preview. void calculate_histogram(VFrame *data, int do_value); // Calculate the linear, smoothed, lookup curves - void tabulate_curve(int subscript, int use_value); - - + void tabulate_curve(int **table, int idx, int len, int use_value); + void tabulate_curve(int idx, int use_value); VFrame *input, *output; diff --git a/cinelerra-5.1/plugins/histogram/histogramwindow.C b/cinelerra-5.1/plugins/histogram/histogramwindow.C index 8acb53fc..3261fbc9 100644 --- a/cinelerra-5.1/plugins/histogram/histogramwindow.C +++ b/cinelerra-5.1/plugins/histogram/histogramwindow.C @@ -60,63 +60,34 @@ void HistogramWindow::create_objects() int margin = plugin->get_theme()->widget_border; int x = margin, y = margin, x1 = margin; - add_subwindow(mode_v = new HistogramMode(plugin, - x, - y, - HISTOGRAM_VALUE, - _("Value"))); + add_subwindow(mode_v = new HistogramMode(plugin, x, y, + HISTOGRAM_VALUE, _("Value"))); x += mode_v->get_w() + margin; - add_subwindow(mode_r = new HistogramMode(plugin, - x, - y, - HISTOGRAM_RED, - _("Red"))); + add_subwindow(mode_r = new HistogramMode(plugin, x, y, + HISTOGRAM_RED, _("Red"))); x += mode_r->get_w() + margin; - add_subwindow(mode_g = new HistogramMode(plugin, - x, - y, - HISTOGRAM_GREEN, - _("Green"))); + add_subwindow(mode_g = new HistogramMode(plugin, x, y, + HISTOGRAM_GREEN, _("Green"))); x += mode_g->get_w() + margin; - add_subwindow(mode_b = new HistogramMode(plugin, - x, - y, - HISTOGRAM_BLUE, - _("Blue"))); - - + add_subwindow(mode_b = new HistogramMode(plugin, x, y, + HISTOGRAM_BLUE, _("Blue"))); x = get_w() - margin - plugin->get_theme()->get_image_set("histogram_rgb_toggle")[0]->get_w(); - add_subwindow(parade_on = new HistogramParade(plugin, - this, - x, - y, - 1)); + add_subwindow(parade_on = new HistogramParade(plugin, this, + x, y, 1)); x -= parade_on->get_w() + margin; - add_subwindow(parade_off = new HistogramParade(plugin, - this, - x, - y, - 0)); - + add_subwindow(parade_off = new HistogramParade(plugin, this, x, y, 0)); x = x1; y += parade_on->get_h() + margin; - add_subwindow(canvas_title1 = new BC_Title(margin, - y, - "-10%")); - add_subwindow(canvas_title2 = new BC_Title(get_w() - get_text_width(MEDIUMFONT, "110%") - margin, - y, - "110%")); + add_subwindow(canvas_title1 = new BC_Title(margin, y, "-10%")); + x = get_w() - get_text_width(MEDIUMFONT, "110%") - margin; + add_subwindow(canvas_title2 = new BC_Title(x, y, "110%")); y += canvas_title2->get_h() + margin; x = x1; canvas_h = get_h() - y - yS(210); - - add_subwindow(low_input_carrot = new HistogramCarrot(plugin, - this, - x, - y + canvas_h)); + add_subwindow(low_input_carrot = new HistogramCarrot(plugin, this, x, y + canvas_h)); x = low_input_carrot->get_w() / 2 + x; canvas_w = get_w() - x - x; @@ -126,48 +97,27 @@ void HistogramWindow::create_objects() title3_x = x + (int)(canvas_w * (1.0 - HIST_MIN_INPUT) / FLOAT_RANGE); title4_x = x + (int)(canvas_w); - - - - - add_subwindow(canvas = new HistogramCanvas(plugin, - this, - x, - y, - canvas_w, - canvas_h)); + add_subwindow(canvas = new HistogramCanvas(plugin, this, + x, y, canvas_w, canvas_h)); // Canvas border - draw_3d_border(x - 2, - y - 2, - canvas_w + 4, - canvas_h + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(x - 2, y - 2, canvas_w + 4, canvas_h + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); // Calculate output curve with no value function - plugin->tabulate_curve(plugin->mode, 0); + plugin->tabulate_curve(plugin->preview_lookup, plugin->mode, 0x10000, 0); y += canvas->get_h(); x = margin; - add_subwindow(gamma_carrot = new HistogramCarrot(plugin, - this, - canvas->get_x() + - canvas->get_w() / 2 - - low_input_carrot->get_w() / 2 , - y)); - - add_subwindow(high_input_carrot = new HistogramCarrot(plugin, - this, - canvas->get_x() + - canvas->get_w() - - low_input_carrot->get_w() / 2, - y)); - y += low_input_carrot->get_h() + margin; + add_subwindow(gamma_carrot = new HistogramCarrot(plugin, this, + canvas->get_x() + canvas->get_w() / 2 - + low_input_carrot->get_w() / 2 , y)); + add_subwindow(high_input_carrot = new HistogramCarrot(plugin, this, + canvas->get_x() + canvas->get_w() - + low_input_carrot->get_w() / 2, y)); + y += low_input_carrot->get_h() + margin; // add_subwindow(title = new BC_Title(x, y, _("Input:"))); // x += title->get_w() + margin; @@ -271,20 +221,13 @@ int HistogramWindow::resize_event(int w, int h) // Canvas follows window size canvas_w = canvas_w + xdiff; canvas_h = canvas_h + ydiff; - canvas->reposition_window(canvas->get_x(), - canvas->get_y(), - canvas_w, - canvas_h); + canvas->reposition_window(canvas->get_x(), canvas->get_y(), + canvas_w, canvas_h); // Canvas border - draw_3d_border(canvas->get_x() - 2, - canvas->get_y() - 2, - canvas_w + 4, - canvas_h + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(canvas->get_x() - 2, canvas->get_y() - 2, + canvas_w + 4, canvas_h + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); low_input_carrot->reposition_window(low_input_carrot->get_x(), low_input_carrot->get_y() + ydiff); @@ -307,14 +250,9 @@ int HistogramWindow::resize_event(int w, int h) output->update(); // Output border - draw_3d_border(output->get_x() - 2, - output->get_y() - 2, - output->get_w() + 4, - output->get_h() + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(output->get_x() - 2, output->get_y() - 2, + output->get_w() + 4, output->get_h() + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); low_output_carrot->reposition_window(low_output_carrot->get_x(), low_output_carrot->get_y() + ydiff); @@ -458,9 +396,11 @@ void HistogramWindow::draw_canvas_mode(int mode, int color, int y, int h) // Draw histogram int max = 0, *accum = plugin->accum[mode]; if( accum ) { - for( int i=0; i 0 && i1 > i0 ? (double)m : 0; + m = v > 0 ? v*lin_scale + log(v)*log_scale : 0; canvas->set_color(BLACK); canvas->draw_line(x, y, x, y+h - m); diff --git a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checked.png b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checked.png index b83cb92d..effbc91b 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checked.png and b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checked.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checkedhi.png b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checkedhi.png index ed3d3d74..f122f747 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checkedhi.png and b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_checkedhi.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_dn.png b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_dn.png index 19783442..fb30a7e2 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_dn.png and b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_dn.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_hi.png b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_hi.png index 37da94c1..0296144b 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_hi.png and b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_hi.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_up.png b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_up.png index 0d9ec4ff..6d51f65d 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/expandpatch_up.png and b/cinelerra-5.1/plugins/theme_suv/data/expandpatch_up.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/new_bg.png b/cinelerra-5.1/plugins/theme_suv/data/new_bg.png index 63a830b3..fed092ed 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/new_bg.png and b/cinelerra-5.1/plugins/theme_suv/data/new_bg.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_dn.png b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_dn.png index ce02a72b..8b0df0a1 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_dn.png and b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_dn.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_hi.png b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_hi.png index a0fa6805..c985fef6 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_hi.png and b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_hi.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_up.png b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_up.png index 886ac237..97011927 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_up.png and b/cinelerra-5.1/plugins/theme_suv/data/new_bigbutton_up.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_bottom.png b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_bottom.png index 3d79ddf0..fd0a5f45 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_bottom.png and b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_bottom.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_hi.png b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_hi.png index fbb6de48..a5eb6758 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_hi.png and b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_hi.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_top.png b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_top.png index b1378d7a..6cb50e2e 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_top.png and b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_top.png differ diff --git a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_up.png b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_up.png index b4412e22..c4dcc771 100644 Binary files a/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_up.png and b/cinelerra-5.1/plugins/theme_suv/data/tumblepatch_up.png differ