mpegvideo: fix invalid picture unreferencing.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 20 Jul 2011 16:24:07 +0000 (09:24 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Wed, 20 Jul 2011 17:26:49 +0000 (10:26 -0700)
commit80469eafb747018cb9d9a2547f65def715d073b2
tree8ce28c850782798a289a4af84690fd24aa486a42
parente4b50572b7bae9edd0374f2ef918e6c68a4da018
mpegvideo: fix invalid picture unreferencing.

Mpegvideo would free frames as soon as they're not the next or prev
picture. This is fine for a single-threading model, but fails miserably
in a system where pictures can be referenced (as e.g. last/prev pic)
in other threads. Keeping track of ownership of pictures keeps image
references (e.g. motion vectors, or the reference of a motion vector)
alive as long as the picture data itself is alive.

This also happens to fix make THREADS=[3-16] fate-vsynth[12]-error.
libavcodec/mpegvideo.c