X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedlsession.C;h=d4c6df80aa43a408b0cf09036321eed29be1044a;hb=9d832a1fff11b11aaa1108c460690ed05e2bdc05;hp=1a83545e063cccf443973b9c7f4583074cd922e4;hpb=3ac8199743f244669cc87ceef9c3cd23710552f3;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index 1a83545e..d4c6df80 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -87,7 +87,6 @@ EDLSession::EDLSession(EDL *edl) interpolate_raw = 1; white_balance_raw = 1; labels_follow_edits = 1; - mpeg4_deblock = 1; plugins_follow_edits = 1; single_standalone = 1; meter_format = METER_DB; @@ -98,6 +97,9 @@ EDLSession::EDLSession(EDL *edl) playback_buffer = 4096; playback_cursor_visible = 0; playback_preload = 0; + proxy_scale = 1; + proxy_use_scaler = 0; + proxy_auto_scale = 1; decode_subtitles = 0; subtitle_number = 0; label_cells = 0; @@ -114,15 +116,15 @@ EDLSession::EDLSession(EDL *edl) record_write_length = 131072; record_realtime_toc = 1; - safe_regions = 0; + safe_regions = 0; sample_rate = 48000; - scrub_speed = 2.; - show_assets = 1; - show_titles = 1; + scrub_speed = 2.; + show_assets = 1; + show_titles = 1; test_playback_edits = 1; time_format = TIME_HMSF; - nudge_format = 1; - tool_window = 0; + nudge_format = 1; + tool_window = 0; for(int i = 0; i < MAXCHANNELS; i++) { vchannel_x[i] = 64*i; vchannel_y[i] = 0; @@ -131,13 +133,13 @@ EDLSession::EDLSession(EDL *edl) aconfig_in = new AudioInConfig; vconfig_in = new VideoInConfig; recording_format = new Asset; - video_every_frame = 0; - video_asynchronous = 0; + video_every_frame = 0; +// video_asynchronous = 0; video_tracks = 1; video_write_length = 30; - view_follows_playback = 1; - vwindow_meter = 0; - vwindow_zoom = 1.; + view_follows_playback = 1; + vwindow_meter = 0; + vwindow_zoom = 1.; playback_config = new PlaybackConfig; } @@ -157,7 +159,7 @@ int EDLSession::need_rerender(EDLSession *ptr) return ((playback_preload != ptr->playback_preload) || (interpolation_type != ptr->interpolation_type) || (video_every_frame != ptr->video_every_frame) || - (video_asynchronous != ptr->video_asynchronous) || +// (video_asynchronous != ptr->video_asynchronous) || (real_time_playback != ptr->real_time_playback) || (playback_software_position != ptr->playback_software_position) || (test_playback_edits != ptr->test_playback_edits) || @@ -165,21 +167,24 @@ int EDLSession::need_rerender(EDLSession *ptr) (decode_subtitles != ptr->decode_subtitles) || (subtitle_number != ptr->subtitle_number) || (interpolate_raw != ptr->interpolate_raw) || - (white_balance_raw != ptr->white_balance_raw)); + (white_balance_raw != ptr->white_balance_raw) || + (proxy_scale != ptr->proxy_scale) || + (proxy_use_scaler != ptr->proxy_use_scaler)); } void EDLSession::equivalent_output(EDLSession *session, double *result) { - if(session->output_w != output_w || - session->output_h != output_h || - !EQUIV(session->frame_rate, frame_rate) || - session->color_model != color_model || - session->interpolation_type != interpolation_type || - session->interpolate_raw != interpolate_raw || - session->white_balance_raw != white_balance_raw || - session->mpeg4_deblock != mpeg4_deblock || - session->decode_subtitles != decode_subtitles || - session->subtitle_number != subtitle_number) + if( session->output_w != output_w || + session->output_h != output_h || + !EQUIV(session->frame_rate, frame_rate) || + session->color_model != color_model || + session->interpolation_type != interpolation_type || + session->interpolate_raw != interpolate_raw || + session->white_balance_raw != white_balance_raw || + session->decode_subtitles != decode_subtitles || + session->subtitle_number != subtitle_number || + session->proxy_scale != proxy_scale || + session->proxy_use_scaler != proxy_use_scaler ) *result = 0; // If it's before the current brender_start, render extra data. @@ -273,7 +278,6 @@ int EDLSession::load_defaults(BC_Hash *defaults) meter_format = defaults->get("METER_FORMAT", METER_DB); min_meter_db = defaults->get("MIN_METER_DB", -85); max_meter_db = defaults->get("MAX_METER_DB", 6); - mpeg4_deblock = defaults->get("MPEG4_DEBLOCK", mpeg4_deblock); output_w = defaults->get("OUTPUTW", output_w); output_h = defaults->get("OUTPUTH", output_h); playback_buffer = defaults->get("PLAYBACK_BUFFER", 4096); @@ -326,7 +330,7 @@ int EDLSession::load_defaults(BC_Hash *defaults) } video_channels = defaults->get("VCHANNELS", video_channels); video_every_frame = defaults->get("VIDEO_EVERY_FRAME", 0); - video_asynchronous = defaults->get("VIDEO_ASYNCHRONOUS", 0); +// video_asynchronous = defaults->get("VIDEO_ASYNCHRONOUS", 0); video_tracks = defaults->get("VTRACKS", video_tracks); video_write_length = defaults->get("VIDEO_WRITE_LENGTH", 30); view_follows_playback = defaults->get("VIEW_FOLLOWS_PLAYBACK", 1); @@ -415,7 +419,6 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("METER_FORMAT", meter_format); defaults->update("MIN_METER_DB", min_meter_db); defaults->update("MAX_METER_DB", max_meter_db); - defaults->update("MPEG4_DEBLOCK", mpeg4_deblock); defaults->update("OUTPUTW", output_w); defaults->update("OUTPUTH", output_h); defaults->update("PLAYBACK_BUFFER", playback_buffer); @@ -440,7 +443,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("SAFE_REGIONS", safe_regions); defaults->update("SAMPLERATE", sample_rate); defaults->update("SCRUB_SPEED", scrub_speed); - defaults->update("SI_USEDURATION",si_useduration); + defaults->update("SI_USEDURATION",si_useduration); defaults->update("SI_DURATION",si_duration); defaults->update("SHOW_ASSETS", show_assets); defaults->update("SHOW_TITLES", show_titles); @@ -457,7 +460,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) } defaults->update("VCHANNELS", video_channels); defaults->update("VIDEO_EVERY_FRAME", video_every_frame); - defaults->update("VIDEO_ASYNCHRONOUS", video_asynchronous); +// defaults->update("VIDEO_ASYNCHRONOUS", video_asynchronous); defaults->update("VTRACKS", video_tracks); defaults->update("VIDEO_WRITE_LENGTH", video_write_length); defaults->update("VIEW_FOLLOWS_PLAYBACK", view_follows_playback); @@ -489,6 +492,7 @@ void EDLSession::boundaries() Workarounds::clamp(min_meter_db, -80, -20); Workarounds::clamp(max_meter_db, 0, 10); Workarounds::clamp(frames_per_foot, 1, 32); + Workarounds::clamp(proxy_scale, 1, 32); Workarounds::clamp(output_w, 16, (int)BC_INFINITY); Workarounds::clamp(output_h, 16, (int)BC_INFINITY); Workarounds::clamp(video_write_length, 1, 1000); @@ -546,6 +550,9 @@ int EDLSession::load_video_config(FileXML *file, int append_mode, uint32_t load_ output_h = file->tag.get_property("OUTPUTH", output_h); aspect_w = file->tag.get_property("ASPECTW", aspect_w); aspect_h = file->tag.get_property("ASPECTH", aspect_h); + proxy_scale = file->tag.get_property("PROXY_SCALE", proxy_scale); + proxy_use_scaler = file->tag.get_property("PROXY_USE_SCALER", proxy_use_scaler); + proxy_auto_scale = file->tag.get_property("PROXY_AUTO_SCALE", proxy_auto_scale); return 0; } @@ -619,7 +626,6 @@ int EDLSession::load_xml(FileXML *file, folderlist_format = file->tag.get_property("FOLDERLIST_FORMAT", folderlist_format); highlighted_track = file->tag.get_property("HIGHLIGHTED_TRACK", 0); labels_follow_edits = file->tag.get_property("LABELS_FOLLOW_EDITS", labels_follow_edits); - mpeg4_deblock = file->tag.get_property("MPEG4_DEBLOCK", mpeg4_deblock); plugins_follow_edits = file->tag.get_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits); single_standalone = file->tag.get_property("SINGLE_STANDALONE", single_standalone); playback_preload = file->tag.get_property("PLAYBACK_PRELOAD", playback_preload); @@ -683,7 +689,6 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("FOLDERLIST_FORMAT", folderlist_format); file->tag.set_property("HIGHLIGHTED_TRACK", highlighted_track); file->tag.set_property("LABELS_FOLLOW_EDITS", labels_follow_edits); - file->tag.set_property("MPEG4_DEBLOCK", mpeg4_deblock); file->tag.set_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits); file->tag.set_property("SINGLE_STANDALONE", single_standalone); file->tag.set_property("PLAYBACK_PRELOAD", playback_preload); @@ -720,7 +725,7 @@ int EDLSession::save_video_config(FileXML *file) file->tag.set_property("COLORMODEL", string); ilacemode_to_xmltext(string, interlace_mode); file->tag.set_property("INTERLACE_MODE",string); - file->tag.set_property("CHANNELS", video_channels); + file->tag.set_property("CHANNELS", video_channels); for(int i = 0; i < video_channels; i++) { sprintf(string, "VCHANNEL_X_%d", i); @@ -735,6 +740,9 @@ int EDLSession::save_video_config(FileXML *file) file->tag.set_property("OUTPUTH", output_h); file->tag.set_property("ASPECTW", aspect_w); file->tag.set_property("ASPECTH", aspect_h); + file->tag.set_property("PROXY_SCALE", proxy_scale); + file->tag.set_property("PROXY_USE_SCALER", proxy_use_scaler); + file->tag.set_property("PROXY_AUTO_SCALE", proxy_auto_scale); file->append_tag(); file->tag.set_title("/VIDEO"); file->append_tag(); @@ -830,7 +838,6 @@ int EDLSession::copy(EDLSession *session) meter_format = session->meter_format; min_meter_db = session->min_meter_db; max_meter_db = session->max_meter_db; - mpeg4_deblock = session->mpeg4_deblock; output_w = session->output_w; output_h = session->output_h; playback_buffer = session->playback_buffer; @@ -867,12 +874,15 @@ int EDLSession::copy(EDLSession *session) video_channels = session->video_channels; *vconfig_in = *session->vconfig_in; video_every_frame = session->video_every_frame; - video_asynchronous = session->video_asynchronous; +// video_asynchronous = session->video_asynchronous; video_tracks = session->video_tracks; video_write_length = session->video_write_length; view_follows_playback = session->view_follows_playback; vwindow_meter = session->vwindow_meter; vwindow_zoom = session->vwindow_zoom; + proxy_scale = session->proxy_scale; + proxy_use_scaler = session->proxy_use_scaler; + proxy_auto_scale = session->proxy_auto_scale; subtitle_number = session->subtitle_number; decode_subtitles = session->decode_subtitles; @@ -887,9 +897,11 @@ void EDLSession::dump() printf("EDLSession::dump\n"); printf(" audio_tracks=%d audio_channels=%d sample_rate=%jd\n" " video_tracks=%d frame_rate=%f output_w=%d output_h=%d aspect_w=%f aspect_h=%f\n" - " decode subtitles=%d subtitle_number=%d label_cells=%d program_no=%d\n", + " decode subtitles=%d subtitle_number=%d label_cells=%d program_no=%d\n" + " proxy_scale=%d\n proxy_use_scaler=%d, proxy_auto_scale=%d\n", audio_tracks, audio_channels, sample_rate, video_tracks, frame_rate, output_w, output_h, aspect_w, aspect_h, - decode_subtitles, subtitle_number, label_cells, program_no); + decode_subtitles, subtitle_number, label_cells, program_no, + proxy_scale, proxy_use_scaler, proxy_auto_scale); }