summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorRobert Swain <robert.swain@collabora.co.uk>2012-02-09 11:55:07 +0100
committerRobert Swain <robert.swain@collabora.co.uk>2012-02-09 11:55:07 +0100
commited561dcdb1b67212c748f2cd47f271639fd57bb3 (patch)
treec67ff722bc182d56dd16b26c7f1f5a0c10454eba /ext
parent73330c2ab86f1c8406464ff13db6f61a4bebe2cd (diff)
x264enc: Add baseline profile to caps
libx264 does not yet support the features that create the difference between baseline and constrained baseline profile. Hence it currently supports both though it can only technically encode constrained baseline.
Diffstat (limited to 'ext')
-rw-r--r--ext/x264/gstx264enc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
index 4865bcd8..e81630d5 100644
--- a/ext/x264/gstx264enc.c
+++ b/ext/x264/gstx264enc.c
@@ -478,8 +478,8 @@ static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
"width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ], "
"stream-format = (string) { byte-stream, avc }, "
"alignment = (string) { au }, "
- "profile = (string) { high-10, high, main, constrained-baseline, "
- "high-10-intra }")
+ "profile = (string) { high-10, high, main, baseline, "
+ "constrained-baseline, high-10-intra }")
);
static void gst_x264_enc_finalize (GObject * object);
@@ -1601,7 +1601,11 @@ gst_x264_enc_sink_set_caps (GstPad * pad, GstCaps * caps)
profile = gst_structure_get_string (s, "profile");
if (profile) {
- if (!strcmp (profile, "constrained-baseline")) {
+ /* FIXME - if libx264 ever adds support for FMO, ASO or redundant slices
+ * make sure constrained profile has a separate case which disables
+ * those */
+ if (!strcmp (profile, "constrained-baseline") ||
+ !strcmp (profile, "baseline")) {
encoder->peer_profile = "baseline";
} else if (!strcmp (profile, "high-10-intra")) {
encoder->peer_intra_profile = TRUE;