From 6c070befdb5ff811569f0145b291a484471394b5 Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Fri, 27 Aug 2010 06:51:25 +0300 Subject: [PATCH 7/7] fixed: skip any frames before first keyframe even if VDPAU is used CVDPAU::GetPicture() currently clears DVDVideoPicture.iFlags. Change it to keep the possible DVP_FLAG_DROPPED flag, which indicates that the frame should be dropped (e.g. frame not a keyframe and no keyframes seen yet). Fixed short video corruption in those cases. --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp index 3b51296..bf3155e 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp @@ -1300,7 +1300,7 @@ bool CVDPAU::GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* m_DVDVideoPics.pop(); picture->format = DVDVideoPicture::FMT_VDPAU; - picture->iFlags = 0; + picture->iFlags &= DVP_FLAG_DROPPED; picture->iWidth = OutWidth; picture->iHeight = OutHeight; picture->vdpau = this; -- 1.7.2