Comments (4)
The issue has a workaround solution in current master (but not yet in v1.6.0). We will have look into a proper fix at some point.
from vvdec.
I am also encountering this issue using 2.0.0 release which has the workaround (max threads limit to 64). I am seeing this on a 32 core (64 thread) machine with AMD EPYC 7543 CPU
It looks like one thread is stopped waiting in
m_allThreadsWaitingCV.wait( lock, [=] { return !m_allThreadWaitingMoreWork; } );
which means the thread pool has been paused.
I don't know this code at all but a quick scan of it tells me possibly this is what's happening:
The thread pool can be paused after barrier task for the final packet in the stream has arrived, and then it will never wake up because PoolPause::unpauseIfPaused
won't be called again unless there is another call to vvdec_decode
with more data (which might not happen).
This can happen if the final barrier task arrives in between the call to findNextTask
and m_poolPause.pauseIfAllOtherThreadsWaiting();
from vvdec.
Interesting, thanks for the analysis.
Now for my understanding. With which number of threads did you encounter the issue? So the problem happens at the end of the decoding before flushing, or after flushing? (but for sure after the last packet has been passed to the decoder?)
from vvdec.
This issue seems to be fixed with the latest reworking of the thread pool implementation.
Please reopen the issue if the problem persists.
from vvdec.
Related Issues (20)
- Segmentation Fault for Main 10 with VPS HOT 6
- vvdecapp build shared can not be executed by old CPU HOT 19
- Decoding vvc file failed by using vvdec ,but it successed by using VTM HOT 3
- Whether to use unsigned char for bitstreams which internal-bitdepth are 8? HOT 9
- multithreading stuck HOT 4
- 'make test enable-bitstream-download=1' fails to download bitstreams HOT 4
- reserved identifier violation HOT 1
- Completion of error handling HOT 1
- Remove unnecessary null pointer checks
- [Question] Are further VVC decoding optimizations possible? Coming? HOT 4
- brew install vvdec not working HOT 1
- Build failure with profiling enabled HOT 1
- Decoding fails an a valid file? HOT 30
- Decode fail HOT 5
- PVS-Studio static code analyzer warnings HOT 1
- Decode fail HOT 4
- https://github.com/fraunhoferhhi/vvdec HOT 1
- wasm SharedArrayBuffer is not defined HOT 6
- About AVX512 support.. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vvdec.