]> granicus.if.org Git - libvpx/commit
Fix decoder resolution change with tiles
authorFrank Galligan <fgalligan@google.com>
Mon, 7 Apr 2014 03:07:14 +0000 (20:07 -0700)
committerFrank Galligan <fgalligan@google.com>
Tue, 8 Apr 2014 22:16:11 +0000 (15:16 -0700)
commit6ae58931d6902ca5ac7865e6abf155adf878662d
treeed95c7a3163994412bbeb25d1567f26c8cb1cd87
parent9848d67bb319678ea0d6013bddfe28e03e0db5fa
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
test/test-data.sha1
test/test.mk
test/test_vectors.cc
test/vp9_thread_test.cc
vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_dthread.c