1 |
From 7344dcc03bee35161efe83f4fccb5bf1ee79adf6 Mon Sep 17 00:00:00 2001 |
2 |
From: Joakim Plate <elupus@xbmc.org> |
3 |
Date: Sat, 31 Mar 2012 15:48:15 +0200 |
4 |
Subject: [PATCH 136/145] changed: Only allow slice based parallel decoding |
5 |
|
6 |
Frame based parallel decoding causes HW decoding |
7 |
to crash, and it's more sensitive to changes |
8 |
in frame sizes during decoding. |
9 |
(cherry picked from commit a0fc63df945440719a724d80ab0afbc28f67263e) |
10 |
--- |
11 |
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 4 ++++ |
12 |
1 file changed, 4 insertions(+) |
13 |
|
14 |
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp |
15 |
index 33bb3b7..256bc8b 100644 |
16 |
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp |
17 |
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp |
18 |
@@ -239,6 +239,10 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options |
19 |
m_pCodecContext->workaround_bugs = FF_BUG_AUTODETECT; |
20 |
m_pCodecContext->get_format = GetFormat; |
21 |
m_pCodecContext->codec_tag = hints.codec_tag; |
22 |
+ /* Only allow slice threading, since frame threading is more |
23 |
+ * sensitive to changes in frame sizes, and it causes crashes |
24 |
+ * during HW accell */ |
25 |
+ m_pCodecContext->thread_type = FF_THREAD_SLICE; |
26 |
|
27 |
#if defined(__APPLE__) && defined(__arm__) |
28 |
// ffmpeg with enabled neon will crash and burn if this is enabled |
29 |
-- |
30 |
1.7.10 |
31 |
|