From 7271d7d0060f4f746c274947c96a8d687e61443a Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Tue, 30 May 2023 04:20:47 +0300
Subject: [PATCH 2/2] Experimental: try to pass interlacing info for
 mpeg2/dvdcreate

---
 cinelerra-5.1/cinelerra/dvdcreate.C | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/cinelerra-5.1/cinelerra/dvdcreate.C b/cinelerra-5.1/cinelerra/dvdcreate.C
index 52722841..9e7e589b 100644
--- a/cinelerra-5.1/cinelerra/dvdcreate.C
+++ b/cinelerra-5.1/cinelerra/dvdcreate.C
@@ -28,6 +28,7 @@
 #include "edlsession.h"
 #include "file.h"
 #include "filexml.h"
+#include "interlacemodes.h"
 #include "keyframe.h"
 #include "labels.h"
 #include "mainerror.h"
@@ -466,12 +467,17 @@ int CreateDVD_Thread::create_dvd_jobs(ArrayList<BatchRenderJob*> *jobs, const ch
 		asset->vmpeg_bitrate = vid_bitrate;
 		asset->vmpeg_quantization = 15;
 		asset->vmpeg_iframe_distance = 15;
-		asset->vmpeg_progressive = 0;
+		if(session->interlace_mode == ILACE_MODE_NOTINTERLACED || gui->thread->use_deinterlace)
+		{ asset->vmpeg_progressive = 1; } else {
+		asset->vmpeg_progressive = 0; }
 		asset->vmpeg_denoise = 0;
 		asset->vmpeg_seq_codes = 0;
 		asset->vmpeg_derivative = 2;
 		asset->vmpeg_preset = 8;
 		asset->vmpeg_field_order = 0;
+		if(session->interlace_mode == ILACE_MODE_BOTTOM_FIRST && !gui->thread->use_deinterlace)
+		{ asset->vmpeg_field_order = 1; }
+		asset->vmpeg_field_order = 0;
 		asset->vmpeg_pframe_distance = 0;
 		use_farmed = job->farmed;
 		job = new BatchRenderJob(mwindow->preferences, 0, 0);
-- 
2.40.1

