Fix errors in handling H.264 streams with field coded pictures
authorHarinarayan Bhatta <harinarayan@ti.com>
Wed, 9 Jul 2014 05:48:20 +0000 (11:18 +0530)
committerHarinarayan Bhatta <harinarayan@ti.com>
Thu, 10 Jul 2014 10:06:28 +0000 (15:36 +0530)
commit61e1538ef8ce206d01b36ddced211ffabfcc9377
treede5dec4f941cf01caf1503425834d92f75b599e4
parent046c9982243ab26bcc0923ff4a267ebc02559674
Fix errors in handling H.264 streams with field coded pictures

When the ducati decoder is handed a H.264 (or other) stream which
use 1 field (instead of 1 frame) encoded in 1 access-unit, it sets
the outbufsInUse flag after the first field is decoded to indicate
that the same output buffer (and inputID) should be passed in the
next VIDDEC3_process call for the second field to complete decoding
of the full frame.

This patch fixes some errors for this case, specifically of dce_buf_lock
getting called twice when the same inputID was passed to VIDDEC3_process
call. In this patch, a hash table is introduced to properly track buffers
that have been 'lock'ed and 'unlock'ing them after use for proper cleanup.

Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com>
src/gstducatividdec.c
src/gstducatividdec.h