author | Harinarayan Bhatta <harinarayan@ti.com> | |
Wed, 9 Jul 2014 05:48:20 +0000 (11:18 +0530) | ||
committer | Harinarayan Bhatta <harinarayan@ti.com> | |
Thu, 10 Jul 2014 10:06:28 +0000 (15:36 +0530) | ||
commit | 61e1538ef8ce206d01b36ddced211ffabfcc9377 | |
tree | de5dec4f941cf01caf1503425834d92f75b599e4 | tree | snapshot (tar.xz tar.gz zip) |
parent | 046c9982243ab26bcc0923ff4a267ebc02559674 | commit | diff |
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>
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 | diff | blob | history | |
src/gstducatividdec.h | diff | blob | history |