aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpopcornmix <popcornmix@gmail.com>2017-07-17 20:01:58 +0100
committerpopcornmix <popcornmix@gmail.com>2018-02-27 20:27:20 +0000
commit1efb9aad18632a676e5d335b821380d4f8b3985c (patch)
treec340cd81c281ee7adafc238f6802a7a58024c650
parent055ff82ea795b49199873a5fc564bd4ccd8f9c2e (diff)
MMALFFmpeg: Include GPU alignment requirements in allocated buffer size
This is required if gpu does additional processing like deinterlace
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp
index c369fdd365..b655cca8ef 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp
@@ -189,6 +189,9 @@ int CDecoder::FFGetBuffer(AVCodecContext *avctx, AVFrame *frame, int flags)
int aligned_height = frame->height;
// ffmpeg requirements
AlignedSize(dec->m_avctx, aligned_width, aligned_height);
+ // GPU requirements
+ aligned_width = ALIGN_UP(aligned_width, 32);
+ aligned_height = ALIGN_UP(aligned_height, 16);
pool->Configure(dec->m_fmt, frame->width, frame->height, aligned_width, aligned_height, 0);
}
CMMALYUVBuffer *YUVBuffer = dynamic_cast<CMMALYUVBuffer *>(pool->Get());