mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-17 20:17:55 +02:00
avcodec/qsvdec: Fix null dereferences in the qsv decoder
This patch fixes the h264_qsv decoder issues mentioned in https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2962. The patch may be tested by specifying h264_qsv as the decoder to ffplay for an h264 encoded file. ffplay -vcodec h264_qsv foo.mts Signed-off-by: Yuli Khodorkovskiy <ykhodo@gmail.com> Push requested-by: Ivan Uskov Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
bbec14de31
commit
f0adb99d06
@ -555,16 +555,18 @@ void ff_qsv_decode_reset(AVCodecContext *avctx, QSVContext *q)
|
||||
}
|
||||
|
||||
/* Reset output surfaces */
|
||||
av_fifo_reset(q->async_fifo);
|
||||
if (q->async_fifo)
|
||||
av_fifo_reset(q->async_fifo);
|
||||
|
||||
/* Reset input packets fifo */
|
||||
while (av_fifo_size(q->pkt_fifo)) {
|
||||
while (q->pkt_fifo && av_fifo_size(q->pkt_fifo)) {
|
||||
av_fifo_generic_read(q->pkt_fifo, &pkt, sizeof(pkt), NULL);
|
||||
av_packet_unref(&pkt);
|
||||
}
|
||||
|
||||
/* Reset input bitstream fifo */
|
||||
av_fifo_reset(q->input_fifo);
|
||||
if (q->input_fifo)
|
||||
av_fifo_reset(q->input_fifo);
|
||||
}
|
||||
|
||||
int ff_qsv_decode_close(QSVContext *q)
|
||||
|
Loading…
x
Reference in New Issue
Block a user