1*4882a593SmuzhiyunFrom 2c6b3f357331e203ad87214984661c40704aceb7 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Rainer Hochecker <fernetmenta@online.de> 3*4882a593SmuzhiyunDate: Sat, 26 Jan 2019 19:48:35 +0100 4*4882a593SmuzhiyunSubject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThis fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368. 7*4882a593SmuzhiyunIt was hit frequently when watching h264 channels received via DVB-X. 8*4882a593SmuzhiyunCorresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunDownloaded from Kodi ffmpeg repo: 11*4882a593Smuzhiyunhttps://github.com/xbmc/FFmpeg/commit/2c6b3f357331e203ad87214984661c40704aceb7 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunPatch was sent upstream: 14*4882a593Smuzhiyunhttp://ffmpeg.org/pipermail/ffmpeg-devel/2019-March/240863.html 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunSigned-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> 17*4882a593Smuzhiyun--- 18*4882a593Smuzhiyun libavcodec/vaapi_h264.c | 5 +++++ 19*4882a593Smuzhiyun 1 file changed, 5 insertions(+) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyundiff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c 22*4882a593Smuzhiyunindex dd2a6571604..e521a05c4ff 100644 23*4882a593Smuzhiyun--- a/libavcodec/vaapi_h264.c 24*4882a593Smuzhiyun+++ b/libavcodec/vaapi_h264.c 25*4882a593Smuzhiyun@@ -314,6 +314,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx) 26*4882a593Smuzhiyun H264SliceContext *sl = &h->slice_ctx[0]; 27*4882a593Smuzhiyun int ret; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun+ if (pic->nb_slices == 0) { 30*4882a593Smuzhiyun+ ret = AVERROR_INVALIDDATA; 31*4882a593Smuzhiyun+ goto finish; 32*4882a593Smuzhiyun+ } 33*4882a593Smuzhiyun+ 34*4882a593Smuzhiyun ret = ff_vaapi_decode_issue(avctx, pic); 35*4882a593Smuzhiyun if (ret < 0) 36*4882a593Smuzhiyun goto finish; 37