From a4c18ff243866ee944495048b5c28b33d91ce947 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 23 Nov 2017 15:03:48 +0100 Subject: [PATCH] zynqultrascaleplus: add support for extra AVC levels The Zynqultrascaleplus has support for extra AVC levels not defined in the OMX spec as a customer extension. https://bugzilla.gnome.org/show_bug.cgi?id=790758 --- omx/gstomxh264enc.c | 14 ++++++++++++++ omx/gstomxh264utils.c | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c index 8a9c4c4bb6..148b634f59 100644 --- a/omx/gstomxh264enc.c +++ b/omx/gstomxh264enc.c @@ -696,6 +696,20 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port, case OMX_VIDEO_AVCLevel51: level = "5.1"; break; +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS + case OMX_ALG_VIDEO_AVCLevel52: + level = "5.2"; + break; + case OMX_ALG_VIDEO_AVCLevel60: + level = "6.0"; + break; + case OMX_ALG_VIDEO_AVCLevel61: + level = "6.1"; + break; + case OMX_ALG_VIDEO_AVCLevel62: + level = "6.2"; + break; +#endif default: g_assert_not_reached (); gst_caps_unref (caps); diff --git a/omx/gstomxh264utils.c b/omx/gstomxh264utils.c index 6aeb0881da..828cf65ffb 100644 --- a/omx/gstomxh264utils.c +++ b/omx/gstomxh264utils.c @@ -81,6 +81,16 @@ gst_omx_h264_utils_get_level_from_str (const gchar * level) return OMX_VIDEO_AVCLevel5; } else if (g_str_equal (level, "5.1")) { return OMX_VIDEO_AVCLevel51; +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS + } else if (g_str_equal (level, "5.2")) { + return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel52; + } else if (g_str_equal (level, "6.0")) { + return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel60; + } else if (g_str_equal (level, "6.1")) { + return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel61; + } else if (g_str_equal (level, "6.2")) { + return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel62; +#endif } return OMX_VIDEO_AVCLevelMax;