From 2da61ef2bf4cd1300ca4ed118ad727ff7cebe21f Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Mon, 16 Oct 2017 13:26:38 +0200 Subject: [PATCH] omxh265: fix enum casting when using Allegro HEVC extensions Allegro's HEVC implementation defines a superset of the profiles and enums from the Android implementation. Properly cast to fix -Wenum-conversion warnings from clang. https://bugzilla.gnome.org/show_bug.cgi?id=789057 --- omx/gstomxh265enc.c | 9 +++++++++ omx/gstomxh265utils.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/omx/gstomxh265enc.c b/omx/gstomxh265enc.c index 3185ee313a..614a163b8d 100644 --- a/omx/gstomxh265enc.c +++ b/omx/gstomxh265enc.c @@ -268,9 +268,18 @@ update_param_hevc (GstOMXH265Enc * self, } if (profile != OMX_VIDEO_HEVCProfileUnknown) +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS + param.eProfile = (OMX_ALG_VIDEO_HEVCPROFILETYPE) profile; +#else param.eProfile = profile; +#endif + if (level != OMX_VIDEO_HEVCLevelUnknown) +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS + param.eLevel = (OMX_ALG_VIDEO_HEVCLEVELTYPE) level; +#else param.eLevel = level; +#endif /* GOP pattern */ #ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS diff --git a/omx/gstomxh265utils.c b/omx/gstomxh265utils.c index 04c374ef88..e0045f8381 100644 --- a/omx/gstomxh265utils.c +++ b/omx/gstomxh265utils.c @@ -34,11 +34,11 @@ gst_omx_h265_utils_get_profile_from_str (const gchar * profile) return OMX_VIDEO_HEVCProfileMain10; #ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS } else if (g_str_equal (profile, "main-still-picture")) { - return OMX_ALG_VIDEO_HEVCProfileMainStill; + return (OMX_VIDEO_HEVCPROFILETYPE) OMX_ALG_VIDEO_HEVCProfileMainStill; } else if (g_str_equal (profile, "main422")) { - return OMX_ALG_VIDEO_HEVCProfileMain422; + return (OMX_VIDEO_HEVCPROFILETYPE) OMX_ALG_VIDEO_HEVCProfileMain422; } else if (g_str_equal (profile, "main422-10")) { - return OMX_ALG_VIDEO_HEVCProfileMain422_10; + return (OMX_VIDEO_HEVCPROFILETYPE) OMX_ALG_VIDEO_HEVCProfileMain422_10; #endif } return OMX_VIDEO_HEVCProfileUnknown;