aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch34
-rw-r--r--common/recipes-graphics/mesa/mesa/0001-radeonsi-always-set-all-blend-registers.patch38
-rw-r--r--common/recipes-graphics/mesa/mesa/0002-radeonsi-set-CB_BLEND1_CONTROL.ENABLE-for-dual-sourc.patch29
-rw-r--r--common/recipes-graphics/mesa/mesa/0003-radeonsi-disable-RB-blend-optimizations-for-dual-sou.patch36
-rw-r--r--common/recipes-kernel/linux/files/0307-drm-radeon-Modify-kgd_engine_type-enum-to-match-CZ.patch30
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideodec-fix-multithreads-negotiation-problem-.patch36
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideoenc-use-scaling-default-macro-s.patch59
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideodec-remove-dead-code.patch99
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideoenc-fix-srcpad-caps-when-scaling-property.patch48
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideodec-simplify-_find_nearest_frame.patch125
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideoenc-add-fix-timestamp-property.patch111
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-add-force-keyframe-period-property.patch154
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-simplify-_find_nearest_frame.patch175
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-gstomxvideoenc-Add-new-property-to-set-framerate.patch185
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch77
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-gstomxvideoenc-Update-GstBuffer-fields-on-FRC.patch65
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-omx-add-tunneling-support-between-decoder-and-encode.patch328
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0007-gstomxvideoenc-implement-scaling-configuration-suppo.patch155
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0008-configure-fix-first-run-of-autogen-automake.patch29
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0009-omxvideodec-fix-startup-race-condition.patch33
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0010-omxvideoenc-fix-startup-race-condition.patch33
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch40
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0012-gstomxvideoenc-implement-capture-configuration-suppo.patch131
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0013-gstomxvideoenc-add-capture-geometry-support.patch158
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomxvideoenc-reduce-shutdown-timeout-for-tunnellin.patch29
-rw-r--r--meta-v1000/recipes-core/llvm/files/0001-CrossCompile.cmake-adjust-build-for-OE.patch44
-rw-r--r--meta-v1000/recipes-core/llvm/files/0002-CrossCompile.cmake-use-target-BuildVariables-include.patch33
-rw-r--r--meta-v1000/recipes-core/llvm/files/0004-CrossCompile.cmake-strip-sysroot-info-from-build-var.patch34
28 files changed, 0 insertions, 2348 deletions
diff --git a/common/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch b/common/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
deleted file mode 100644
index fc5aa4e3..00000000
--- a/common/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ff8f68cc48fd3c30d55e1d570d51f2e0952c968e Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sat, 25 Jan 2014 23:49:44 -0500
-Subject: [PATCH] autogen.sh: exclude .pc from po/POTFILES.in
-
-Exclude the .pc from po/POTFILES.in since quilt uses "patch --backup",
-which will create the backup file under .pc, this may cause unexpected
-errors, for example, on CentOS 5.x, if the backup file is null
-(newfile), it's mode will be 000, then we will get errors when xgettext
-try to read it.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- autogen.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/autogen.sh b/autogen.sh
-index 7424428..843619e 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -5,7 +5,7 @@ set -e
- export LC_COLLATE=C
- unset LC_ALL
-
--find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
-+find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -path './.pc/*' | sort > po/POTFILES.in
- find util -iname '*.in' ! -name Makefile.in |sort > po/POTFILES-shell.in
-
- echo "Importing unicode..."
---
-1.7.10.4
-
diff --git a/common/recipes-graphics/mesa/mesa/0001-radeonsi-always-set-all-blend-registers.patch b/common/recipes-graphics/mesa/mesa/0001-radeonsi-always-set-all-blend-registers.patch
deleted file mode 100644
index ed2e91e1..00000000
--- a/common/recipes-graphics/mesa/mesa/0001-radeonsi-always-set-all-blend-registers.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 39bdbca891a49b51273268de62e8a4db1009cbe5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.olsak@amd.com>
-Date: Sat, 26 Nov 2016 15:39:06 +0100
-Subject: [PATCH 1/3] radeonsi: always set all blend registers
-
-Signed-off-by: Avinash M N <avimn@amd.com>
----
- src/gallium/drivers/radeonsi/si_state.c | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
-index 2cef615..d71be56 100644
---- a/src/gallium/drivers/radeonsi/si_state.c
-+++ b/src/gallium/drivers/radeonsi/si_state.c
-@@ -461,16 +461,15 @@ static void *si_create_blend_state_mode(struct pipe_context *ctx,
- S_028760_ALPHA_COMB_FCN(V_028760_OPT_COMB_BLEND_DISABLED);
-
- /* Only set dual source blending for MRT0 to avoid a hang. */
-- if (i >= 1 && blend->dual_src_blend)
-- continue;
--
-- if (!state->rt[j].colormask)
-+ if (i >= 1 && blend->dual_src_blend) {
-+ si_pm4_set_reg(pm4, R_028780_CB_BLEND0_CONTROL + i * 4, blend_cntl);
- continue;
-+ }
-
- /* cb_render_state will disable unused ones */
- blend->cb_target_mask |= (unsigned)state->rt[j].colormask << (4 * i);
-
-- if (!state->rt[j].blend_enable) {
-+ if (!state->rt[j].colormask || !state->rt[j].blend_enable) {
- si_pm4_set_reg(pm4, R_028780_CB_BLEND0_CONTROL + i * 4, blend_cntl);
- continue;
- }
---
-2.7.4
-
diff --git a/common/recipes-graphics/mesa/mesa/0002-radeonsi-set-CB_BLEND1_CONTROL.ENABLE-for-dual-sourc.patch b/common/recipes-graphics/mesa/mesa/0002-radeonsi-set-CB_BLEND1_CONTROL.ENABLE-for-dual-sourc.patch
deleted file mode 100644
index 4b7ecc1c..00000000
--- a/common/recipes-graphics/mesa/mesa/0002-radeonsi-set-CB_BLEND1_CONTROL.ENABLE-for-dual-sourc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3f6039e2e1fd5504ec4971f68b0ec09b3b7899f8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.olsak@amd.com>
-Date: Sat, 26 Nov 2016 15:43:39 +0100
-Subject: [PATCH 2/3] radeonsi: set CB_BLEND1_CONTROL.ENABLE for dual source
- blending
-
-Signed-off-by: Avinash M N <avimn@amd.com>
----
- src/gallium/drivers/radeonsi/si_state.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
-index d71be56..349bcaa 100644
---- a/src/gallium/drivers/radeonsi/si_state.c
-+++ b/src/gallium/drivers/radeonsi/si_state.c
-@@ -462,6 +462,10 @@ static void *si_create_blend_state_mode(struct pipe_context *ctx,
-
- /* Only set dual source blending for MRT0 to avoid a hang. */
- if (i >= 1 && blend->dual_src_blend) {
-+ /* Vulkan does this for dual source blending. */
-+ if (i == 1)
-+ blend_cntl |= S_028780_ENABLE(1);
-+
- si_pm4_set_reg(pm4, R_028780_CB_BLEND0_CONTROL + i * 4, blend_cntl);
- continue;
- }
---
-2.7.4
-
diff --git a/common/recipes-graphics/mesa/mesa/0003-radeonsi-disable-RB-blend-optimizations-for-dual-sou.patch b/common/recipes-graphics/mesa/mesa/0003-radeonsi-disable-RB-blend-optimizations-for-dual-sou.patch
deleted file mode 100644
index b06091f7..00000000
--- a/common/recipes-graphics/mesa/mesa/0003-radeonsi-disable-RB-blend-optimizations-for-dual-sou.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e130c192cb70df096aef57b2a308ccafe3228ceb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.olsak@amd.com>
-Date: Sat, 26 Nov 2016 15:52:05 +0100
-Subject: [PATCH 3/3] radeonsi: disable RB+ blend optimizations for dual source
- blending
-
-Signed-off-by: Avinash M N <avimn@amd.com>
----
- src/gallium/drivers/radeonsi/si_state.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
-index 349bcaa..b51c74d 100644
---- a/src/gallium/drivers/radeonsi/si_state.c
-+++ b/src/gallium/drivers/radeonsi/si_state.c
-@@ -554,6 +554,17 @@ static void *si_create_blend_state_mode(struct pipe_context *ctx,
- }
-
- if (sctx->b.family == CHIP_STONEY) {
-+ /* Disable RB+ blend optimizations for dual source blending.
-+ * Vulkan does this.
-+ */
-+ if (blend->dual_src_blend) {
-+ for (int i = 0; i < 8; i++) {
-+ sx_mrt_blend_opt[i] =
-+ S_028760_COLOR_COMB_FCN(V_028760_OPT_COMB_NONE) |
-+ S_028760_ALPHA_COMB_FCN(V_028760_OPT_COMB_NONE);
-+ }
-+ }
-+
- for (int i = 0; i < 8; i++)
- si_pm4_set_reg(pm4, R_028760_SX_MRT0_BLEND_OPT + i * 4,
- sx_mrt_blend_opt[i]);
---
-2.7.4
-
diff --git a/common/recipes-kernel/linux/files/0307-drm-radeon-Modify-kgd_engine_type-enum-to-match-CZ.patch b/common/recipes-kernel/linux/files/0307-drm-radeon-Modify-kgd_engine_type-enum-to-match-CZ.patch
deleted file mode 100644
index 95cf4372..00000000
--- a/common/recipes-kernel/linux/files/0307-drm-radeon-Modify-kgd_engine_type-enum-to-match-CZ.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 22801f76fa59870aed2c0b8a4eb6c8d6993347ae Mon Sep 17 00:00:00 2001
-From: Oded Gabbay <oded.gabbay@gmail.com>
-Date: Mon, 19 Jan 2015 16:20:21 +0200
-Subject: [PATCH 0307/1050] drm/radeon: Modify kgd_engine_type enum to match CZ
-
-This patch splits the KGD_ENGINE_SDMA to KGD_ENGINE_SDMA1 and
-KGD_ENGINE_SDMA2 to match CZ definitions.
-
-Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
----
- drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
-index 9080daa..888250b 100644
---- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
-+++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
-@@ -52,7 +52,8 @@ enum kgd_engine_type {
- KGD_ENGINE_MEC1,
- KGD_ENGINE_MEC2,
- KGD_ENGINE_RLC,
-- KGD_ENGINE_SDMA,
-+ KGD_ENGINE_SDMA1,
-+ KGD_ENGINE_SDMA2,
- KGD_ENGINE_MAX
- };
-
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideodec-fix-multithreads-negotiation-problem-.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideodec-fix-multithreads-negotiation-problem-.patch
deleted file mode 100644
index 28078995..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideodec-fix-multithreads-negotiation-problem-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c223d8863624a93cd969b421b302df5d74f7fbaf Mon Sep 17 00:00:00 2001
-From: Leo Liu <leo.liu@amd.com>
-Date: Thu, 7 Nov 2013 13:13:19 -0500
-Subject: [PATCH 01/11] gstomxvideodec: fix multithreads negotiation problem
- v2
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-v2: update comment text
-
-Signed-off-by: Leo Liu <leo.liu@amd.com>
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideodec.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index bf44b3d..0d8801e 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -2675,6 +2675,11 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
- if (!gst_omx_video_dec_negotiate (self))
- GST_LOG_OBJECT (self, "Negotiation failed, will get output format later");
-
-+ /* Make sure other threads are done enabling it */
-+ if (gst_omx_port_wait_enabled (self->dec_out_port,
-+ 1 * GST_SECOND) != OMX_ErrorNone)
-+ return FALSE;
-+
- /* Disable output port */
- if (gst_omx_port_set_enabled (self->dec_out_port, FALSE) != OMX_ErrorNone)
- return FALSE;
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideoenc-use-scaling-default-macro-s.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideoenc-use-scaling-default-macro-s.patch
deleted file mode 100644
index b5cdb082..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-gstomxvideoenc-use-scaling-default-macro-s.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From ca0e2ccb9323129b69036094145afa872799ce53 Mon Sep 17 00:00:00 2001
-From: Arindam Nath <arindam.nath@amd.com>
-Date: Fri, 31 Jul 2015 11:51:22 +0530
-Subject: [PATCH 1/4] gstomxvideoenc: use scaling default macro's
-
-* use #define macros instead of hardcoded value for default
-* if omx failed to set the request scaling parameter then use default scaling value
-
-Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
-Signed-off-by: Arindam Nath <arindam.nath@amd.com>
----
- omx/gstomxvideoenc.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index f42ec13..1a0ecea 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -395,8 +395,8 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
- }
- }
-
-- if (self->scaling_width != 0xffffffff ||
-- self->scaling_height != 0xffffffff) {
-+ if (self->scaling_width != GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT ||
-+ self->scaling_height != GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT) {
- OMX_CONFIG_SCALEFACTORTYPE scale_factor;
- GST_OMX_INIT_STRUCT (&scale_factor);
- scale_factor.nPortIndex = self->enc_out_port->index;
-@@ -406,9 +406,9 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
-
- if (err == OMX_ErrorNone) {
-
-- if (self->scaling_width != 0xffffffff)
-+ if (self->scaling_width != GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT)
- scale_factor.xWidth = self->scaling_width;
-- if (self->scaling_height != 0xffffffff)
-+ if (self->scaling_height != GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT)
- scale_factor.xHeight = self->scaling_height;
-
- err =
-@@ -417,10 +417,14 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
- if (err == OMX_ErrorUnsupportedIndex) {
- GST_WARNING_OBJECT (self,
- "Setting scale configuration not supported by the component");
-+ self->scaling_width = GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT;
-+ self->scaling_height = GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT;
- } else if (err == OMX_ErrorUnsupportedSetting) {
- GST_WARNING_OBJECT (self,
- "Setting scale configuration %u %u not supported by the component",
- self->scaling_width, self->scaling_height);
-+ self->scaling_width = GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT;
-+ self->scaling_height = GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT;
- } else if (err != OMX_ErrorNone) {
- GST_ERROR_OBJECT (self,
- "Failed to set scale configuration: %s (0x%08x)",
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideodec-remove-dead-code.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideodec-remove-dead-code.patch
deleted file mode 100644
index 305e8b20..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideodec-remove-dead-code.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 45a91c687ea3a2ce80fcffcdea413b9dcac55242 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Thu, 5 Sep 2013 02:05:52 -0600
-Subject: [PATCH 02/11] gstomxvideodec: remove dead code
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This code doesn't seems to be used for quite a while,
-remove it before it starts to rot.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideodec.c | 48 +-----------------------------------------------
- 1 file changed, 1 insertion(+), 47 deletions(-)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index 0d8801e..6b5cbe3 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -1008,19 +1008,13 @@ gst_omx_video_dec_change_state (GstElement * element, GstStateChange transition)
- return ret;
- }
-
--#define MAX_FRAME_DIST_TICKS (5 * OMX_TICKS_PER_SECOND)
--#define MAX_FRAME_DIST_FRAMES (100)
--
- static GstVideoCodecFrame *
- _find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
- {
-- GList *l, *best_l = NULL;
-- GList *finish_frames = NULL;
- GstVideoCodecFrame *best = NULL;
-- guint64 best_timestamp = 0;
- guint64 best_diff = G_MAXUINT64;
-- BufferIdentification *best_id = NULL;
- GList *frames;
-+ GList *l;
-
- frames = gst_video_decoder_get_frames (GST_VIDEO_DECODER (self));
-
-@@ -1045,10 +1039,7 @@ _find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
-
- if (best == NULL || diff < best_diff) {
- best = tmp;
-- best_timestamp = timestamp;
- best_diff = diff;
-- best_l = l;
-- best_id = id;
-
- /* For frames without timestamp we simply take the first frame */
- if ((buf->omx_buf->nTimeStamp == 0 && timestamp == 0) || diff == 0)
-@@ -1056,43 +1047,6 @@ _find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
- }
- }
-
-- if (FALSE && best_id) {
-- for (l = frames; l && l != best_l; l = l->next) {
-- GstVideoCodecFrame *tmp = l->data;
-- BufferIdentification *id = gst_video_codec_frame_get_user_data (tmp);
-- guint64 diff_ticks, diff_frames;
--
-- /* This happens for frames that were just added but
-- * which were not passed to the component yet. Ignore
-- * them here!
-- */
-- if (!id)
-- continue;
--
-- if (id->timestamp > best_timestamp)
-- break;
--
-- if (id->timestamp == 0 || best_timestamp == 0)
-- diff_ticks = 0;
-- else
-- diff_ticks = best_timestamp - id->timestamp;
-- diff_frames = best->system_frame_number - tmp->system_frame_number;
--
-- if (diff_ticks > MAX_FRAME_DIST_TICKS
-- || diff_frames > MAX_FRAME_DIST_FRAMES) {
-- finish_frames =
-- g_list_prepend (finish_frames, gst_video_codec_frame_ref (tmp));
-- }
-- }
-- }
--
-- if (FALSE && finish_frames) {
-- g_warning ("Too old frames, bug in decoder -- please file a bug");
-- for (l = finish_frames; l; l = l->next) {
-- gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), l->data);
-- }
-- }
--
- if (best)
- gst_video_codec_frame_ref (best);
-
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideoenc-fix-srcpad-caps-when-scaling-property.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideoenc-fix-srcpad-caps-when-scaling-property.patch
deleted file mode 100644
index f1952e8d..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0002-gstomxvideoenc-fix-srcpad-caps-when-scaling-property.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 647b180a8805f9f8b5fdd35c1bbc0a8e03d3e91f Mon Sep 17 00:00:00 2001
-From: Arindam Nath <arindam.nath@amd.com>
-Date: Fri, 31 Jul 2015 12:36:36 +0530
-Subject: [PATCH 2/4] gstomxvideoenc: fix srcpad caps when scaling property is
- specified
-
-if scaling parameter is specified then use the scaling width and height to configure the encoder state.
-
-Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
-Signed-off-by: Arindam Nath <arindam.nath@amd.com>
----
- omx/gstomxvideoenc.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index 1a0ecea..c372a0d 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -805,6 +805,14 @@ gst_omx_video_enc_handle_output_frame (GstOMXVideoEnc * self, GstOMXPort * port,
- gst_video_encoder_set_output_state (GST_VIDEO_ENCODER (self), caps,
- self->input_state);
- state->codec_data = codec_data;
-+ if (GST_OMX_VIDEO_ENC(self)->scaling_width !=
-+ GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT ||
-+ GST_OMX_VIDEO_ENC(self)->scaling_height !=
-+ GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT) {
-+ state->info.width = self->scaling_width;
-+ state->info.height = self->scaling_height;
-+ }
-+
- if (!gst_video_encoder_negotiate (GST_VIDEO_ENCODER (self))) {
- gst_video_codec_frame_unref (frame);
- return GST_FLOW_NOT_NEGOTIATED;
-@@ -928,6 +936,11 @@ gst_omx_video_enc_loop (GstOMXVideoEnc * self)
- state =
- gst_video_encoder_set_output_state (GST_VIDEO_ENCODER (self), caps,
- self->input_state);
-+ if (self->scaling_width != GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT ||
-+ self->scaling_height != GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT) {
-+ state->info.width = self->scaling_width;
-+ state->info.height = self->scaling_height;
-+ }
- gst_video_codec_state_unref (state);
-
- if (!gst_video_encoder_negotiate (GST_VIDEO_ENCODER (self))) {
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideodec-simplify-_find_nearest_frame.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideodec-simplify-_find_nearest_frame.patch
deleted file mode 100644
index f2c9a912..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideodec-simplify-_find_nearest_frame.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 75402afb7acd7bee4fe02ca2c2e524d3d7426d19 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Thu, 5 Sep 2013 02:23:39 -0600
-Subject: [PATCH 03/11] gstomxvideodec: simplify _find_nearest_frame
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-No need to make it more complicated and error prone than
-necessary. Also give the function a gst_omx_video_dec prefix
-to distinct it from the encoder function.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideodec.c | 60 ++++++++++++++------------------------------------
- 1 file changed, 16 insertions(+), 44 deletions(-)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index 6b5cbe3..020b7d3 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -646,18 +646,6 @@ gst_omx_buffer_pool_new (GstElement * element, GstOMXComponent * component,
- return GST_BUFFER_POOL (pool);
- }
-
--typedef struct _BufferIdentification BufferIdentification;
--struct _BufferIdentification
--{
-- guint64 timestamp;
--};
--
--static void
--buffer_identification_free (BufferIdentification * id)
--{
-- g_slice_free (BufferIdentification, id);
--}
--
- /* prototypes */
- static void gst_omx_video_dec_finalize (GObject * object);
-
-@@ -1009,40 +997,32 @@ gst_omx_video_dec_change_state (GstElement * element, GstStateChange transition)
- }
-
- static GstVideoCodecFrame *
--_find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
-+gst_omx_video_dec_find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
- {
- GstVideoCodecFrame *best = NULL;
-- guint64 best_diff = G_MAXUINT64;
-+ GstClockTimeDiff best_diff = G_MAXINT64;
-+ GstClockTime timestamp;
- GList *frames;
- GList *l;
-
-+ if (buf->omx_buf->nTimeStamp)
-+ timestamp =
-+ gst_util_uint64_scale (buf->omx_buf->nTimeStamp, GST_SECOND,
-+ OMX_TICKS_PER_SECOND);
-+ else
-+ timestamp = GST_CLOCK_TIME_NONE;
-+
- frames = gst_video_decoder_get_frames (GST_VIDEO_DECODER (self));
-
- for (l = frames; l; l = l->next) {
- GstVideoCodecFrame *tmp = l->data;
-- BufferIdentification *id = gst_video_codec_frame_get_user_data (tmp);
-- guint64 timestamp, diff;
-+ GstClockTimeDiff diff = ABS (GST_CLOCK_DIFF (timestamp, tmp->pts));
-
-- /* This happens for frames that were just added but
-- * which were not passed to the component yet. Ignore
-- * them here!
-- */
-- if (!id)
-- continue;
--
-- timestamp = id->timestamp;
--
-- if (timestamp > buf->omx_buf->nTimeStamp)
-- diff = timestamp - buf->omx_buf->nTimeStamp;
-- else
-- diff = buf->omx_buf->nTimeStamp - timestamp;
--
-- if (best == NULL || diff < best_diff) {
-+ if (diff < best_diff) {
- best = tmp;
- best_diff = diff;
-
-- /* For frames without timestamp we simply take the first frame */
-- if ((buf->omx_buf->nTimeStamp == 0 && timestamp == 0) || diff == 0)
-+ if (diff == 0)
- break;
- }
- }
-@@ -1947,7 +1927,7 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
- (guint) buf->omx_buf->nFlags, (guint64) buf->omx_buf->nTimeStamp);
-
- GST_VIDEO_DECODER_STREAM_LOCK (self);
-- frame = _find_nearest_frame (self, buf);
-+ frame = gst_omx_video_dec_find_nearest_frame (self, buf);
-
- if (frame
- && (deadline = gst_video_decoder_get_max_decode_time
-@@ -2926,16 +2906,8 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
- buf->omx_buf->nTickCount = 0;
- }
-
-- if (offset == 0) {
-- BufferIdentification *id = g_slice_new0 (BufferIdentification);
--
-- if (GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame))
-- buf->omx_buf->nFlags |= OMX_BUFFERFLAG_SYNCFRAME;
--
-- id->timestamp = buf->omx_buf->nTimeStamp;
-- gst_video_codec_frame_set_user_data (frame, id,
-- (GDestroyNotify) buffer_identification_free);
-- }
-+ if (offset == 0 && GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame))
-+ buf->omx_buf->nFlags |= OMX_BUFFERFLAG_SYNCFRAME;
-
- /* TODO: Set flags
- * - OMX_BUFFERFLAG_DECODEONLY for buffers that are outside
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideoenc-add-fix-timestamp-property.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideoenc-add-fix-timestamp-property.patch
deleted file mode 100644
index a7e9bdd1..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0003-gstomxvideoenc-add-fix-timestamp-property.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From e40121374266c6e72901ce77c09673fb28f78380 Mon Sep 17 00:00:00 2001
-From: Arindam Nath <arindam.nath@amd.com>
-Date: Fri, 31 Jul 2015 12:48:45 +0530
-Subject: [PATCH 3/4] gstomxvideoenc: add fix-timestamp property
-
-The property will force element to calculate the timestamp (dts and pts) based on duration.
-
-Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
-Signed-off-by: Arindam Nath <arindam.nath@amd.com>
----
- omx/gstomxvideoenc.c | 20 +++++++++++++++++++-
- omx/gstomxvideoenc.h | 3 +++
- 2 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index c372a0d..bba349a 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -101,7 +101,8 @@ enum
- PROP_SCALING_HEIGHT,
- PROP_CAPTURE,
- PROP_POS_X,
-- PROP_POS_Y
-+ PROP_POS_Y,
-+ PROP_FIX_TIMESTAMP
- };
-
- /* FIXME: Better defaults */
-@@ -115,6 +116,7 @@ enum
- #define GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT (FALSE)
- #define GST_OMX_VIDEO_ENC_POS_X_DEFAULT (0)
- #define GST_OMX_VIDEO_ENC_POS_Y_DEFAULT (0)
-+#define GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT FALSE
-
- /* class initialization */
-
-@@ -207,6 +209,11 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
- GST_PARAM_MUTABLE_READY));
-
-+ g_object_class_install_property (gobject_class, PROP_FIX_TIMESTAMP,
-+ g_param_spec_boolean ("fix-timestamp", "Calculate timestamp",
-+ "Calculate timestamp (dts/pts) based on duration",
-+ 0, G_PARAM_READWRITE));
-+
- element_class->change_state =
- GST_DEBUG_FUNCPTR (gst_omx_video_enc_change_state);
-
-@@ -246,6 +253,8 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->capture = GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT;
- self->pos_x = GST_OMX_VIDEO_ENC_POS_X_DEFAULT;
- self->pos_y = GST_OMX_VIDEO_ENC_POS_Y_DEFAULT;
-+ self->prev_timestamp = 0;
-+ self->fix_timestamp = GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -623,6 +632,9 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_POS_Y:
- self->pos_y = g_value_get_uint (value);
- break;
-+ case PROP_FIX_TIMESTAMP:
-+ self->fix_timestamp = g_value_get_boolean (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -666,6 +678,9 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_POS_Y:
- g_value_set_uint (value, self->pos_y);
- break;
-+ case PROP_FIX_TIMESTAMP:
-+ g_value_set_boolean (value, self->fix_timestamp);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -998,6 +1013,9 @@ gst_omx_video_enc_loop (GstOMXVideoEnc * self)
- GST_VIDEO_ENCODER_STREAM_LOCK (self);
- frame = gst_omx_video_enc_find_nearest_frame (self, buf);
-
-+ GST_INFO_OBJECT (self, "dts %" GST_TIME_FORMAT " pts %" GST_TIME_FORMAT,
-+ GST_TIME_ARGS(frame->dts), GST_TIME_ARGS(frame->pts));
-+
- g_assert (klass->handle_output_frame);
- flow_ret = klass->handle_output_frame (self, self->enc_out_port, buf, frame);
-
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index 3de563b..064583f 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -60,6 +60,7 @@ struct _GstOMXVideoEnc
- gboolean started;
-
- GstClockTime last_upstream_ts;
-+ GstClockTime prev_timestamp;
-
- /* Draining state */
- GMutex drain_lock;
-@@ -77,6 +78,8 @@ struct _GstOMXVideoEnc
- guint32 quant_p_frames;
- guint32 quant_b_frames;
-
-+ gboolean fix_timestamp;
-+
- guint32 scaling_width;
- guint32 scaling_height;
-
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-add-force-keyframe-period-property.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-add-force-keyframe-period-property.patch
deleted file mode 100644
index 5d0d606d..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-add-force-keyframe-period-property.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 8a24b4c8cbfc49deceb5595b76c5d9fc8dc5e602 Mon Sep 17 00:00:00 2001
-From: Arindam Nath <arindam.nath@amd.com>
-Date: Fri, 31 Jul 2015 13:05:36 +0530
-Subject: [PATCH 4/4] gstomxvideoenc: add force-keyframe-period property
-
-Add property to allow overriding the default keyframe period.
-
-Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
-Signed-off-by: Arindam Nath <arindam.nath@amd.com>
----
- omx/gstomxvideoenc.c | 56 +++++++++++++++++++++++++++++++++++++++-------------
- omx/gstomxvideoenc.h | 3 +++
- 2 files changed, 45 insertions(+), 14 deletions(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index bba349a..e7c7db5 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -102,7 +102,8 @@ enum
- PROP_CAPTURE,
- PROP_POS_X,
- PROP_POS_Y,
-- PROP_FIX_TIMESTAMP
-+ PROP_FIX_TIMESTAMP,
-+ PROP_FORCE_KEYFRAME_PERIOD
- };
-
- /* FIXME: Better defaults */
-@@ -117,6 +118,7 @@ enum
- #define GST_OMX_VIDEO_ENC_POS_X_DEFAULT (0)
- #define GST_OMX_VIDEO_ENC_POS_Y_DEFAULT (0)
- #define GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT FALSE
-+#define GST_OMX_VIDEO_ENC_FORCE_KEYFRAME_PERIOD (0xffffffff)
-
- /* class initialization */
-
-@@ -209,6 +211,13 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
- GST_PARAM_MUTABLE_READY));
-
-+ g_object_class_install_property (gobject_class, PROP_FORCE_KEYFRAME_PERIOD,
-+ g_param_spec_uint ("force-keyframe-period", "Force key frame",
-+ "Generate keyframe after a specified number of frames (0xffffffff=component default)",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_FORCE_KEYFRAME_PERIOD,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
- g_object_class_install_property (gobject_class, PROP_FIX_TIMESTAMP,
- g_param_spec_boolean ("fix-timestamp", "Calculate timestamp",
- "Calculate timestamp (dts/pts) based on duration",
-@@ -255,6 +264,7 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->pos_y = GST_OMX_VIDEO_ENC_POS_Y_DEFAULT;
- self->prev_timestamp = 0;
- self->fix_timestamp = GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT;
-+ self->force_keyframe_period = GST_OMX_VIDEO_ENC_FORCE_KEYFRAME_PERIOD;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -635,6 +645,9 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_FIX_TIMESTAMP:
- self->fix_timestamp = g_value_get_boolean (value);
- break;
-+ case PROP_FORCE_KEYFRAME_PERIOD:
-+ self->force_keyframe_period = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -681,6 +694,9 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_FIX_TIMESTAMP:
- g_value_set_boolean (value, self->fix_timestamp);
- break;
-+ case PROP_FORCE_KEYFRAME_PERIOD:
-+ g_value_set_uint (value, self->force_keyframe_period);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -1708,6 +1724,25 @@ done:
- return ret;
- }
-
-+static void
-+gst_omx_video_enc_force_keyframe (GstOMXVideoEnc * self, GstOMXPort * port)
-+{
-+ OMX_ERRORTYPE err;
-+ OMX_CONFIG_INTRAREFRESHVOPTYPE config;
-+
-+ GST_OMX_INIT_STRUCT (&config);
-+ config.nPortIndex = port->index;
-+ config.IntraRefreshVOP = OMX_TRUE;
-+
-+ GST_DEBUG_OBJECT (self, "Forcing a keyframe");
-+ err =
-+ gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigVideoIntraVOPRefresh, &config);
-+ if (err != OMX_ErrorNone)
-+ GST_ERROR_OBJECT (self, "Failed to force a keyframe: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+}
-+
- static GstFlowReturn
- gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
- GstVideoCodecFrame * frame)
-@@ -1735,6 +1770,11 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
-
- port = self->enc_in_port;
-
-+ /* do we need to force key frame ? */
-+ if ((self->force_keyframe_period != 0xffffffff) &&
-+ (self->input_frame_count++ % self->force_keyframe_period == 0))
-+ gst_omx_video_enc_force_keyframe (self, port);
-+
- if (port->tunneled) {
- gst_video_codec_frame_unref (frame);
- return self->downstream_flow_ret;
-@@ -1827,19 +1867,7 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
- GST_DEBUG_OBJECT (self, "Handling frame");
-
- if (GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME (frame)) {
-- OMX_CONFIG_INTRAREFRESHVOPTYPE config;
--
-- GST_OMX_INIT_STRUCT (&config);
-- config.nPortIndex = port->index;
-- config.IntraRefreshVOP = OMX_TRUE;
--
-- GST_DEBUG_OBJECT (self, "Forcing a keyframe");
-- err =
-- gst_omx_component_set_config (self->enc,
-- OMX_IndexConfigVideoIntraVOPRefresh, &config);
-- if (err != OMX_ErrorNone)
-- GST_ERROR_OBJECT (self, "Failed to force a keyframe: %s (0x%08x)",
-- gst_omx_error_to_string (err), err);
-+ gst_omx_video_enc_force_keyframe (self, port);
- }
-
- /* Copy the buffer content in chunks of size as requested
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index 064583f..bb8bff7 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -87,6 +87,9 @@ struct _GstOMXVideoEnc
- guint32 pos_x;
- guint32 pos_y;
-
-+ guint32 force_keyframe_period;
-+ guint64 input_frame_count;
-+
- GstFlowReturn downstream_flow_ret;
- };
-
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-simplify-_find_nearest_frame.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-simplify-_find_nearest_frame.patch
deleted file mode 100644
index b12bac17..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0004-gstomxvideoenc-simplify-_find_nearest_frame.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 91123307c8f934a867cf70b9ae6b27373311b8fc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Thu, 5 Sep 2013 03:41:10 -0600
-Subject: [PATCH 04/11] gstomxvideoenc: simplify _find_nearest_frame
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Just the same as we did with the decoder. Also give the
-function a gst_omx_video_enc prefix to distinct it from
-the decoder function.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideoenc.c | 102 ++++++++------------------------------------------
- 1 file changed, 15 insertions(+), 87 deletions(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index a85e815..3a139bb 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -55,18 +55,6 @@ gst_omx_video_enc_control_rate_get_type (void)
- return qtype;
- }
-
--typedef struct _BufferIdentification BufferIdentification;
--struct _BufferIdentification
--{
-- guint64 timestamp;
--};
--
--static void
--buffer_identification_free (BufferIdentification * id)
--{
-- g_slice_free (BufferIdentification, id);
--}
--
- /* prototypes */
- static void gst_omx_video_enc_finalize (GObject * object);
- static void gst_omx_video_enc_set_property (GObject * object, guint prop_id,
-@@ -551,88 +539,34 @@ gst_omx_video_enc_change_state (GstElement * element, GstStateChange transition)
- return ret;
- }
-
--#define MAX_FRAME_DIST_TICKS (5 * OMX_TICKS_PER_SECOND)
--#define MAX_FRAME_DIST_FRAMES (100)
--
- static GstVideoCodecFrame *
--_find_nearest_frame (GstOMXVideoEnc * self, GstOMXBuffer * buf)
-+gst_omx_video_enc_find_nearest_frame (GstOMXVideoEnc * self, GstOMXBuffer * buf)
- {
-- GList *l, *best_l = NULL;
-- GList *finish_frames = NULL;
- GstVideoCodecFrame *best = NULL;
-- guint64 best_timestamp = 0;
-- guint64 best_diff = G_MAXUINT64;
-- BufferIdentification *best_id = NULL;
-+ GstClockTimeDiff best_diff = G_MAXINT64;
-+ GstClockTime timestamp;
- GList *frames;
-+ GList *l;
-+
-+ if (buf->omx_buf->nTimeStamp)
-+ timestamp =
-+ gst_util_uint64_scale (buf->omx_buf->nTimeStamp, GST_SECOND,
-+ OMX_TICKS_PER_SECOND);
-+ else
-+ timestamp = GST_CLOCK_TIME_NONE;
-
- frames = gst_video_encoder_get_frames (GST_VIDEO_ENCODER (self));
-
- for (l = frames; l; l = l->next) {
- GstVideoCodecFrame *tmp = l->data;
-- BufferIdentification *id = gst_video_codec_frame_get_user_data (tmp);
-- guint64 timestamp, diff;
--
-- /* This happens for frames that were just added but
-- * which were not passed to the component yet. Ignore
-- * them here!
-- */
-- if (!id)
-- continue;
--
-- timestamp = id->timestamp;
-+ GstClockTimeDiff diff = ABS (GST_CLOCK_DIFF (timestamp, tmp->pts));
-
-- if (timestamp > buf->omx_buf->nTimeStamp)
-- diff = timestamp - buf->omx_buf->nTimeStamp;
-- else
-- diff = buf->omx_buf->nTimeStamp - timestamp;
--
-- if (best == NULL || diff < best_diff) {
-+ if (diff < best_diff) {
- best = tmp;
-- best_timestamp = timestamp;
- best_diff = diff;
-- best_l = l;
-- best_id = id;
--
-- /* For frames without timestamp we simply take the first frame */
-- if ((buf->omx_buf->nTimeStamp == 0 && timestamp == 0) || diff == 0)
-- break;
-- }
-- }
--
-- if (best_id) {
-- for (l = frames; l && l != best_l; l = l->next) {
-- GstVideoCodecFrame *tmp = l->data;
-- BufferIdentification *id = gst_video_codec_frame_get_user_data (tmp);
-- guint64 diff_ticks, diff_frames;
--
-- /* This happens for frames that were just added but
-- * which were not passed to the component yet. Ignore
-- * them here!
-- */
-- if (!id)
-- continue;
-
-- if (id->timestamp > best_timestamp)
-+ if (diff == 0)
- break;
--
-- if (id->timestamp == 0 || best_timestamp == 0)
-- diff_ticks = 0;
-- else
-- diff_ticks = best_timestamp - id->timestamp;
-- diff_frames = best->system_frame_number - tmp->system_frame_number;
--
-- if (diff_ticks > MAX_FRAME_DIST_TICKS
-- || diff_frames > MAX_FRAME_DIST_FRAMES) {
-- finish_frames =
-- g_list_prepend (finish_frames, gst_video_codec_frame_ref (tmp));
-- }
-- }
-- }
--
-- if (finish_frames) {
-- g_warning ("Too old frames, bug in encoder -- please file a bug");
-- for (l = finish_frames; l; l = l->next) {
-- gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (self), l->data);
- }
- }
-
-@@ -851,7 +785,7 @@ gst_omx_video_enc_loop (GstOMXVideoEnc * self)
- (guint) buf->omx_buf->nFlags, (guint64) buf->omx_buf->nTimeStamp);
-
- GST_VIDEO_ENCODER_STREAM_LOCK (self);
-- frame = _find_nearest_frame (self, buf);
-+ frame = gst_omx_video_enc_find_nearest_frame (self, buf);
-
- g_assert (klass->handle_output_frame);
- flow_ret = klass->handle_output_frame (self, self->enc_out_port, buf, frame);
-@@ -1559,7 +1493,6 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
- port = self->enc_in_port;
-
- while (acq_ret != GST_OMX_ACQUIRE_BUFFER_OK) {
-- BufferIdentification *id;
- GstClockTime timestamp, duration;
-
- /* Make sure to release the base class stream lock, otherwise
-@@ -1683,11 +1616,6 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
- self->last_upstream_ts += duration;
- }
-
-- id = g_slice_new0 (BufferIdentification);
-- id->timestamp = buf->omx_buf->nTimeStamp;
-- gst_video_codec_frame_set_user_data (frame, id,
-- (GDestroyNotify) buffer_identification_free);
--
- self->started = TRUE;
- err = gst_omx_port_release_buffer (port, buf);
- if (err != OMX_ErrorNone)
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-gstomxvideoenc-Add-new-property-to-set-framerate.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-gstomxvideoenc-Add-new-property-to-set-framerate.patch
deleted file mode 100644
index cc93f02c..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-gstomxvideoenc-Add-new-property-to-set-framerate.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 9ea8f85d9b9fac5de07256bd7a5f2e3f73291f3f Mon Sep 17 00:00:00 2001
-From: Nishanth Peethambaran <nishanth.peethambaran@amd.com>
-Date: Tue, 22 Mar 2016 18:58:42 -0400
-Subject: [PATCH 2/3] gstomxvideoenc: Add new property to set framerate
-
-Signed-off-by: Nishanth Peethambaran <nishanth.peethambaran@amd.com>
----
- omx/gstomxvideoenc.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- omx/gstomxvideoenc.h | 4 +++
- 2 files changed, 92 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index a1bc9fb..54c8f2c 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -103,7 +103,9 @@ enum
- PROP_POS_X,
- PROP_POS_Y,
- PROP_FIX_TIMESTAMP,
-- PROP_FORCE_KEYFRAME_PERIOD
-+ PROP_FORCE_KEYFRAME_PERIOD,
-+ PROP_FRAMERATE_NUM,
-+ PROP_FRAMERATE_DEN
- };
-
- /* FIXME: Better defaults */
-@@ -119,6 +121,7 @@ enum
- #define GST_OMX_VIDEO_ENC_POS_Y_DEFAULT (0)
- #define GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT FALSE
- #define GST_OMX_VIDEO_ENC_FORCE_KEYFRAME_PERIOD (0xffffffff)
-+#define GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT (0)
-
- /* class initialization */
-
-@@ -223,6 +226,20 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- "Calculate timestamp (dts/pts) based on duration",
- 0, G_PARAM_READWRITE));
-
-+ g_object_class_install_property (gobject_class, PROP_FRAMERATE_NUM,
-+ g_param_spec_uint ("framerate-num", "Framerate Numerator",
-+ "Numerator for output framerate",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
-+ g_object_class_install_property (gobject_class, PROP_FRAMERATE_DEN,
-+ g_param_spec_uint ("framerate-den", "Framerate Denominator",
-+ "Denominator for output framerate",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
- element_class->change_state =
- GST_DEBUG_FUNCPTR (gst_omx_video_enc_change_state);
-
-@@ -265,6 +282,9 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->prev_timestamp = 0;
- self->fix_timestamp = GST_OMX_VIDEO_ENC_FIX_TIMESTAMP_DEFAULT;
- self->force_keyframe_period = GST_OMX_VIDEO_ENC_FORCE_KEYFRAME_PERIOD;
-+ self->framerate_num = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ self->framerate_den = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ self->xEncodeFramerate = 0;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -525,6 +545,49 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
- gst_omx_error_to_string (err), err);
- }
- }
-+
-+ if (self->framerate_num != GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT &&
-+ self->framerate_den != GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT) {
-+
-+ OMX_CONFIG_FRAMERATETYPE framerate_config;
-+
-+ GST_OMX_INIT_STRUCT (&framerate_config);
-+ framerate_config.nPortIndex = self->enc_out_port->index;
-+
-+ err = gst_omx_component_get_config (self->enc,
-+ OMX_IndexConfigVideoFramerate, &framerate_config);
-+
-+ if (err == OMX_ErrorNone) {
-+
-+ framerate_config.xEncodeFramerate =
-+ (self->framerate_num << 16) / (self->framerate_den);
-+ err =
-+ gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigVideoFramerate, &framerate_config);
-+ if (err == OMX_ErrorUnsupportedIndex) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting parameter not supported by the component");
-+ self->framerate_num = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ self->framerate_den = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ } else if (err == OMX_ErrorUnsupportedSetting) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting framerate %u %u not supported by the component",
-+ self->framerate_num, self->framerate_den);
-+ self->framerate_num = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ self->framerate_den = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
-+ } else if (err != OMX_ErrorNone) {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set encoder framerate config: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ return FALSE;
-+ } else {
-+ self->xEncodeFramerate = framerate_config.xEncodeFramerate;
-+ }
-+ } else {
-+ GST_ERROR_OBJECT (self, "Failed to get framerate config: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ }
-+ }
- }
-
- return TRUE;
-@@ -647,6 +710,12 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_FORCE_KEYFRAME_PERIOD:
- self->force_keyframe_period = g_value_get_uint (value);
- break;
-+ case PROP_FRAMERATE_NUM:
-+ self->framerate_num = g_value_get_uint (value);
-+ break;
-+ case PROP_FRAMERATE_DEN:
-+ self->framerate_den = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -696,6 +765,12 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_FORCE_KEYFRAME_PERIOD:
- g_value_set_uint (value, self->force_keyframe_period);
- break;
-+ case PROP_FRAMERATE_NUM:
-+ self->framerate_num = g_value_get_uint (value);
-+ break;
-+ case PROP_FRAMERATE_DEN:
-+ self->framerate_den = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -848,6 +923,13 @@ gst_omx_video_enc_handle_output_frame (GstOMXVideoEnc * self, GstOMXPort * port,
- state->info.width = self->scaling_width;
- state->info.height = self->scaling_height;
- }
-+ if (GST_OMX_VIDEO_ENC (self)->framerate_num !=
-+ GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT &&
-+ GST_OMX_VIDEO_ENC (self)->framerate_den !=
-+ GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT) {
-+ state->info.fps_n = self->framerate_num;
-+ state->info.fps_d = self->framerate_den;
-+ }
-
- if (!gst_video_encoder_negotiate (GST_VIDEO_ENCODER (self))) {
- gst_video_codec_frame_unref (frame);
-@@ -978,6 +1060,11 @@ gst_omx_video_enc_loop (GstOMXVideoEnc * self)
- state->info.width = self->scaling_width;
- state->info.height = self->scaling_height;
- }
-+ if (self->framerate_num != GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT &&
-+ self->framerate_den != GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT) {
-+ state->info.fps_n = self->framerate_num;
-+ state->info.fps_d = self->framerate_den;
-+ }
- gst_video_codec_state_unref (state);
-
- if (!gst_video_encoder_negotiate (GST_VIDEO_ENCODER (self))) {
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index d348643..f09a23b 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -92,6 +92,10 @@ struct _GstOMXVideoEnc
- gboolean is_keyframe;
-
- GstFlowReturn downstream_flow_ret;
-+
-+ guint32 framerate_num;
-+ guint32 framerate_den;
-+ OMX_U32 xEncodeFramerate; /* Q16 format */
- };
-
- struct _GstOMXVideoEncClass
---
-2.1.4
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch
deleted file mode 100644
index 686e0693..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 1975efe159dc52a8030602736c5319785fb62329 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Thu, 5 Sep 2013 04:15:26 -0600
-Subject: [PATCH 05/11] omx: improve tunneling support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Keep track where the tunnel leads us instead of just if it's tunneled or not.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomx.c | 13 +++++++------
- omx/gstomx.h | 2 +-
- 2 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/omx/gstomx.c b/omx/gstomx.c
-index 4e94712..c8a8927 100644
---- a/omx/gstomx.c
-+++ b/omx/gstomx.c
-@@ -920,7 +920,7 @@ gst_omx_component_add_port (GstOMXComponent * comp, guint32 index)
- port->comp = comp;
- port->index = index;
-
-- port->tunneled = FALSE;
-+ port->tunneled = NULL;
-
- port->port_def = port_def;
-
-@@ -1085,8 +1085,8 @@ gst_omx_component_setup_tunnel (GstOMXComponent * comp1, GstOMXPort * port1,
- port2->index);
-
- if (err == OMX_ErrorNone) {
-- port1->tunneled = TRUE;
-- port2->tunneled = TRUE;
-+ port1->tunneled = port2;
-+ port2->tunneled = port1;
- }
-
- GST_DEBUG_OBJECT (comp1->parent,
-@@ -1115,7 +1115,8 @@ gst_omx_component_close_tunnel (GstOMXComponent * comp1, GstOMXPort * port1,
- g_return_val_if_fail (port2->port_def.eDir == OMX_DirInput,
- OMX_ErrorUndefined);
- g_return_val_if_fail (comp1->core == comp2->core, OMX_ErrorUndefined);
-- g_return_val_if_fail (port1->tunneled && port2->tunneled, OMX_ErrorUndefined);
-+ g_return_val_if_fail (port1->tunneled == port2, OMX_ErrorUndefined);
-+ g_return_val_if_fail (port2->tunneled == port1, OMX_ErrorUndefined);
-
- g_mutex_lock (&comp1->lock);
- g_mutex_lock (&comp2->lock);
-@@ -1136,8 +1137,8 @@ gst_omx_component_close_tunnel (GstOMXComponent * comp1, GstOMXPort * port1,
- gst_omx_error_to_string (err), err);
- }
-
-- port1->tunneled = FALSE;
-- port2->tunneled = FALSE;
-+ port1->tunneled = NULL;
-+ port2->tunneled = NULL;
-
- GST_DEBUG_OBJECT (comp1->parent,
- "Closed tunnel between %s port %u and %s port %u",
-diff --git a/omx/gstomx.h b/omx/gstomx.h
-index 8af81b8..3645b63 100644
---- a/omx/gstomx.h
-+++ b/omx/gstomx.h
-@@ -199,7 +199,7 @@ struct _GstOMXPort {
- GstOMXComponent *comp;
- guint32 index;
-
-- gboolean tunneled;
-+ GstOMXPort *tunneled;
-
- OMX_PARAM_PORTDEFINITIONTYPE port_def;
- GPtrArray *buffers; /* Contains GstOMXBuffer* */
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-gstomxvideoenc-Update-GstBuffer-fields-on-FRC.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-gstomxvideoenc-Update-GstBuffer-fields-on-FRC.patch
deleted file mode 100644
index 1bd0971a..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-gstomxvideoenc-Update-GstBuffer-fields-on-FRC.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 1fdd9ba35575f9d5001509111166e98c9d359984 Mon Sep 17 00:00:00 2001
-From: Nishanth Peethambaran <nishanth.peethambaran@amd.com>
-Date: Tue, 22 Mar 2016 19:21:20 -0400
-Subject: [PATCH 3/3] gstomxvideoenc: Update GstBuffer fields on FRC
-
-Update the ts, duration and offset fields of the encoder output
-GstBuffer to ensure the bitstream/container has the right header
-information.
-
-Signed-off-by: Nishanth Peethambaran <nishanth.peethambaran@amd.com>
----
- omx/gstomxvideoenc.c | 13 +++++++++++++
- omx/gstomxvideoenc.h | 1 +
- 2 files changed, 14 insertions(+)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index 54c8f2c..e3a1b19 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -285,6 +285,7 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->framerate_num = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
- self->framerate_den = GST_OMX_VIDEO_ENC_FRAMERATE_DEFAULT;
- self->xEncodeFramerate = 0;
-+ self->out_frame_count = 0;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -977,10 +978,22 @@ gst_omx_video_enc_handle_output_frame (GstOMXVideoEnc * self, GstOMXPort * port,
- }
-
- if (frame) {
-+ if (self->xEncodeFramerate) {
-+ outbuf->offset = self->out_frame_count++;
-+ outbuf->offset_end = self->out_frame_count;
-+ frame->pts = outbuf->pts;
-+ frame->dts = outbuf->pts;
-+ frame->duration = outbuf->duration;
-+ }
- frame->output_buffer = outbuf;
- flow_ret =
- gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (self), frame);
- } else {
-+ if (self->xEncodeFramerate) {
-+ outbuf->offset = self->out_frame_count++;
-+ outbuf->offset_end = self->out_frame_count;
-+ outbuf->dts = outbuf->pts;
-+ }
- GST_ERROR_OBJECT (self, "No corresponding frame found");
- flow_ret = gst_pad_push (GST_VIDEO_ENCODER_SRC_PAD (self), outbuf);
- }
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index f09a23b..653d78c 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -96,6 +96,7 @@ struct _GstOMXVideoEnc
- guint32 framerate_num;
- guint32 framerate_den;
- OMX_U32 xEncodeFramerate; /* Q16 format */
-+ guint32 out_frame_count;
- };
-
- struct _GstOMXVideoEncClass
---
-2.1.4
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-omx-add-tunneling-support-between-decoder-and-encode.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-omx-add-tunneling-support-between-decoder-and-encode.patch
deleted file mode 100644
index aa3e403f..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0006-omx-add-tunneling-support-between-decoder-and-encode.patch
+++ /dev/null
@@ -1,328 +0,0 @@
-From 17e9d641799a075a085a64d0543c5a51b11fd73d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Fri, 13 Sep 2013 03:33:19 -0600
-Subject: [PATCH 06/11] omx: add tunneling support between decoder and
- encoders v2
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Forward the frames through both the OMX tunnel as well as the gst pad, this
-way we can map OMX buffers to their frame counterpart when they left the
-tunnel on the other side.
-
-v2: fix tunnel close and buffer dealloc order
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomx.c | 6 +++-
- omx/gstomx.h | 2 ++
- omx/gstomxvideodec.c | 90 ++++++++++++++++++++++++++++++++++++++++++++------
- omx/gstomxvideoenc.c | 29 +++++++++++++---
- 4 files changed, 110 insertions(+), 17 deletions(-)
-
-diff --git a/omx/gstomx.c b/omx/gstomx.c
-index c8a8927..df3a8ff 100644
---- a/omx/gstomx.c
-+++ b/omx/gstomx.c
-@@ -1204,7 +1204,6 @@ gst_omx_port_acquire_buffer (GstOMXPort * port, GstOMXBuffer ** buf)
- GstOMXBuffer *_buf = NULL;
-
- g_return_val_if_fail (port != NULL, GST_OMX_ACQUIRE_BUFFER_ERROR);
-- g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
- g_return_val_if_fail (buf != NULL, GST_OMX_ACQUIRE_BUFFER_ERROR);
-
- *buf = NULL;
-@@ -1298,6 +1297,11 @@ retry:
- goto done;
- }
-
-+ if (port->tunneled) {
-+ ret = GST_OMX_ACQUIRE_BUFFER_TUNNELED;
-+ goto done;
-+ }
-+
- /*
- * At this point we have no error or flushing/eos port
- * and a properly configured port.
-diff --git a/omx/gstomx.h b/omx/gstomx.h
-index 3645b63..9b534bd 100644
---- a/omx/gstomx.h
-+++ b/omx/gstomx.h
-@@ -124,6 +124,8 @@ typedef enum {
- GST_OMX_ACQUIRE_BUFFER_RECONFIGURE,
- /* The port is EOS */
- GST_OMX_ACQUIRE_BUFFER_EOS,
-+ /* The port is tunneled */
-+ GST_OMX_ACQUIRE_BUFFER_TUNNELED,
- /* A fatal error happened */
- GST_OMX_ACQUIRE_BUFFER_ERROR
- } GstOMXAcquireBufferReturn;
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index 020b7d3..e8813fb 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -50,6 +50,7 @@
- #include <string.h>
-
- #include "gstomxvideodec.h"
-+#include "gstomxvideoenc.h"
-
- GST_DEBUG_CATEGORY_STATIC (gst_omx_video_dec_debug_category);
- #define GST_CAT_DEFAULT gst_omx_video_dec_debug_category
-@@ -881,6 +882,11 @@ gst_omx_video_dec_shutdown (GstOMXVideoDec * self)
- gst_omx_component_get_state (self->dec, 5 * GST_SECOND);
- }
-
-+ if (self->dec_out_port->tunneled) {
-+ gst_omx_component_close_tunnel (self->dec, self->dec_out_port,
-+ self->dec_out_port->tunneled->comp, self->dec_out_port->tunneled);
-+ }
-+
- return TRUE;
- }
-
-@@ -1527,7 +1533,7 @@ done:
- static OMX_ERRORTYPE
- gst_omx_video_dec_deallocate_output_buffers (GstOMXVideoDec * self)
- {
-- OMX_ERRORTYPE err;
-+ OMX_ERRORTYPE err = OMX_ErrorNone;
-
- if (self->out_port_pool) {
- gst_buffer_pool_set_active (self->out_port_pool, FALSE);
-@@ -1543,7 +1549,10 @@ gst_omx_video_dec_deallocate_output_buffers (GstOMXVideoDec * self)
- gst_omx_port_deallocate_buffers (self->
- eglimage ? self->egl_out_port : self->dec_out_port);
- #else
-- err = gst_omx_port_deallocate_buffers (self->dec_out_port);
-+ if (!self->dec_out_port->tunneled)
-+ err = gst_omx_port_deallocate_buffers (self->dec_out_port);
-+ else
-+ err = gst_omx_port_set_enabled (self->dec_out_port, FALSE);
- #endif
-
- return err;
-@@ -1772,12 +1781,28 @@ gst_omx_video_dec_reconfigure_output_port (GstOMXVideoDec * self)
-
- GST_VIDEO_DECODER_STREAM_UNLOCK (self);
-
-+ {
-+ GstPad *peer = gst_pad_get_peer (GST_VIDEO_DECODER_SRC_PAD (self));
-+ GstElement *element = peer ? gst_pad_get_parent_element (peer) : NULL;
-+
-+ if (element && GST_IS_OMX_VIDEO_ENC (element)) {
-+ GstOMXVideoEnc *enc = GST_OMX_VIDEO_ENC (element);
-+
-+ gst_omx_component_setup_tunnel (self->dec, self->dec_out_port,
-+ enc->enc, enc->enc_in_port);
-+
-+ }
-+ }
-+
- #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_EGL)
- enable_port:
- #endif
-- err = gst_omx_video_dec_allocate_output_buffers (self);
-- if (err != OMX_ErrorNone)
-- goto done;
-+
-+ if (!self->dec_out_port->tunneled) {
-+ err = gst_omx_video_dec_allocate_output_buffers (self);
-+ if (err != OMX_ErrorNone)
-+ goto done;
-+ }
-
- err = gst_omx_port_populate (port);
- if (err != OMX_ErrorNone)
-@@ -1816,6 +1841,9 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
- goto flushing;
- } else if (acq_return == GST_OMX_ACQUIRE_BUFFER_EOS) {
- goto eos;
-+ } else if (acq_return == GST_OMX_ACQUIRE_BUFFER_TUNNELED) {
-+ gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
-+ return;
- }
-
- if (!gst_pad_has_current_caps (GST_VIDEO_DECODER_SRC_PAD (self)) ||
-@@ -2657,6 +2685,7 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
- GST_DEBUG_OBJECT (self, "Starting task again");
-
- self->downstream_flow_ret = GST_FLOW_OK;
-+
- gst_pad_start_task (GST_VIDEO_DECODER_SRC_PAD (self),
- (GstTaskFunction) gst_omx_video_dec_loop, decoder, NULL);
-
-@@ -2703,6 +2732,7 @@ gst_omx_video_dec_reset (GstVideoDecoder * decoder, gboolean hard)
- self->last_upstream_ts = 0;
- self->eos = FALSE;
- self->downstream_flow_ret = GST_FLOW_OK;
-+
- gst_pad_start_task (GST_VIDEO_DECODER_SRC_PAD (self),
- (GstTaskFunction) gst_omx_video_dec_loop, decoder, NULL);
-
-@@ -2925,7 +2955,11 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
- goto release_error;
- }
-
-- gst_video_codec_frame_unref (frame);
-+ if (self->dec_out_port->tunneled) {
-+ frame->output_buffer = gst_buffer_new ();
-+ gst_video_decoder_finish_frame (GST_VIDEO_DECODER (self), frame);
-+ } else
-+ gst_video_codec_frame_unref (frame);
-
- GST_DEBUG_OBJECT (self, "Passed frame to component");
-
-@@ -3003,6 +3037,7 @@ gst_omx_video_dec_finish (GstVideoDecoder * decoder)
- static GstFlowReturn
- gst_omx_video_dec_drain (GstOMXVideoDec * self, gboolean is_eos)
- {
-+ GstOMXVideoEnc *enc = NULL;
- GstOMXVideoDecClass *klass;
- GstOMXBuffer *buf;
- GstOMXAcquireBufferReturn acq_ret;
-@@ -3031,6 +3066,14 @@ gst_omx_video_dec_drain (GstOMXVideoDec * self, gboolean is_eos)
- return GST_FLOW_OK;
- }
-
-+ if (self->dec_out_port->tunneled) {
-+ GstPad *peer = gst_pad_get_peer (GST_VIDEO_DECODER_SRC_PAD (self));
-+ GstElement *element = peer ? gst_pad_get_parent_element (peer) : NULL;
-+
-+ if (element && GST_IS_OMX_VIDEO_ENC (element))
-+ enc = GST_OMX_VIDEO_ENC (element);
-+ }
-+
- /* Make sure to release the base class stream lock, otherwise
- * _loop() can't call _finish_frame() and we might block forever
- * because no input buffers are released */
-@@ -3047,8 +3090,14 @@ gst_omx_video_dec_drain (GstOMXVideoDec * self, gboolean is_eos)
- return GST_FLOW_ERROR;
- }
-
-- g_mutex_lock (&self->drain_lock);
-- self->draining = TRUE;
-+ if (enc) {
-+ g_mutex_lock (&enc->drain_lock);
-+ enc->draining = TRUE;
-+ } else {
-+ g_mutex_lock (&self->drain_lock);
-+ self->draining = TRUE;
-+ }
-+
- buf->omx_buf->nFilledLen = 0;
- buf->omx_buf->nTimeStamp =
- gst_util_uint64_scale (self->last_upstream_ts, OMX_TICKS_PER_SECOND,
-@@ -3059,6 +3108,10 @@ gst_omx_video_dec_drain (GstOMXVideoDec * self, gboolean is_eos)
- if (err != OMX_ErrorNone) {
- GST_ERROR_OBJECT (self, "Failed to drain component: %s (0x%08x)",
- gst_omx_error_to_string (err), err);
-+ if (enc)
-+ g_mutex_unlock (&enc->drain_lock);
-+ else
-+ g_mutex_unlock (&self->drain_lock);
- GST_VIDEO_DECODER_STREAM_LOCK (self);
- return GST_FLOW_ERROR;
- }
-@@ -3067,18 +3120,33 @@ gst_omx_video_dec_drain (GstOMXVideoDec * self, gboolean is_eos)
-
- if (G_UNLIKELY (self->dec->hacks & GST_OMX_HACK_DRAIN_MAY_NOT_RETURN)) {
- gint64 wait_until = g_get_monotonic_time () + G_TIME_SPAN_SECOND / 2;
-+ gboolean result;
-+
-+ if (enc)
-+ result =
-+ g_cond_wait_until (&enc->drain_cond, &enc->drain_lock, wait_until);
-+ else
-+ result =
-+ g_cond_wait_until (&self->drain_cond, &self->drain_lock, wait_until);
-
-- if (!g_cond_wait_until (&self->drain_cond, &self->drain_lock, wait_until))
-+ if (!result)
- GST_WARNING_OBJECT (self, "Drain timed out");
- else
- GST_DEBUG_OBJECT (self, "Drained component");
-
- } else {
-- g_cond_wait (&self->drain_cond, &self->drain_lock);
-+ if (enc)
-+ g_cond_wait (&enc->drain_cond, &enc->drain_lock);
-+ else
-+ g_cond_wait (&self->drain_cond, &self->drain_lock);
- GST_DEBUG_OBJECT (self, "Drained component");
- }
-
-- g_mutex_unlock (&self->drain_lock);
-+ if (enc)
-+ g_mutex_unlock (&enc->drain_lock);
-+ else
-+ g_mutex_unlock (&self->drain_lock);
-+
- GST_VIDEO_DECODER_STREAM_LOCK (self);
-
- self->started = FALSE;
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index 3a139bb..8f6cab3 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -364,7 +364,10 @@ gst_omx_video_enc_shutdown (GstOMXVideoEnc * self)
- gst_omx_component_get_state (self->enc, 5 * GST_SECOND);
- }
- gst_omx_component_set_state (self->enc, OMX_StateLoaded);
-- gst_omx_port_deallocate_buffers (self->enc_in_port);
-+ if (!self->enc_in_port->tunneled)
-+ gst_omx_port_deallocate_buffers (self->enc_in_port);
-+ else
-+ gst_omx_port_set_enabled (self->enc_in_port, FALSE);
- gst_omx_port_deallocate_buffers (self->enc_out_port);
- if (state > OMX_StateLoaded)
- gst_omx_component_get_state (self->enc, 5 * GST_SECOND);
-@@ -1086,8 +1089,9 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder,
- if (gst_omx_port_wait_buffers_released (self->enc_out_port,
- 1 * GST_SECOND) != OMX_ErrorNone)
- return FALSE;
-- if (gst_omx_port_deallocate_buffers (self->enc_in_port) != OMX_ErrorNone)
-- return FALSE;
-+ if (!self->enc_in_port->tunneled)
-+ if (gst_omx_port_deallocate_buffers (self->enc_in_port) != OMX_ErrorNone)
-+ return FALSE;
- if (gst_omx_port_deallocate_buffers (self->enc_out_port) != OMX_ErrorNone)
- return FALSE;
- if (gst_omx_port_wait_enabled (self->enc_in_port,
-@@ -1225,8 +1229,18 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder,
- return FALSE;
-
- /* Need to allocate buffers to reach Idle state */
-- if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone)
-- return FALSE;
-+ if (self->enc_in_port->tunneled) {
-+ if (gst_omx_port_set_enabled (self->enc_in_port->tunneled,
-+ TRUE) != OMX_ErrorNone)
-+ return FALSE;
-+
-+ if (gst_omx_port_wait_enabled (self->enc_in_port->tunneled,
-+ 1 * GST_SECOND) != OMX_ErrorNone)
-+ return FALSE;
-+ } else {
-+ if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone)
-+ return FALSE;
-+ }
-
- if (gst_omx_component_get_state (self->enc,
- GST_CLOCK_TIME_NONE) != OMX_StateIdle)
-@@ -1492,6 +1506,11 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
-
- port = self->enc_in_port;
-
-+ if (port->tunneled) {
-+ gst_video_codec_frame_unref (frame);
-+ return self->downstream_flow_ret;
-+ }
-+
- while (acq_ret != GST_OMX_ACQUIRE_BUFFER_OK) {
- GstClockTime timestamp, duration;
-
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0007-gstomxvideoenc-implement-scaling-configuration-suppo.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0007-gstomxvideoenc-implement-scaling-configuration-suppo.patch
deleted file mode 100644
index 6db5e742..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0007-gstomxvideoenc-implement-scaling-configuration-suppo.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 9d1fc5ceb72222037b959c1a2c3fe05c50de676a Mon Sep 17 00:00:00 2001
-From: Leo Liu <leo.liu@amd.com>
-Date: Thu, 14 Nov 2013 18:47:24 -0500
-Subject: [PATCH 07/11] gstomxvideoenc: implement scaling configuration
- support
-
-Signed-off-by: Leo Liu <leo.liu@amd.com>
----
- omx/gstomxvideoenc.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++-
- omx/gstomxvideoenc.h | 3 +++
- 2 files changed, 75 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index 8f6cab3..ee41fa0 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -96,7 +96,9 @@ enum
- PROP_TARGET_BITRATE,
- PROP_QUANT_I_FRAMES,
- PROP_QUANT_P_FRAMES,
-- PROP_QUANT_B_FRAMES
-+ PROP_QUANT_B_FRAMES,
-+ PROP_SCALING_WIDTH,
-+ PROP_SCALING_HEIGHT
- };
-
- /* FIXME: Better defaults */
-@@ -105,6 +107,8 @@ enum
- #define GST_OMX_VIDEO_ENC_QUANT_I_FRAMES_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_QUANT_P_FRAMES_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_QUANT_B_FRAMES_DEFAULT (0xffffffff)
-+#define GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT (0xffffffff)
-+#define GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT (0xffffffff)
-
- /* class initialization */
-
-@@ -163,6 +167,20 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
- GST_PARAM_MUTABLE_READY));
-
-+ g_object_class_install_property (gobject_class, PROP_SCALING_WIDTH,
-+ g_param_spec_uint ("scaling-width", "Scaling Width",
-+ "Scaling Width parameter (0xffffffff=component default)",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
-+ g_object_class_install_property (gobject_class, PROP_SCALING_HEIGHT,
-+ g_param_spec_uint ("scaling-height", "Scaling Height",
-+ "Scaling Height parameter (0xffffffff=component default)",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
- element_class->change_state =
- GST_DEBUG_FUNCPTR (gst_omx_video_enc_change_state);
-
-@@ -197,6 +215,8 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->quant_i_frames = GST_OMX_VIDEO_ENC_QUANT_I_FRAMES_DEFAULT;
- self->quant_p_frames = GST_OMX_VIDEO_ENC_QUANT_P_FRAMES_DEFAULT;
- self->quant_b_frames = GST_OMX_VIDEO_ENC_QUANT_B_FRAMES_DEFAULT;
-+ self->scaling_width = GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT;
-+ self->scaling_height = GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -345,6 +365,45 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
-
- }
- }
-+
-+ if (self->scaling_width != 0xffffffff ||
-+ self->scaling_height != 0xffffffff) {
-+ OMX_CONFIG_SCALEFACTORTYPE scale_factor;
-+ GST_OMX_INIT_STRUCT (&scale_factor);
-+ scale_factor.nPortIndex = self->enc_out_port->index;
-+
-+ err = gst_omx_component_get_config (self->enc,
-+ OMX_IndexConfigCommonScale, &scale_factor);
-+
-+ if (err == OMX_ErrorNone) {
-+
-+ if (self->scaling_width != 0xffffffff)
-+ scale_factor.xWidth = self->scaling_width;
-+ if (self->scaling_height != 0xffffffff)
-+ scale_factor.xHeight = self->scaling_height;
-+
-+ err =
-+ gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigCommonScale, &scale_factor);
-+ if (err == OMX_ErrorUnsupportedIndex) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting scale configuration not supported by the component");
-+ } else if (err == OMX_ErrorUnsupportedSetting) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting scale configuration %u %u not supported by the component",
-+ self->scaling_width, self->scaling_height);
-+ } else if (err != OMX_ErrorNone) {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set scale configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ return FALSE;
-+ }
-+ } else {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set scale configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ }
-+ }
- }
-
- return TRUE;
-@@ -443,6 +502,12 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_QUANT_B_FRAMES:
- self->quant_b_frames = g_value_get_uint (value);
- break;
-+ case PROP_SCALING_WIDTH:
-+ self->scaling_width = g_value_get_uint (value);
-+ break;
-+ case PROP_SCALING_HEIGHT:
-+ self->scaling_height = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -471,6 +536,12 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_QUANT_B_FRAMES:
- g_value_set_uint (value, self->quant_b_frames);
- break;
-+ case PROP_SCALING_WIDTH:
-+ g_value_set_uint (value, self->scaling_width);
-+ break;
-+ case PROP_SCALING_HEIGHT:
-+ g_value_set_uint (value, self->scaling_height);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index e266537..86e9c8f 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -77,6 +77,9 @@ struct _GstOMXVideoEnc
- guint32 quant_p_frames;
- guint32 quant_b_frames;
-
-+ guint32 scaling_width;
-+ guint32 scaling_height;
-+
- GstFlowReturn downstream_flow_ret;
- };
-
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0008-configure-fix-first-run-of-autogen-automake.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0008-configure-fix-first-run-of-autogen-automake.patch
deleted file mode 100644
index 8478cc3a..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0008-configure-fix-first-run-of-autogen-automake.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8e089ae8249899b8e47cbe7abfe3dd8814458c89 Mon Sep 17 00:00:00 2001
-From: Tim Writer <Tim.Writer@amd.com>
-Date: Mon, 25 Nov 2013 15:51:21 -0500
-Subject: [PATCH 08/11] configure: fix first run of autogen/automake
-
-Without AC_CONFIG_AUX_DIR, libtoolize fails to copy ltmain.sh,
-causing the first run of automake to fail.
----
- configure.ac | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index fcf4d9d..6dcca1c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9,6 +9,10 @@ AC_INIT(GStreamer OpenMAX Plug-ins, 1.0.0.1,
- http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
- gst-omx)
-
-+dnl Forces libtoolize to copy ltmain.sh. Without it, automake fails on
-+dnl the first run.
-+AC_CONFIG_AUX_DIR([.])
-+
- AG_GST_INIT
-
- dnl initialize automake
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0009-omxvideodec-fix-startup-race-condition.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0009-omxvideodec-fix-startup-race-condition.patch
deleted file mode 100644
index df070f44..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0009-omxvideodec-fix-startup-race-condition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c79c13c43e4d535fdb0c7fc508a7d5219eebe940 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Sat, 1 Mar 2014 18:48:17 +0100
-Subject: [PATCH 09/11] omxvideodec: fix startup race condition
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The reset function shouldn't start the src pad
-loop if it wasn't started before.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideodec.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index e8813fb..00f3951 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -2703,6 +2703,9 @@ gst_omx_video_dec_reset (GstVideoDecoder * decoder, gboolean hard)
-
- GST_DEBUG_OBJECT (self, "Resetting decoder");
-
-+ if (gst_omx_component_get_state (self->dec, 0) == OMX_StateLoaded)
-+ return TRUE;
-+
- gst_omx_port_set_flushing (self->dec_in_port, 5 * GST_SECOND, TRUE);
- gst_omx_port_set_flushing (self->dec_out_port, 5 * GST_SECOND, TRUE);
-
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0010-omxvideoenc-fix-startup-race-condition.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0010-omxvideoenc-fix-startup-race-condition.patch
deleted file mode 100644
index 68b89b8a..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0010-omxvideoenc-fix-startup-race-condition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ba51373c66f4c9c3349eb083c5218b31e4162a6e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Sat, 1 Mar 2014 18:49:41 +0100
-Subject: [PATCH 10/11] omxvideoenc: fix startup race condition
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The reset function shouldn't start the src pad
-loop if it wasn't started before.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
----
- omx/gstomxvideoenc.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index ee41fa0..e65a9e0 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -1359,6 +1359,9 @@ gst_omx_video_enc_reset (GstVideoEncoder * encoder, gboolean hard)
-
- GST_DEBUG_OBJECT (self, "Resetting encoder");
-
-+ if (gst_omx_component_get_state (self->enc, 0) == OMX_StateLoaded)
-+ return TRUE;
-+
- gst_omx_port_set_flushing (self->enc_in_port, 5 * GST_SECOND, TRUE);
- gst_omx_port_set_flushing (self->enc_out_port, 5 * GST_SECOND, TRUE);
-
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch
deleted file mode 100644
index 6de3b84a..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0011-omx-fix-two-serious-message-handling-bugs.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 6d0b6813745b54eb5dd249ba4446118b21383059 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Sat, 1 Mar 2014 22:28:24 +0100
-Subject: [PATCH 11/11] omx: fix two serious message handling bugs
-
-Waiting for the next message if we already got one
-is nonsense and can lead to lockups.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=725468
----
- omx/gstomx.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/omx/gstomx.c b/omx/gstomx.c
-index df3a8ff..b77c904 100644
---- a/omx/gstomx.c
-+++ b/omx/gstomx.c
-@@ -842,8 +842,7 @@ gst_omx_component_get_state (GstOMXComponent * comp, GstClockTime timeout)
- g_mutex_unlock (&comp->lock);
- if (!g_queue_is_empty (&comp->messages)) {
- signalled = TRUE;
-- }
-- if (timeout == GST_CLOCK_TIME_NONE) {
-+ } else if (timeout == GST_CLOCK_TIME_NONE) {
- g_cond_wait (&comp->messages_cond, &comp->messages_lock);
- signalled = TRUE;
- } else {
-@@ -1519,8 +1518,7 @@ gst_omx_port_set_flushing (GstOMXPort * port, GstClockTime timeout,
-
- if (!g_queue_is_empty (&comp->messages)) {
- signalled = TRUE;
-- }
-- if (timeout == GST_CLOCK_TIME_NONE) {
-+ } else if (timeout == GST_CLOCK_TIME_NONE) {
- g_cond_wait (&comp->messages_cond, &comp->messages_lock);
- signalled = TRUE;
- } else {
---
-1.7.9.5
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0012-gstomxvideoenc-implement-capture-configuration-suppo.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0012-gstomxvideoenc-implement-capture-configuration-suppo.patch
deleted file mode 100644
index 3df8f37f..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0012-gstomxvideoenc-implement-capture-configuration-suppo.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From eb7b8df4eb363f3799d2264f4761401aeb40fa26 Mon Sep 17 00:00:00 2001
-From: Leo Liu <leo.liu@amd.com>
-Date: Mon, 24 Feb 2014 15:03:50 -0500
-Subject: [PATCH 12/14] gstomxvideoenc: implement capture configuration support
-
-Signed-off-by: Leo Liu <leo.liu@amd.com>
----
- omx/gstomxvideoenc.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
- omx/gstomxvideoenc.h | 2 ++
- 2 files changed, 52 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index e65a9e0..cbb8cb9 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -98,7 +98,8 @@ enum
- PROP_QUANT_P_FRAMES,
- PROP_QUANT_B_FRAMES,
- PROP_SCALING_WIDTH,
-- PROP_SCALING_HEIGHT
-+ PROP_SCALING_HEIGHT,
-+ PROP_CAPTURE
- };
-
- /* FIXME: Better defaults */
-@@ -109,6 +110,7 @@ enum
- #define GST_OMX_VIDEO_ENC_QUANT_B_FRAMES_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT (0xffffffff)
-+#define GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT (FALSE)
-
- /* class initialization */
-
-@@ -181,6 +183,12 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
- GST_PARAM_MUTABLE_READY));
-
-+ g_object_class_install_property (gobject_class, PROP_CAPTURE,
-+ g_param_spec_boolean ("capture", "Capture",
-+ "Capture parameter (FALSE=component default)",
-+ FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
- element_class->change_state =
- GST_DEBUG_FUNCPTR (gst_omx_video_enc_change_state);
-
-@@ -217,6 +225,7 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->quant_b_frames = GST_OMX_VIDEO_ENC_QUANT_B_FRAMES_DEFAULT;
- self->scaling_width = GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT;
- self->scaling_height = GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT;
-+ self->capture = GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -404,6 +413,40 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
- gst_omx_error_to_string (err), err);
- }
- }
-+
-+ if (self->capture) {
-+ OMX_CONFIG_BOOLEANTYPE capture_factor;
-+ GST_OMX_INIT_STRUCT (&capture_factor);
-+
-+ err = gst_omx_component_get_config (self->enc,
-+ OMX_IndexConfigCapturing, &capture_factor);
-+
-+ if (err == OMX_ErrorNone) {
-+
-+ if (self->capture)
-+ capture_factor.bEnabled = TRUE;
-+
-+ err =
-+ gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigCapturing, &capture_factor);
-+ if (err == OMX_ErrorUnsupportedIndex) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting capture configuration not supported by the component");
-+ } else if (err == OMX_ErrorUnsupportedSetting) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting capture configuration not supported by the component");
-+ } else if (err != OMX_ErrorNone) {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set capture configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ return FALSE;
-+ }
-+ } else {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set capture configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ }
-+ }
- }
-
- return TRUE;
-@@ -508,6 +551,9 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_SCALING_HEIGHT:
- self->scaling_height = g_value_get_uint (value);
- break;
-+ case PROP_CAPTURE:
-+ self->capture = g_value_get_boolean (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -542,6 +588,9 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_SCALING_HEIGHT:
- g_value_set_uint (value, self->scaling_height);
- break;
-+ case PROP_CAPTURE:
-+ g_value_set_boolean (value, self->capture);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index 86e9c8f..e9844b8 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -80,6 +80,8 @@ struct _GstOMXVideoEnc
- guint32 scaling_width;
- guint32 scaling_height;
-
-+ gboolean capture;
-+
- GstFlowReturn downstream_flow_ret;
- };
-
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0013-gstomxvideoenc-add-capture-geometry-support.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0013-gstomxvideoenc-add-capture-geometry-support.patch
deleted file mode 100644
index 72f579ba..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0013-gstomxvideoenc-add-capture-geometry-support.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 407a4cdc9fe7b8c4e8a3a5a76a0c9e6a34b4cd96 Mon Sep 17 00:00:00 2001
-From: Leo Liu <leo.liu@amd.com>
-Date: Mon, 3 Mar 2014 16:38:20 -0500
-Subject: [PATCH 13/14] gstomxvideoenc: add capture geometry support
-
-Signed-off-by: Leo Liu <leo.liu@amd.com>
----
- omx/gstomxvideoenc.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++----
- omx/gstomxvideoenc.h | 2 ++
- 2 files changed, 75 insertions(+), 5 deletions(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index cbb8cb9..83c68fe 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -99,7 +99,9 @@ enum
- PROP_QUANT_B_FRAMES,
- PROP_SCALING_WIDTH,
- PROP_SCALING_HEIGHT,
-- PROP_CAPTURE
-+ PROP_CAPTURE,
-+ PROP_POS_X,
-+ PROP_POS_Y
- };
-
- /* FIXME: Better defaults */
-@@ -111,6 +113,8 @@ enum
- #define GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT (0xffffffff)
- #define GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT (FALSE)
-+#define GST_OMX_VIDEO_ENC_POS_X_DEFAULT (0)
-+#define GST_OMX_VIDEO_ENC_POS_Y_DEFAULT (0)
-
- /* class initialization */
-
-@@ -189,6 +193,20 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
- FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
- GST_PARAM_MUTABLE_READY));
-
-+ g_object_class_install_property (gobject_class, PROP_POS_X,
-+ g_param_spec_uint ("pos-x", "Position X",
-+ "Capture Position X parameter (0=component default)",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_POS_X_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
-+ g_object_class_install_property (gobject_class, PROP_POS_Y,
-+ g_param_spec_uint ("pos-y", "Position Y",
-+ "Capture Position Y parameter (0=component default)",
-+ 0, G_MAXUINT, GST_OMX_VIDEO_ENC_POS_Y_DEFAULT,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
-+ GST_PARAM_MUTABLE_READY));
-+
- element_class->change_state =
- GST_DEBUG_FUNCPTR (gst_omx_video_enc_change_state);
-
-@@ -226,6 +244,8 @@ gst_omx_video_enc_init (GstOMXVideoEnc * self)
- self->scaling_width = GST_OMX_VIDEO_ENC_SCALING_WIDTH_DEFAULT;
- self->scaling_height = GST_OMX_VIDEO_ENC_SCALING_HEIGHT_DEFAULT;
- self->capture = GST_OMX_VIDEO_ENC_CAPTURE_DEFAULT;
-+ self->pos_x = GST_OMX_VIDEO_ENC_POS_X_DEFAULT;
-+ self->pos_y = GST_OMX_VIDEO_ENC_POS_Y_DEFAULT;
-
- g_mutex_init (&self->drain_lock);
- g_cond_init (&self->drain_cond);
-@@ -426,10 +446,46 @@ gst_omx_video_enc_open (GstVideoEncoder * encoder)
- if (self->capture)
- capture_factor.bEnabled = TRUE;
-
-- err =
-- gst_omx_component_set_config (self->enc,
-- OMX_IndexConfigCapturing, &capture_factor);
-- if (err == OMX_ErrorUnsupportedIndex) {
-+ err = gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigCapturing, &capture_factor);
-+ if (err == OMX_ErrorNone) {
-+ if (self->pos_x || self->pos_y) {
-+ OMX_CONFIG_POINTTYPE pos_factor;
-+
-+ GST_OMX_INIT_STRUCT (&pos_factor);
-+ pos_factor.nPortIndex = self->enc_out_port->index;
-+
-+ err = gst_omx_component_get_config (self->enc,
-+ OMX_IndexConfigCommonOutputPosition, &pos_factor);
-+
-+ if (err == OMX_ErrorNone) {
-+ if (self->pos_x)
-+ pos_factor.nX = self->pos_x;
-+ if (self->pos_y)
-+ pos_factor.nY = self->pos_y;
-+ err = gst_omx_component_set_config (self->enc,
-+ OMX_IndexConfigCommonOutputPosition, &pos_factor);
-+ if (err == OMX_ErrorUnsupportedIndex) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting capture position configuration not supported by the component");
-+ } else if (err == OMX_ErrorUnsupportedSetting) {
-+ GST_WARNING_OBJECT (self,
-+ "Setting capture position configuration %u %u not supported by the component",
-+ self->pos_x, self->pos_y);
-+ } else if (err != OMX_ErrorNone) {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set capture position configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ return FALSE;
-+ }
-+ }else {
-+ GST_ERROR_OBJECT (self,
-+ "Failed to set capture position configuration: %s (0x%08x)",
-+ gst_omx_error_to_string (err), err);
-+ }
-+ }
-+ }
-+ else if (err == OMX_ErrorUnsupportedIndex) {
- GST_WARNING_OBJECT (self,
- "Setting capture configuration not supported by the component");
- } else if (err == OMX_ErrorUnsupportedSetting) {
-@@ -554,6 +610,12 @@ gst_omx_video_enc_set_property (GObject * object, guint prop_id,
- case PROP_CAPTURE:
- self->capture = g_value_get_boolean (value);
- break;
-+ case PROP_POS_X:
-+ self->pos_x = g_value_get_uint (value);
-+ break;
-+ case PROP_POS_Y:
-+ self->pos_y = g_value_get_uint (value);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -591,6 +653,12 @@ gst_omx_video_enc_get_property (GObject * object, guint prop_id, GValue * value,
- case PROP_CAPTURE:
- g_value_set_boolean (value, self->capture);
- break;
-+ case PROP_POS_X:
-+ g_value_set_uint (value, self->pos_x);
-+ break;
-+ case PROP_POS_Y:
-+ g_value_set_uint (value, self->pos_y);
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-diff --git a/omx/gstomxvideoenc.h b/omx/gstomxvideoenc.h
-index e9844b8..3de563b 100644
---- a/omx/gstomxvideoenc.h
-+++ b/omx/gstomxvideoenc.h
-@@ -81,6 +81,8 @@ struct _GstOMXVideoEnc
- guint32 scaling_height;
-
- gboolean capture;
-+ guint32 pos_x;
-+ guint32 pos_y;
-
- GstFlowReturn downstream_flow_ret;
- };
---
-1.9.1
-
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomxvideoenc-reduce-shutdown-timeout-for-tunnellin.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomxvideoenc-reduce-shutdown-timeout-for-tunnellin.patch
deleted file mode 100644
index 2a8d1c42..00000000
--- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomxvideoenc-reduce-shutdown-timeout-for-tunnellin.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c321d1666fd107d5e3a673789ddf5b9db2b831ec Mon Sep 17 00:00:00 2001
-From: Leo Liu <leo.liu@amd.com>
-Date: Fri, 22 Aug 2014 12:37:55 -0400
-Subject: [PATCH 14/14] gstomxvideoenc: reduce shutdown timeout for tunnelling
-
-Signed-off-by: Leo Liu <leo.liu@amd.com>
----
- omx/gstomxvideoenc.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
-index 83c68fe..f42ec13 100644
---- a/omx/gstomxvideoenc.c
-+++ b/omx/gstomxvideoenc.c
-@@ -528,7 +528,10 @@ gst_omx_video_enc_shutdown (GstOMXVideoEnc * self)
- gst_omx_port_set_enabled (self->enc_in_port, FALSE);
- gst_omx_port_deallocate_buffers (self->enc_out_port);
- if (state > OMX_StateLoaded)
-- gst_omx_component_get_state (self->enc, 5 * GST_SECOND);
-+ if (!self->enc_in_port->tunneled)
-+ gst_omx_component_get_state (self->enc, 5 * GST_SECOND);
-+ else
-+ gst_omx_component_get_state (self->enc, 1 * GST_SECOND);
- }
-
- return TRUE;
---
-1.9.1
-
diff --git a/meta-v1000/recipes-core/llvm/files/0001-CrossCompile.cmake-adjust-build-for-OE.patch b/meta-v1000/recipes-core/llvm/files/0001-CrossCompile.cmake-adjust-build-for-OE.patch
deleted file mode 100644
index bf03ec2f..00000000
--- a/meta-v1000/recipes-core/llvm/files/0001-CrossCompile.cmake-adjust-build-for-OE.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From eb27ad28d5171770d27415ace95f4c91f15828bf Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Wed, 21 Dec 2016 14:32:50 +0500
-Subject: [PATCH] CrossCompile.cmake: adjust build for OE
-
-CMake picks up its values from these environment variables
-in case of native builds and in OE we set these to target
-tools which will be incorrect in this case.
-We specifically need to strip the BUILD_CC variable
-before setting CC through it because OE tends to
-add a space which isn't liked too much by cmake.
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- cmake/modules/CrossCompile.cmake | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/cmake/modules/CrossCompile.cmake b/cmake/modules/CrossCompile.cmake
-index 9c598a6..cf76fd6 100644
---- a/cmake/modules/CrossCompile.cmake
-+++ b/cmake/modules/CrossCompile.cmake
-@@ -4,6 +4,19 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
- set(LLVM_${target_name}_BUILD "${CMAKE_BINARY_DIR}/${target_name}")
- set(LLVM_${target_name}_BUILD ${LLVM_${target_name}_BUILD} PARENT_SCOPE)
- message(STATUS "Setting native build dir to " ${LLVM_${target_name}_BUILD})
-+ string(STRIP $ENV{BUILD_CC} build_cc)
-+ set(ENV{AR} $ENV{BUILD_AR})
-+ set(ENV{ASM} ${build_cc})
-+ set(ENV{ASMFLAGS} $ENV{BUILD_CFLAGS})
-+ set(ENV{CC} ${build_cc})
-+ set(ENV{CFLAGS} $ENV{BUILD_CFLAGS})
-+ set(ENV{CXX} $ENV{BUILD_CXX})
-+ set(ENV{CXXFLAGS} $ENV{BUILD_CXXFLAGS})
-+ set(ENV{CPP} $ENV{BUILD_CPP})
-+ set(ENV{CPPFLAGS} $ENV{BUILD_CPPFLAGS})
-+ set(ENV{NM} $ENV{BUILD_NM})
-+ set(ENV{RANLIB} $ENV{BUILD_RANLIB})
-+ set(ENV{LDFLAGS} $ENV{BUILD_LDFLAGS})
- endif(NOT DEFINED LLVM_${target_name}_BUILD)
-
- if (EXISTS ${LLVM_MAIN_SRC_DIR}/cmake/platforms/${toolchain}.cmake)
---
-1.9.1
-
diff --git a/meta-v1000/recipes-core/llvm/files/0002-CrossCompile.cmake-use-target-BuildVariables-include.patch b/meta-v1000/recipes-core/llvm/files/0002-CrossCompile.cmake-use-target-BuildVariables-include.patch
deleted file mode 100644
index 5ed00757..00000000
--- a/meta-v1000/recipes-core/llvm/files/0002-CrossCompile.cmake-use-target-BuildVariables-include.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 489b229104c76651ff36fc5639384cf9dc6b8d7d Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Fri, 23 Dec 2016 03:19:18 +0500
-Subject: [PATCH] CrossCompile.cmake: use target BuildVariables include for
- host
-
-This is primarily OE specific where we'd like to report
-the target build variables when checked through host
-llvm-config because that is used for configuring
-projects depending on LLVM.
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- cmake/modules/CrossCompile.cmake | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/modules/CrossCompile.cmake b/cmake/modules/CrossCompile.cmake
-index 9c598a6..173aefd 100644
---- a/cmake/modules/CrossCompile.cmake
-+++ b/cmake/modules/CrossCompile.cmake
-@@ -22,7 +22,8 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
- -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
- WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
- DEPENDS ${LLVM_${target_name}_BUILD}
-- COMMENT "Configuring ${target_name} LLVM...")
-+ COMMENT "Configuring ${target_name} LLVM..."
-+ COMMAND "${CMAKE_COMMAND}" "-E" "copy" "${CMAKE_SOURCE_DIR}/../build/tools/llvm-config/BuildVariables.inc" "${CMAKE_SOURCE_DIR}/../build/NATIVE/tools/llvm-config/BuildVariables.inc")
-
- add_custom_target(CONFIGURE_LLVM_${target_name}
- DEPENDS ${LLVM_${target_name}_BUILD}/CMakeCache.txt)
---
-1.9.1
-
diff --git a/meta-v1000/recipes-core/llvm/files/0004-CrossCompile.cmake-strip-sysroot-info-from-build-var.patch b/meta-v1000/recipes-core/llvm/files/0004-CrossCompile.cmake-strip-sysroot-info-from-build-var.patch
deleted file mode 100644
index 832cdceb..00000000
--- a/meta-v1000/recipes-core/llvm/files/0004-CrossCompile.cmake-strip-sysroot-info-from-build-var.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8b668989bc17433ab507ec442b51a1518b593604 Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Thu, 9 Feb 2017 18:15:45 +0500
-Subject: [PATCH] CrossCompile.cmake: strip sysroot info from build variables
-
-This is to align with the recipe specific sysroot mechanism
-which will otherwise break the build for any other package
-that utilizes LLVM by specifying the LLVM sysroot on the
-compiler/linker commandline rather than that package's
-specific sysroot.
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- cmake/modules/CrossCompile.cmake | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/modules/CrossCompile.cmake b/cmake/modules/CrossCompile.cmake
-index 6378b7e..9682a98 100644
---- a/cmake/modules/CrossCompile.cmake
-+++ b/cmake/modules/CrossCompile.cmake
-@@ -36,7 +36,9 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
- WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
- DEPENDS ${LLVM_${target_name}_BUILD}
- COMMENT "Configuring ${target_name} LLVM..."
-- COMMAND "${CMAKE_COMMAND}" "-E" "copy" "${CMAKE_SOURCE_DIR}/../build/tools/llvm-config/BuildVariables.inc" "${CMAKE_SOURCE_DIR}/../build/NATIVE/tools/llvm-config/BuildVariables.inc")
-+ COMMAND "${CMAKE_COMMAND}" "-E" "copy" "${CMAKE_SOURCE_DIR}/../build/tools/llvm-config/BuildVariables.inc" "${CMAKE_SOURCE_DIR}/../build/NATIVE/tools/llvm-config/BuildVariables.inc"
-+ COMMAND sed -i "'s/\\(.*--sysroot=\\\)[^ ]* \\(.*\\)/\\1 \\2/g'" "${CMAKE_SOURCE_DIR}/../build/NATIVE/tools/llvm-config/BuildVariables.inc"
-+ COMMAND sed -i "'s/--sysroot=//g'" "${CMAKE_SOURCE_DIR}/../build/NATIVE/tools/llvm-config/BuildVariables.inc")
-
- add_custom_target(CONFIGURE_LLVM_${target_name}
- DEPENDS ${LLVM_${target_name}_BUILD}/CMakeCache.txt)
---
-1.9.1
-