diff options
author | Rodeo <[email protected]> | 2012-01-30 20:05:13 +0000 |
---|---|---|
committer | Rodeo <[email protected]> | 2012-01-30 20:05:13 +0000 |
commit | a6543769881f5c16bd6cf8fc8955279410dc7419 (patch) | |
tree | d7817bf490dc1a8db097ae6d7af2ba4767b3d398 /contrib | |
parent | bd0a4e453ec01a9b12c7600d0c3aa62e0a797ca2 (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')
-rw-r--r-- | contrib/ffmpeg/A08-vc1-decode.patch | 40 |
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; |