summaryrefslogtreecommitdiff
path: root/libs/ardour/export_formats.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-19 23:44:50 +0100
committerRobin Gareus <robin@gareus.org>2018-11-20 00:21:01 +0100
commit27e0e78e1df90c2c1fa41a342a11d1c941fca1bf (patch)
tree8a51367d3b91b86e774c1e2a0e0c2226f6ca1264 /libs/ardour/export_formats.cc
parent5fa05b403ca21a6573d07b921dc14f0769dc9fc7 (diff)
Implement FFMPEG/MP3 export-format spec and profile
Diffstat (limited to 'libs/ardour/export_formats.cc')
-rw-r--r--libs/ardour/export_formats.cc31
1 files changed, 27 insertions, 4 deletions
diff --git a/libs/ardour/export_formats.cc b/libs/ardour/export_formats.cc
index 0ab02046c3..2539502f92 100644
--- a/libs/ardour/export_formats.cc
+++ b/libs/ardour/export_formats.cc
@@ -34,6 +34,13 @@ ExportFormat::has_sample_format ()
}
bool
+ExportFormat::has_codec_quality ()
+{
+ return dynamic_cast<HasCodecQuality *> (this);
+}
+
+
+bool
ExportFormat::sample_format_is_compatible (SampleFormat format) const
{
return (sample_formats.find (format) != sample_formats.end());
@@ -374,17 +381,33 @@ ExportFormatFFMPEG::ExportFormatFFMPEG (std::string const& name, std::string con
set_format_id (F_FFMPEG);
sample_formats.insert (SF_Float);
+ add_sample_rate (SR_8);
add_sample_rate (SR_22_05);
add_sample_rate (SR_44_1);
add_sample_rate (SR_48);
- add_sample_rate (SR_88_2);
- add_sample_rate (SR_96);
- add_sample_rate (SR_176_4);
- add_sample_rate (SR_192);
add_sample_rate (SR_Session);
add_endianness (E_Little);
+ add_codec_quality ("VBR 220-260 kb/s", 0);
+ add_codec_quality ("VBR 190-250 kb/s", -1);
+ add_codec_quality ("VBR 170-210 kb/s", -2);
+ add_codec_quality ("VBR 150-195 kb/s", -3);
+ add_codec_quality ("VBR 140-185 kb/s", -4);
+ add_codec_quality ("VBR 120-150 kb/s", -5);
+ add_codec_quality ("VBR 100-130 kb/s", -6);
+ add_codec_quality ("VBR 80-120 kb/s", -7);
+ add_codec_quality ("VBR 70-105 kb/s", -8);
+ add_codec_quality ("VBR 45-85 kb/s", -9);
+ /* Available CBR options are:
+ * 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
+ */
+ add_codec_quality ("CBR 64 kb/s", 64);
+ add_codec_quality ("CBR 128 kb/s", 128);
+ add_codec_quality ("CBR 160 kb/s", 160);
+ add_codec_quality ("CBR 192 kb/s", 192);
+ add_codec_quality ("CBR 256 kb/s", 256);
+
set_extension (ext);
set_quality (Q_LossyCompression);
}