ffmpeg | branch: master | Anton Khirnov <an...@khirnov.net> | Sun Jul 12 18:57:10 2015 +0200| [077b55943330150db0eafd36bbee614697cabd98] | committer: Anton Khirnov
hevc: handle a NULL sps in set_sps() properly This can happen in update_thread_context(), when the previous frame was corrupted. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=077b55943330150db0eafd36bbee614697cabd98 --- libavcodec/hevc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 6efdfcb..dd56d58 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -435,13 +435,19 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmt = pix_fmts; int ret; - export_stream_params(s->avctx, &s->ps, sps); - pic_arrays_free(s); + s->ps.sps = NULL; + s->ps.vps = NULL; + + if (!sps) + return 0; + ret = pic_arrays_init(s, sps); if (ret < 0) goto fail; + export_stream_params(s->avctx, &s->ps, sps); + if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P) { #if CONFIG_HEVC_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog