Credit Andrew DVD improvement and if def 0 save
authorGood Guy <[email protected]>
Sun, 11 Jun 2023 15:26:07 +0000 (09:26 -0600)
committerGood Guy <[email protected]>
Sun, 11 Jun 2023 15:26:07 +0000 (09:26 -0600)
cinelerra-5.1/cinelerra/dvdcreate.C
cinelerra-5.1/cinelerra/ffmpeg.C
cinelerra-5.1/cinelerra/render.C

index ac9f5fdde6faaedb1c93eb50536572a7e50ff103..390d2cbcb44743a4dc5f5dba44d1f0cda170eb78 100644 (file)
@@ -350,6 +350,10 @@ int CreateDVD_Thread::create_dvd_jobs(ArrayList<BatchRenderJob*> *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;
index e9fa85ede4c8668368927b74048dc049a6f3e339..4923eded2981e9f4624ade279124d0816b27c33b 100644 (file)
@@ -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 ) {
index 05dd5a5b62e7f11eb372bbdc7ba24c334e03a7c4..a43449e4b94a43eb99e8541fa148ab1fb232dd42 100644 (file)
@@ -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;