summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mhatle@xilinx.com>2022-04-06 18:37:19 -0700
committerMark Hatle <mhatle@xilinx.com>2022-04-06 18:37:19 -0700
commite7ebfe05ca75c1a15665ca6f4cb2580a34931373 (patch)
treee1c4afdf4ff1c7c68a792000aefb32cffcd7f642
parent1df9b28d5284e2ee333c705ce0b41686a87decba (diff)
downloadmeta-xilinx-e7ebfe05ca75c1a15665ca6f4cb2580a34931373.tar.gz
Revert "Updated SRCREV for 2022.1"
This reverts commit 0c6017795ba1499cb6b6aaab67a78f10a71dbdd3. Prep for 2022.2 update Signed-off-by: Mark Hatle <mhatle@xilinx.com>
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/files/0001-fix-timestamps-issues.patch99
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb3
2 files changed, 0 insertions, 102 deletions
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-fix-timestamps-issues.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-fix-timestamps-issues.patch
deleted file mode 100644
index c5521cca..00000000
--- a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-fix-timestamps-issues.patch
+++ /dev/null
@@ -1,99 +0,0 @@
1From b3308c608be7ed9250b9c6732f6e0a02b1a2e985 Mon Sep 17 00:00:00 2001
2From: Arthur Vinchon <arthur.vinchon@allegrodvt.com>
3Date: Wed, 2 Mar 2022 02:29:48 +0530
4Subject: [PATCH] fix: timestamps issues
5
6Acked-by:Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
7---
8 base/omx_component/omx_component_dec.cpp | 32 ++++++++++++++----------
9 base/omx_component/omx_component_dec.h | 2 +-
10 2 files changed, 20 insertions(+), 14 deletions(-)
11
12diff --git a/base/omx_component/omx_component_dec.cpp b/base/omx_component/omx_component_dec.cpp
13index 137bf2f..b40c770 100644
14--- a/base/omx_component/omx_component_dec.cpp
15+++ b/base/omx_component/omx_component_dec.cpp
16@@ -58,7 +58,8 @@ static DecModule& ToDecModule(ModuleInterface& module)
17
18 DecComponent::DecComponent(OMX_HANDLETYPE component, shared_ptr<MediatypeInterface> media, std::unique_ptr<DecModule>&& module, OMX_STRING name, OMX_STRING role, std::unique_ptr<ExpertiseInterface>&& expertise) :
19 Component{component, media, std::move(module), std::move(expertise), name, role},
20- shouldPropagateData{true}, oldTimeStamp{-1}
21+ oldTimeStamp{-1},
22+ dataHasBeenPropagated{false}
23 {
24 }
25
26@@ -77,8 +78,9 @@ void DecComponent::FlushComponent()
27 FlushFillEmptyBuffers(true, true);
28 std::unique_lock<std::mutex> lock(mutex);
29 transmit.clear();
30+ oldTimeStamp = -1;
31+ dataHasBeenPropagated = false;
32 lock.unlock();
33- shouldPropagateData = true;
34 }
35
36 void DecComponent::AssociateCallBack(BufferHandleInterface* empty_, BufferHandleInterface* fill_)
37@@ -104,8 +106,8 @@ void DecComponent::AssociateCallBack(BufferHandleInterface* empty_, BufferHandle
38 {
39 callbacks.EventHandler(component, app, OMX_EventBufferFlag, output.index, emptyHeader.nFlags, nullptr);
40 transmit.clear();
41- shouldPropagateData = true;
42 oldTimeStamp = -1;
43+ dataHasBeenPropagated = false;
44 }
45
46 if(IsCompMarked(emptyHeader.hMarkTargetComponent, component))
47@@ -351,22 +353,26 @@ void DecComponent::TreatEmptyBufferCommand(Task* task)
48
49 if(!isInputParsed || isEarlyCallbackUsed)
50 {
51- bool isEndOfFrameFlagRaised = (header->nFlags & OMX_BUFFERFLAG_ENDOFFRAME);
52+ /* we suppose that a timestamp changes is a frame changes [concealment] */
53+ bool const transmitTimeStamp = (oldTimeStamp != header->nTimeStamp);
54
55- if(isEndOfFrameFlagRaised && !isEarlyCallbackUsed)
56+ if(transmitTimeStamp)
57+ {
58 transmit.push_back(PropagatedData { header->hMarkTargetComponent, header->pMarkData, header->nTickCount, header->nTimeStamp, header->nFlags });
59+ oldTimeStamp = header->nTimeStamp;
60+ dataHasBeenPropagated = true;
61+ }
62 else
63 {
64- /* Concealment case(header->nFlags EndOfFrame is missing): propagate data if timestamps differ */
65- shouldPropagateData |= (oldTimeStamp != header->nTimeStamp);
66-
67- if(shouldPropagateData)
68+ bool isEndOfFrameFlagRaised = (header->nFlags & OMX_BUFFERFLAG_ENDOFFRAME);
69+ if(isEndOfFrameFlagRaised)
70 {
71- transmit.push_back(PropagatedData { header->hMarkTargetComponent, header->pMarkData, header->nTickCount, header->nTimeStamp, header->nFlags });
72- oldTimeStamp = header->nTimeStamp;
73+ if(!dataHasBeenPropagated)
74+ {
75+ transmit.push_back(PropagatedData { header->hMarkTargetComponent, header->pMarkData, header->nTickCount, header->nTimeStamp, header->nFlags });
76+ }
77+ dataHasBeenPropagated = false;
78 }
79-
80- shouldPropagateData = isEndOfFrameFlagRaised;
81 }
82 }
83
84diff --git a/base/omx_component/omx_component_dec.h b/base/omx_component/omx_component_dec.h
85index 6214856..07d062e 100644
86--- a/base/omx_component/omx_component_dec.h
87+++ b/base/omx_component/omx_component_dec.h
88@@ -76,7 +76,7 @@ private:
89 void TreatEmptyBufferCommand(Task* task) override;
90 std::list<PropagatedData> transmit;
91 std::mutex mutex;
92- bool shouldPropagateData;
93 OMX_TICKS oldTimeStamp;
94+ bool dataHasBeenPropagated;
95 };
96
97--
982.17.1
99
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb
index 2a0e49b4..f86fc3ed 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb
@@ -13,9 +13,6 @@ SRCREV = "a9d452e772da6bc43f524230c79e6dc0f2442fd7"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16# Sync to 2022.1 version
17SRC_URI += "file://0001-fix-timestamps-issues.patch"
18
19S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
20 17
21COMPATIBLE_MACHINE = "^$" 18COMPATIBLE_MACHINE = "^$"