aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCrystalP <CrystalP@xbmc.org>2011-10-06 20:23:31 -0400
committerCrystalP <CrystalP@xbmc.org>2011-10-15 17:19:48 -0400
commitb16cd79940bc7c08fe9da9f6645e208073aeee71 (patch)
tree6a501077a24b0fef2ead6baef483a07f83b18d66 /lib
parentbe42282a0e9721f798f89a69786e29b36b297e4e (diff)
dxva-vc1 Pass overlapping transforms hint
see ticket #11643
Diffstat (limited to 'lib')
-rw-r--r--lib/ffmpeg/libavcodec/dxva2_vc1.c5
-rw-r--r--lib/ffmpeg/patches/0054-dxva-vc1-Pass-overlapping-transforms-hint.patch29
2 files changed, 33 insertions, 1 deletions
diff --git a/lib/ffmpeg/libavcodec/dxva2_vc1.c b/lib/ffmpeg/libavcodec/dxva2_vc1.c
index 86cdf2fdb0..eca587af98 100644
--- a/lib/ffmpeg/libavcodec/dxva2_vc1.c
+++ b/lib/ffmpeg/libavcodec/dxva2_vc1.c
@@ -103,7 +103,10 @@ static void fill_picture_parameters(AVCodecContext *avctx,
(v->rangered << 3) |
(s->max_b_frames );
pp->bPicExtrapolation = (!v->interlace || v->fcm == 0x00) ? 1 : 2;
- pp->bPicDeblocked = ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
+ pp->bPicDeblocked = ((v->overlap == 1 &&
+ pp->bPicBackwardPrediction == 0 &&
+ ctx->cfg->ConfigResidDiffHost == 0) << 6) |
+ ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
(s->loop_filter << 1);
pp->bPicDeblockConfined = (v->postprocflag << 7) |
(v->broadcast << 6) |
diff --git a/lib/ffmpeg/patches/0054-dxva-vc1-Pass-overlapping-transforms-hint.patch b/lib/ffmpeg/patches/0054-dxva-vc1-Pass-overlapping-transforms-hint.patch
new file mode 100644
index 0000000000..995de5e1a6
--- /dev/null
+++ b/lib/ffmpeg/patches/0054-dxva-vc1-Pass-overlapping-transforms-hint.patch
@@ -0,0 +1,29 @@
+From 537d5999337500cac1c521f45de0a921b9aab5ac Mon Sep 17 00:00:00 2001
+From: CrystalP <CrystalP@xbmc.org>
+Date: Thu, 6 Oct 2011 20:23:31 -0400
+Subject: [PATCH 4/6] dxva-vc1 Pass overlapping transforms hint
+
+see ticket #11643
+---
+ lib/ffmpeg/libavcodec/dxva2_vc1.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/lib/ffmpeg/libavcodec/dxva2_vc1.c b/lib/ffmpeg/libavcodec/dxva2_vc1.c
+index 86cdf2f..eca587a 100644
+--- a/lib/ffmpeg/libavcodec/dxva2_vc1.c
++++ b/lib/ffmpeg/libavcodec/dxva2_vc1.c
+@@ -103,7 +103,10 @@ static void fill_picture_parameters(AVCodecContext *avctx,
+ (v->rangered << 3) |
+ (s->max_b_frames );
+ pp->bPicExtrapolation = (!v->interlace || v->fcm == 0x00) ? 1 : 2;
+- pp->bPicDeblocked = ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
++ pp->bPicDeblocked = ((v->overlap == 1 &&
++ pp->bPicBackwardPrediction == 0 &&
++ ctx->cfg->ConfigResidDiffHost == 0) << 6) |
++ ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
+ (s->loop_filter << 1);
+ pp->bPicDeblockConfined = (v->postprocflag << 7) |
+ (v->broadcast << 6) |
+--
+1.7.3.1.msysgit.0
+