gst-plugins-ugly: x264enc: Add baseline profile to caps
Robert Swain
robswain at kemper.freedesktop.org
Thu Feb 9 03:01:45 PST 2012
Module: gst-plugins-ugly
Branch: master
Commit: ed561dcdb1b67212c748f2cd47f271639fd57bb3
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-ugly/commit/?id=ed561dcdb1b67212c748f2cd47f271639fd57bb3
Author: Robert Swain <robert.swain at collabora.co.uk>
Date: Thu Feb 9 11:55:07 2012 +0100
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.
---
ext/x264/gstx264enc.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
index 4865bcd..e81630d 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;
More information about the gstreamer-commits
mailing list