summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorBradley Sepos <[email protected]>2015-10-03 01:04:03 -0400
committerBradley Sepos <[email protected]>2015-10-03 13:18:38 -0400
commit7323a7dd39c99671afd87bdd1c694704d9921170 (patch)
tree7199f46642a6e161acc4b5386a07e0c277146c96 /contrib
parent70c1492609db44144a0e7f08899563df6a214f56 (diff)
contrib: Add libav patch that fixes vc1 decoder regression.
The regression produced blocky artifacts. The commit this patch references has been in Libav master for over one year but somehow hasn't made it into Libav 11.x. HandBrake 0.10.x uses Libav 10.1; Libav 10.x branch isn't affected.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ffmpeg/A07-vc1-decode.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A07-vc1-decode.patch b/contrib/ffmpeg/A07-vc1-decode.patch
new file mode 100644
index 000000000..e94993951
--- /dev/null
+++ b/contrib/ffmpeg/A07-vc1-decode.patch
@@ -0,0 +1,28 @@
+commit a97328afef0ccebfc8c3d9f9fdb8e93cbf1058ab
+Author: Michael Niedermayer <[email protected]>
+AuthorDate: Sun Sep 21 16:16:32 2014 +0100
+Commit: Tim Walker <[email protected]>
+CommitDate: Fri Sep 26 16:55:36 2014 +0200
+
+ vc1: Use logical instead of bitwise or for twomv
+
+ Signed-off-by: Michael Niedermayer <[email protected]>
+ Signed-off-by: Tim Walker <[email protected]>
+
+diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
+index 35245ab..41beaeb 100644
+--- a/libavcodec/vc1dec.c
++++ b/libavcodec/vc1dec.c
+@@ -4570,9 +4570,9 @@ static int vc1_decode_b_mb_intfr(VC1Context *v)
+ if (mb_has_coeffs)
+ cbp = 1 + get_vlc2(&v->s.gb, v->cbpcy_vlc->table, VC1_CBPCY_P_VLC_BITS, 2);
+ if (!direct) {
+- if (bmvtype == (BMV_TYPE_INTERPOLATED & twomv)) {
++ if (bmvtype == BMV_TYPE_INTERPOLATED && twomv) {
+ v->fourmvbp = get_vlc2(gb, v->fourmvbp_vlc->table, VC1_4MV_BLOCK_PATTERN_VLC_BITS, 1);
+- } else if (bmvtype == (BMV_TYPE_INTERPOLATED | twomv)) {
++ } else if (bmvtype == BMV_TYPE_INTERPOLATED || twomv) {
+ v->twomvbp = get_vlc2(gb, v->twomvbp_vlc->table, VC1_2MV_BLOCK_PATTERN_VLC_BITS, 1);
+ }
+ }