0002-Fix-gst-omx-Enable-the-gst-omx-VPU-decoding-and-enco.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. From 810800c303965e5cb0cf135210667c003f050ee0 Mon Sep 17 00:00:00 2001
  2. From: "andy.hu" <andy.hu@starfive.com>
  3. Date: Tue, 10 Aug 2021 19:18:00 +0800
  4. Subject: [PATCH] Fix(gst-omx): Enable the gst-omx VPU decoding and encoding
  5. support h264 High L5.2
  6. ---
  7. diff --git a/meson.build b/meson.build
  8. index aeda56a..48121ab 100644
  9. --- a/meson.build
  10. +++ b/meson.build
  11. @@ -217,6 +217,7 @@ elif omx_target == 'tizonia'
  12. gst_omx_args += ['-I' + tizil_includedir + '/tizonia']
  13. omx_inc = []
  14. elif omx_target == 'stf'
  15. + cdata.set('USE_OMX_TARGET_STARFIVE', 1)
  16. warning('stf selected')
  17. else
  18. error ('Unsupported omx target specified. Use the -Dtarget option')
  19. diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c
  20. index 51d84a8..875f974 100644
  21. --- a/omx/gstomxh264enc.c
  22. +++ b/omx/gstomxh264enc.c
  23. @@ -824,6 +824,11 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
  24. case OMX_VIDEO_AVCLevel51:
  25. level = "5.1";
  26. break;
  27. +#ifdef USE_OMX_TARGET_STARFIVE
  28. + case OMX_VIDEO_AVCLevel52:
  29. + level = "5.2";
  30. + break;
  31. +#else
  32. #ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
  33. case OMX_ALG_VIDEO_AVCLevel52:
  34. level = "5.2";
  35. @@ -837,6 +842,7 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
  36. case OMX_ALG_VIDEO_AVCLevel62:
  37. level = "6.2";
  38. break;
  39. +#endif
  40. #endif
  41. default:
  42. g_assert_not_reached ();
  43. diff --git a/omx/gstomxh264utils.c b/omx/gstomxh264utils.c
  44. index ba29211..a6e95e3 100644
  45. --- a/omx/gstomxh264utils.c
  46. +++ b/omx/gstomxh264utils.c
  47. @@ -115,6 +115,10 @@ gst_omx_h264_utils_get_level_from_str (const gchar * level)
  48. return OMX_VIDEO_AVCLevel5;
  49. } else if (g_str_equal (level, "5.1")) {
  50. return OMX_VIDEO_AVCLevel51;
  51. +#ifdef USE_OMX_TARGET_STARFIVE
  52. + } else if (g_str_equal (level, "5.2")) {
  53. + return OMX_VIDEO_AVCLevel52;
  54. +#else
  55. #ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
  56. } else if (g_str_equal (level, "5.2")) {
  57. return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel52;
  58. @@ -124,6 +128,7 @@ gst_omx_h264_utils_get_level_from_str (const gchar * level)
  59. return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel61;
  60. } else if (g_str_equal (level, "6.2")) {
  61. return (OMX_VIDEO_AVCLEVELTYPE) OMX_ALG_VIDEO_AVCLevel62;
  62. +#endif
  63. #endif
  64. }
  65. --
  66. 2.17.1