Bug ID | 106625 |
---|---|
Summary | GPL Request: Where is AMD's patch for libomxil-bellagio / gst-plugins-omx to support HEVC decode? |
Product | Mesa |
Version | git |
Hardware | x86-64 (AMD64) |
OS | All |
Status | NEW |
Severity | enhancement |
Priority | medium |
Component | Drivers/Gallium/radeonsi |
Assignee | dri-devel@lists.freedesktop.org |
Reporter | hojuruku@gmail.com |
QA Contact | dri-devel@lists.freedesktop.org |
The gallium driver has a h265 decode module for libomxil-bellagio, but not for https://github.com/tizonia/tizonia-openmax-il implementation. It's in /gallium/state_trackers/omx https://github.com/freedesktop/mesa/blob/master/src/gallium/state_trackers/omx/bellagio/vid_dec_h265.c tizonia includes EGL support so maybe it would be better to add the H265 encode/decode support to that because libomxil-beligago hasn't been updated upstream since 2012. Now I've checked with the official AMD Radeon (amdgpu) drivers 18.10 and their bundled /etc/xdg/gstomx.conf doesn't have the hevc video decoder enabled by default (through the configuration file), though I haven't checked yet if it's enabled in the code to make this a proper "GPL" source code request. The patches are probably already floating AMD, OMX HEVC support has found it's way into mesa mesa but to the libraries that use it. Can one use omx HEVC decode in the mesa state tracker without AMD's patch to libomxil-bellago? Can you please release it? [omxh264dec] type-name=GstOMXH264Dec core-name=/usr/lib64/libomxil-bellagio.so.0 component-name=OMX.mesa.video_decoder.avc rank=258 in-port-index=0 out-port-index=1 [omxmpeg2dec] type-name=GstOMXMPEG2VideoDec core-name=/usr/lib64/libomxil-bellagio.so.0 component-name=OMX.mesa.video_decoder.mpeg2 rank=258 in-port-index=0 out-port-index=1 #[omxh265dec] #type-name=GstOMXH265Dec #core-name=/usr/lib64/libomxil-bellagio.so.0 #component-name=OMX.mesa.video_decoder.hevc #in-port-index=0 #out-port-index=1 #rank=258 [omxh264enc] type-name=GstOMXH264Enc core-name=/usr/lib64/libomxil-bellagio.so.0 component-name=OMX.mesa.video_encoder.avc in-port-index=0 out-port-index=1 The hevc decode support added a 6 months ago (1.14.0) to gst-plugins-omx is for a different openmax implementation: https://github.com/GStreamer/gst-omx/commit/5751001ddc0ea099d6cdbe817a6882959991a3c9 "Add HEVC decoder for the zynqultrascaleplus platform. I used the H264 decoder code as a template. https://bugzilla.gnome.org/show_bug.cgi?id=785434" I know you probably implemented it differently but these are some of the things missing from OMX_Video.h typedef enum OMX_VIDEO_CODINGTYPE { OMX_VIDEO_CodingUnused, /**< Value when coding is N/A */ OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */ OMX_VIDEO_CodingMPEG2, /**< AKA: H.262 */ OMX_VIDEO_CodingH263, /**< H.263 */ OMX_VIDEO_CodingMPEG4, /**< MPEG-4 */ OMX_VIDEO_CodingWMV, /**< all versions of Windows Media Video */ OMX_VIDEO_CodingRV, /**< all versions of Real Video */ OMX_VIDEO_CodingAVC, /**< H.264/AVC */ OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */ OMX_VIDEO_CodingHEVC, OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ OMX_VIDEO_CodingMax = 0x7FFFFFFF } OMX_VIDEO_CODINGTYPE; gstomxh265utils.h:29:1: error: unknown type name ‘OMX_VIDEO_HEVCPROFILETYPE’; did you mean ‘OMX_VIDEO_AVCPROFILETYPE’? OMX_VIDEO_HEVCPROFILETYPE gst_omx_h265_utils_get_profile_from_str (const ^~~~~~~~~~~~~~~~~~~~~~~~~ OMX_VIDEO_AVCPROFILETYPE gstomxh265utils.h:31:1: error: unknown type name ‘OMX_VIDEO_HEVCLEVELTYPE’; did you mean ‘OMX_VIDEO_AVCLEVELTYPE’? OMX_VIDEO_HEVCLEVELTYPE gst_omx_h265_utils_get_level_from_str (const gchar * ^~~~~~~~~~~~~~~~~~~~~~~ OMX_VIDEO_AVCLEVELTYPE gstomxh265utils.h:34:57: error: unknown type name ‘OMX_VIDEO_HEVCPROFILETYPE’; did you mean ‘OMX_VIDEO_AVCPROFILETYPE’? const gchar * gst_omx_h265_utils_get_profile_from_enum (OMX_VIDEO_HEVCPROFILETYPE e); ^~~~~~~~~~~~~~~~~~~~~~~~~ OMX_VIDEO_AVCPROFILETYPE gstomxh265dec.c: In function ‘set_profile_and_level’: gstomxh265dec.c:138:25: error: ‘OMX_VIDEO_HEVCProfileUnknown’ undeclared (first use in this function); did you mean ‘OMX_VIDEO_AVCProfileMain’? if (param.eProfile == OMX_VIDEO_HEVCProfileUnknown) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ OMX_VIDEO_AVCProfileMain gstomxh265dec.c:138:25: note: each undeclared identifier is reported only once for each function it appears in gstomxh265dec.c:148:23: error: ‘OMX_VIDEO_HEVCLevelUnknown’ undeclared (first use in this function); did you mean ‘OMX_VIDEO_HEVCProfileUnknown’? if (param.eLevel == OMX_VIDEO_HEVCLevelUnknown) ^~~~~~~~~~~~~~~~~~~~~~~~~~ OMX_VIDEO_HEVCProfileUnknown
You are receiving this mail because:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel