X-Git-Url: https://git.decadent.org.uk/gitweb/?p=videolink.git;a=blobdiff_plain;f=webdvd.cpp;h=5b9afe042a412d2dbee489f426e79ffc999f5483;hp=10289999bf8dbe71761dd027fa6de0768903ed70;hb=6afd65acff8fba3d5b98813ff040deb1261f06b2;hpb=f27d045785151cd33fb5146cf2b7cbabf864e48a diff --git a/webdvd.cpp b/webdvd.cpp index 1028999..5b9afe0 100644 --- a/webdvd.cpp +++ b/webdvd.cpp @@ -753,7 +753,7 @@ namespace << "ffmpeg" << " -f image2 -vcodec png -i " << background_temp_->get_name() - << " -target " << frame_params_.name << "-dvd" + << " -target " << frame_params_.ffmpeg_name << "-dvd" << " -vcodec mpeg2video -an -y /dev/stdout" << " | spumux -v0 -mdvd " << state->spumux_temp.get_name() << " > " << contents_.menus[menu_num].vob_temp->get_name(); @@ -808,22 +808,19 @@ namespace const video::frame_params & lookup_frame_params(const char * str) { assert(str); - static const struct { const char * str; bool is_ntsc; } - known_strings[] = { - { "NTSC", true }, - { "ntsc", true }, - { "PAL", false }, - { "pal", false }, - // For DVD purposes, SECAM can be treated identically to PAL. - { "SECAM", false }, - { "secam", false } + static const char * const known_strings[] = { + "525", "625", + "525/60", "625/50", + "NTSC", "PAL", + "ntsc", "pal" }; for (std::size_t i = 0; i != sizeof(known_strings)/sizeof(known_strings[0]); ++i) - if (std::strcmp(str, known_strings[i].str) == 0) - return known_strings[i].is_ntsc ? - video::ntsc_params : video::pal_params; + if (std::strcmp(str, known_strings[i]) == 0) + return (i & 1) + ? video::frame_params_625 + : video::frame_params_525; throw std::runtime_error( std::string("Invalid video standard: ").append(str)); } @@ -832,7 +829,8 @@ namespace { stream << "Usage: " << command_name << " [gtk-options] [--preview]\n" - " [--video-std {ntsc|pal|secam}]\n" + " [--video-std {525|525/60|NTSC|ntsc" + " | 625|625/50|PAL|pal}]\n" " [--encoder {mjpegtools|mjpegtools-old}]\n" " menu-url [output-dir]\n"; } @@ -882,7 +880,7 @@ int main(int argc, char ** argv) { try { - video::frame_params frame_params = video::pal_params; + video::frame_params frame_params = video::frame_params_625; bool preview_mode = false; std::string menu_url; std::string output_dir;