summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg
diff options
context:
space:
mode:
authorRodeo <[email protected]>2012-01-30 20:05:13 +0000
committerRodeo <[email protected]>2012-01-30 20:05:13 +0000
commita6543769881f5c16bd6cf8fc8955279410dc7419 (patch)
treed7817bf490dc1a8db097ae6d7af2ba4767b3d398 /contrib/ffmpeg
parentbd0a4e453ec01a9b12c7600d0c3aa62e0a797ca2 (diff)
Fix Libav VC-1 decoding bug (fix sourced from Libav-git-498605b).
Fixes https://forum.handbrake.fr/viewtopic.php?f=12&t=23188 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4427 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'contrib/ffmpeg')
-rw-r--r--contrib/ffmpeg/A08-vc1-decode.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A08-vc1-decode.patch b/contrib/ffmpeg/A08-vc1-decode.patch
new file mode 100644
index 000000000..61c0724a0
--- /dev/null
+++ b/contrib/ffmpeg/A08-vc1-decode.patch
@@ -0,0 +1,40 @@
+diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
+index 60cca33..1b03215 100644
+--- a/libavcodec/vc1dec.c
++++ b/libavcodec/vc1dec.c
+@@ -3317,7 +3317,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
+ i += skip;
+ if (i > 63)
+ break;
+- if (!v->interlace)
++ if (!v->fcm)
+ idx = v->zz_8x8[0][i++];
+ else
+ idx = v->zzi_8x8[i++];
+@@ -3345,7 +3345,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
+ i += skip;
+ if (i > 15)
+ break;
+- if (!v->interlace)
++ if (!v->fcm)
+ idx = ff_vc1_simple_progressive_4x4_zz[i++];
+ else
+ idx = ff_vc1_adv_interlaced_4x4_zz[i++];
+@@ -3372,7 +3372,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
+ i += skip;
+ if (i > 31)
+ break;
+- if (!v->interlace)
++ if (!v->fcm)
+ idx = v->zz_8x4[i++] + off;
+ else
+ idx = ff_vc1_adv_interlaced_8x4_zz[i++] + off;
+@@ -3399,7 +3399,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
+ i += skip;
+ if (i > 31)
+ break;
+- if (!v->interlace)
++ if (!v->fcm)
+ idx = v->zz_4x8[i++] + off;
+ else
+ idx = ff_vc1_adv_interlaced_4x8_zz[i++] + off;