From b215094d99a7a1ad3ac6faf51bdc00edd9c190e2 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Sun, 11 Jun 2023 09:26:07 -0600 Subject: [PATCH] Credit Andrew DVD improvement and if def 0 save --- cinelerra-5.1/cinelerra/dvdcreate.C | 4 ++++ cinelerra-5.1/cinelerra/ffmpeg.C | 8 ++++++++ cinelerra-5.1/cinelerra/render.C | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/cinelerra-5.1/cinelerra/dvdcreate.C b/cinelerra-5.1/cinelerra/dvdcreate.C index ac9f5fdd..390d2cbc 100644 --- a/cinelerra-5.1/cinelerra/dvdcreate.C +++ b/cinelerra-5.1/cinelerra/dvdcreate.C @@ -350,6 +350,10 @@ int CreateDVD_Thread::create_dvd_jobs(ArrayList *jobs, const ch double old_samplerate = session->sample_rate; double old_framerate = session->frame_rate; + if(use_deinterlace) { + session->interlace_mode = ILACE_MODE_NOTINTERLACED; + } + session->video_channels = DVD_STREAMS; session->video_tracks = DVD_STREAMS; session->frame_rate = dvd_framerate; diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C index e9fa85ed..4923eded 100644 --- a/cinelerra-5.1/cinelerra/ffmpeg.C +++ b/cinelerra-5.1/cinelerra/ffmpeg.C @@ -2965,6 +2965,14 @@ int FFMPEG::open_encoder(const char *type, const char *spec) vid->width = asset->width; vid->height = asset->height; vid->frame_rate = asset->frame_rate; +#if 0 + char tc_str[20] = "00:00:00:00"; + double tc_offset; + if(asset->timecode > 0) + Units::totext(tc_str, asset->timecode, TIME_HMSF, 0, asset->frame_rate, 0); + //printf("tc: %s \n", tc_str); + av_dict_set(&st->metadata, "timecode", tc_str, 0); +#endif if( (vid->color_range = asset->ff_color_range) < 0 ) vid->color_range = file_base->file->preferences->yuv_color_range; switch( vid->color_range ) { diff --git a/cinelerra-5.1/cinelerra/render.C b/cinelerra-5.1/cinelerra/render.C index 05dd5a5b..a43449e4 100644 --- a/cinelerra-5.1/cinelerra/render.C +++ b/cinelerra-5.1/cinelerra/render.C @@ -727,6 +727,11 @@ void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl, if( !render->result ) { // Get total range to render render->total_start = command->start_position; +#if 0 + render->default_asset->timecode = command->start_position; + printf("tc: %f \n", render->default_asset->timecode); + render->default_asset->timecode += edl->session->timecode_offset; +#endif render->total_end = command->end_position; total_length = render->total_end - render->total_start; -- 2.26.2