Fixes hwaccel decoding of files with multiple slices.
Found-By: Mark Thompson <[email protected]>
---
libavcodec/h264dec.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 0e318a5..2c5a7db 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -564,9 +564,10 @@ static int decode_nal_units(H264Context *h, const uint8_t
*buf, int buf_size)
max_slice_ctx = avctx->hwaccel ? 1 : h->nb_slice_ctx;
if (h->nb_slice_ctx_queued == max_slice_ctx) {
- if (avctx->hwaccel)
+ if (avctx->hwaccel) {
ret = avctx->hwaccel->decode_slice(avctx, nal->raw_data,
nal->raw_size);
- else
+ h->nb_slice_ctx_queued = 0;
+ } else
ret = ff_h264_execute_decode_slices(h);
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
goto end;
--
2.0.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel