X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=generate_dvd.cpp;h=371894d41edc23abd7ac34abee8337fd52b64711;hb=606da39d64b2c54778aebf13c4ab7190ed7c7f8a;hp=6125738077a2d31d4a56ce21d1d65a0d75c33b85;hpb=750c7218b1b782c996379078714cec299050047f;p=videolink.git diff --git a/generate_dvd.cpp b/generate_dvd.cpp index 6125738..371894d 100644 --- a/generate_dvd.cpp +++ b/generate_dvd.cpp @@ -1,6 +1,7 @@ // Copyright 2005-8 Ben Hutchings . // See the file "COPYING" for licence details. +#include #include #include #include @@ -248,30 +249,21 @@ void dvd_generator::generate_menu_vob(unsigned index, "ffmpeg -f image2 -vcodec png" " -r " << frame_params_.rate_numer << "/" << frame_params_.rate_denom << - " -i " << background_name << - " -loop_input -t " << menu_duration_seconds(frame_params_) << + " -loop_input -i " << background_name << + " -t " << menu_duration_seconds(frame_params_) << " -target " << frame_params_.common_name << "-dvd" - " -vcodec mpeg2video -aspect 4:3 -an -y /dev/stdout"; + " -aspect 4:3 -an -y /dev/stdout"; } else { - assert(encoder_ == mpeg_encoder_mjpegtools_old - || encoder_ == mpeg_encoder_mjpegtools_new); + assert(encoder_ == mpeg_encoder_mjpegtools); command_stream << "pngtopnm " << background_name << " | ppmtoy4m -v0 -n" << menu_duration_frames(frame_params_) << " -F" << frame_params_.rate_numer << ":" << frame_params_.rate_denom << " -A" << frame_params_.pixel_ratio_width << ":" << frame_params_.pixel_ratio_height - << " -Ip "; - // The chroma subsampling keywords changed between - // versions 1.6.2 and 1.8 of mjpegtools. There is no - // keyword that works with both. - if (encoder_ == mpeg_encoder_mjpegtools_old) - command_stream << "-S420_mpeg2"; - else - command_stream << "-S420mpeg2"; - command_stream << + << " -Ip -S420mpeg2" " | mpeg2enc -v0 -f8 -a2 -o/dev/stdout" " | mplex -v0 -f8 -o/dev/stdout /dev/stdin"; } @@ -368,8 +360,9 @@ void dvd_generator::generate(const std::string & output_dir) const const bool have_real_menus = titleset_num * dvdauthor_anonymous_menus_max < menus_.size(); - file << " <" << outer_element_name << ">\n" - << " \n"; + file << " <" << outer_element_name << ">\n" << + " \n" + "