Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] small patch for dvb-mplex




Hi,

what about this small patch (for mplex.cpp in dvb-mpegtools) to enable
XVCD muxing(mpeg1 vbr with vcd settings and mux_rate=0) ?
It usually works with many dvd-players.

Bye,

	Nico

--- mplex.cpp.old	2003-03-31 12:57:48.000000000 +0200
+++ mplex.cpp	2003-06-07 23:01:02.000000000 +0200
@@ -232,12 +232,46 @@
 	set_broken_link = 1;
 }

+
+void SetXVCDMplex()
+{
+  /* multiplex stuff */
+	cerr << "Setting up for XVCD mux" << endl;
+	sectors_delay = 400;
+	video_delay_ms = 344;
+	audio_delay_ms = 344;
+	audio1_delay_ms = 344;
+	sector_size = VIDEOCD_SECTOR_SIZE;
+	packets_per_pack = 1;
+	init_audio_buffer_size = 4;
+	init_audio1_buffer_size = 4;
+	init_video_buffer_size = 46;
+	always_sys_header = FALSE;
+	use_computed_bitrate = COMPBITRATE_MAX;
+	mplex_type = MPEG_MPEG1;
+	mplex_pulldown_flag = PULLDOWN_NONE;
+	vcd_audio_pad = FALSE;
+	user_mux_rate = 0;
+	align_sequence_headers = 0;
+	put_private2 = 0;
+	frame_timestamps = TIMESTAMPS_ALL;
+	VBR_multiplex = 1;
+	write_pec = 1;
+	mux_SVCD_scan_offsets = 0;
+	max_file_size = 0;
+	mux_start_time = 0;
+	mux_stop_time = 0;
+	reset_clocks = 1;
+	write_end_codes = 1;
+	set_broken_link = 1;
+}
+
 void usage(char *progname)
 {
 	printf ("usage: %s [options] <input files>\n\n",progname);
 	printf ("options:\n");
 	printf ("  --help,             -h:  print help message\n");
-	printf ("  --type,             -t:  set output type (MPEG2, DVD, SVCD (default), MPEG1, VCD, XSVCD)\n");
+	printf ("  --type,             -t:  set output type (MPEG2, DVD, SVCD (default), MPEG1, VCD, XSVCD, XVCD)\n");
 	printf ("  --of,               -o:  set output file\n");
 	printf ("  --input_stream,     -i:  set input stream type (PS_STREAM (default), TS_STREAM, TS_AC3_STREAM, ES_STREAM (needs 2 or 3 input files <audio1> [ <audio2> ] <video>))\n");
 	printf ("  --temp_dir,         -d:  directory for temporary demux files\n");
@@ -379,6 +413,8 @@
 		SetVCDMplex();
 	else if (!strcmp(type,"XSVCD"))
 		SetXSVCDMplex();
+	else if (!strcmp(type,"XVCD"))
+		SetXVCDMplex();
 	else usage(argv[0]);
 	cerr << endl;






-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index