Module: libav
Branch: master
Commit: 82a0497cf317a9bf3e5d65fb13485097d0e88321

Author:    Ronald S. Bultje <[email protected]>
Committer: Ronald S. Bultje <[email protected]>
Date:      Tue May  1 09:59:04 2012 -0700

vp8: update frame size changes on thread context switches.

This properly synchronizes frame size changes between threads if
subsequent threads abort decoding before frame size is initialized, i.e.
it prevents the thread after that from ping-ponging back to the original
value.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

---

 libavcodec/vp8.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 1c973d5..d9fdd4d 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -1833,6 +1833,8 @@ static int 
vp8_decode_update_thread_context(AVCodecContext *dst, const AVCodecCo
         (s_src->mb_width != s->mb_width || s_src->mb_height != s->mb_height)) {
         free_buffers(s);
         s->maps_are_invalid = 1;
+        s->mb_width  = s_src->mb_width;
+        s->mb_height = s_src->mb_height;
     }
 
     s->prob[0] = s_src->prob[!s_src->update_probabilities];

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to