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 [EMAIL PROTECTED] with "unsubscribe linux-dvb" as 
subject.

Reply via email to