summaryrefslogtreecommitdiff
path: root/gtk2_ardour/export_video_dialog.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-03-31 19:34:05 +0200
committerRobin Gareus <robin@gareus.org>2013-03-31 19:34:58 +0200
commitab3040f789b543602950ad30a9b9206abfa285a3 (patch)
tree69026af6ada7fbff87af57492009a1bdf060d5c6 /gtk2_ardour/export_video_dialog.cc
parent6f78b824529a0ebbe51053930998cd8cbfefbf2e (diff)
vtl: ffmpeg interaction:
* use ardour/SRC to resample audio on import * parse framerate via codec-timebase if available * update encoder parameters * add vpx/webm as codec option
Diffstat (limited to 'gtk2_ardour/export_video_dialog.cc')
-rw-r--r--gtk2_ardour/export_video_dialog.cc34
1 files changed, 23 insertions, 11 deletions
diff --git a/gtk2_ardour/export_video_dialog.cc b/gtk2_ardour/export_video_dialog.cc
index 104a1c5c6d..7491640e39 100644
--- a/gtk2_ardour/export_video_dialog.cc
+++ b/gtk2_ardour/export_video_dialog.cc
@@ -229,7 +229,7 @@ ExportVideoDialog::ExportVideoDialog (PublicEditor& ed, Session* s)
audio_codec_combo.set_name ("PaddedButton");
audio_codec_combo.append_text("ac3");
- audio_codec_combo.append_text("libfaac");
+ audio_codec_combo.append_text("aac");
audio_codec_combo.append_text("libmp3lame");
audio_codec_combo.append_text("libvorbis");
audio_codec_combo.append_text("mp2");
@@ -242,8 +242,9 @@ ExportVideoDialog::ExportVideoDialog (PublicEditor& ed, Session* s)
video_codec_combo.append_text("mjpeg");
video_codec_combo.append_text("mpeg2video");
video_codec_combo.append_text("mpeg4");
- video_codec_combo.append_text("x264 (default)");
+ video_codec_combo.append_text("x264 (baseline)");
video_codec_combo.append_text("x264 (hq)");
+ video_codec_combo.append_text("vpx (webm)");
video_codec_combo.append_text("copy");
video_codec_combo.set_active(4);
@@ -566,19 +567,27 @@ ExportVideoDialog::encode_pass (int pass)
ffs["-b:v"] = video_bitrate_combo.get_active_text();
}
ffs["-b:a"] = audio_bitrate_combo.get_active_text();
+
+ if (audio_codec_combo.get_active_text() == "aac" ) {
+ ffs["-strict"] = "-2";
+ }
+
if (video_codec_combo.get_active_text() == "x264 (hq)" ) {
ffs["-vcodec"] = "libx264";
- ffs["-vpre"] = "slow";
+ ffs["-vprofile"] = "high";
}
- else if (video_codec_combo.get_active_text() == "x264 (default)" ) {
+ else if (video_codec_combo.get_active_text() == "x264 (baseline)" ) {
ffs["-vcodec"] = "libx264";
- ffs["-vpre"] = "medium";
+ ffs["-vpre"] = "baseline";
+ }
+ else if (video_codec_combo.get_active_text() == "vpx (webm)" ) {
+ ffs["-vcodec"] = "libvpx";
+ ffs["-g"] = "120";
+ ffs["-qmin"] = "11";
+ ffs["-qmax"] = "51";
}
if (optimizations_checkbox.get_active()) {
- /* TODO: define these smartly in a header-file so that they can be
- * merged for printing as label and used here easyly
- */
if (video_codec_combo.get_active_text() == "mpeg2video") {
ffs["-mbd"] = "rd";
ffs["-trellis"] = "2";
@@ -587,7 +596,7 @@ ExportVideoDialog::encode_pass (int pass)
}
else if (video_codec_combo.get_active_text() == "mpeg4") {
ffs["-mbd"] = "rd";
- ffs["-flags"] = "+4mv+aic";
+ ffs["-flags"] = "+mv4+aic";
ffs["-trellis"] = "2";
ffs["-cmp"] = "2";
ffs["-subcmp"] = "2";
@@ -603,7 +612,10 @@ ExportVideoDialog::encode_pass (int pass)
}
}
- if (bframes_checkbox.get_active()) {
+ if (bframes_checkbox.get_active() && (
+ video_codec_combo.get_active_text() == "mpeg2video"
+ || video_codec_combo.get_active_text() == "mpeg4"
+ )) {
ffs["-bf"] = "2";
}
@@ -757,7 +769,7 @@ ExportVideoDialog::video_codec_combo_changed ()
if (video_codec_combo.get_active_text() == "mpeg2video") {
optimizations_label.set_text("-mbd rd -trellis 2 -cmp 2 -subcmp 2"); // mpeg2
} else if (video_codec_combo.get_active_text() == "mpeg4") {
- optimizations_label.set_text("-mbd rd -flags +4mv+aic -trellis 2 -cmp 2 -subcmp 2 -g 300"); // mpeg4
+ optimizations_label.set_text("-mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300"); // mpeg4
} else {
optimizations_label.set_text("-mbd 2 -cmp 2 -subcmp 2 -trellis 2 -flags +aic+mv0+mv4 -g 160"); // flv
}