From ed561dcdb1b67212c748f2cd47f271639fd57bb3 Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Thu, 9 Feb 2012 11:55:07 +0100 Subject: [PATCH] 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 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index 4865bcd84e..e81630d52a 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;