Re: [FFmpeg-devel] [PATCH] Fix null dereferences in the qsv decoder
On Sun, Aug 07, 2016 at 06:45:18PM +0300, Ivan Uskov wrote: > > Hello Yuli, > > Friday, July 29, 2016, 6:00:44 PM, you wrote: > > > 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> > --- > > libavcodec/qsvdec.c | 8 +--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > > index 9125700..98585e3 100644 > > --- a/libavcodec/qsvdec.c > > +++ b/libavcodec/qsvdec.c > > @@ -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, , sizeof(pkt), NULL); > > av_packet_unref(); > > } > > > > /* 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) > Really, makes sense. > Looks good for me. applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The greatest way to live with honor in this world is to be what we pretend to be. -- Socrates signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Fix null dereferences in the qsv decoder
Hello Yuli, Friday, July 29, 2016, 6:00:44 PM, you wrote: > 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> --- > libavcodec/qsvdec.c | 8 +--- > 1 file changed, 5 insertions(+), 3 deletions(-) > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > index 9125700..98585e3 100644 > --- a/libavcodec/qsvdec.c > +++ b/libavcodec/qsvdec.c > @@ -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, , sizeof(pkt), NULL); > av_packet_unref(); > } > > /* 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) Really, makes sense. Looks good for me. -- Best regards, Ivanmailto:ivan.us...@nablet.com ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] 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--- libavcodec/qsvdec.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 9125700..98585e3 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -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, , sizeof(pkt), NULL); av_packet_unref(); } /* 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) -- 1.8.3.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel