Fix decoder resolution change with tiles
There was a bug with the decoder that if you started the decoder with more threads than the first frame had tile columns. Afterwards tried to decode a frame with more tile columns than the first frame, the decoder would hang. E.g. run vpxdec --threads=4. The first frame had two tile columns, then the next key frame had 4 tile columns, the decoder would hang. If you started with 4 tiles and switched to 2 tiles the decoder would be fine. The issue is that the worker the thread loop is using is stale. I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that exhibited the bug. Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229
Showing
- test/test-data.sha1 4 additions, 0 deletionstest/test-data.sha1
- test/test.mk 4 additions, 0 deletionstest/test.mk
- test/test_vectors.cc 3 additions, 1 deletiontest/test_vectors.cc
- test/vp9_thread_test.cc 20 additions, 0 deletionstest/vp9_thread_test.cc
- vp9/decoder/vp9_decodeframe.c 10 additions, 6 deletionsvp9/decoder/vp9_decodeframe.c
- vp9/decoder/vp9_dthread.c 15 additions, 4 deletionsvp9/decoder/vp9_dthread.c
Loading
Please register or sign in to comment