gst_codec_utils_h264_get_profile (const guint8 * sps, guint len)
{
const gchar *profile = NULL;
- gint csf1, csf3;
+ gint csf1, csf3, csf5;
g_return_val_if_fail (sps != NULL, NULL);
csf1 = (sps[1] & 0x40) >> 6;
csf3 = (sps[1] & 0x10) >> 4;
+ csf5 = (sps[1] & 0x04) >> 2;
switch (sps[0]) {
case 66:
case 128:
profile = "stereo-high";
break;
+ case 83:
+ if (csf5)
+ profile = "scalable-constrained-baseline";
+ else
+ profile = "scalable-baseline";
+ break;
+ case 86:
+ profile = "scalable-high";
+ break;
default:
return NULL;
}
return "4.2";
case 51:
return "5.1";
+ case 52:
+ return "5.2";
default:
return NULL;
}
return 50;
else if (!strcmp (level, "5.1"))
return 51;
+ else if (!strcmp (level, "5.2"))
+ return 52;
GST_WARNING ("Invalid level %s", level);
return 0;