diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2017-11-23 15:03:48 +0100 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2017-11-23 11:39:33 -0500 |
commit | a4c18ff243866ee944495048b5c28b33d91ce947 (patch) | |
tree | 9465f8aa8e55c5166e5afb2ec9f1538db8dae1d2 | |
parent | 4f91b6f8739adbf96e9f9129603e2cedde99d43a (diff) | |
download | gst-omx-a4c18ff243866ee944495048b5c28b33d91ce947.tar.gz |
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
-rw-r--r-- | omx/gstomxh264enc.c | 14 | ||||
-rw-r--r-- | omx/gstomxh264utils.c | 10 |
2 files changed, 24 insertions, 0 deletions
diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c index 8a9c4c4..148b634 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 6aeb088..828cf65 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; |