diff options
author | Bradley Sepos <[email protected]> | 2015-10-03 01:04:03 -0400 |
---|---|---|
committer | Bradley Sepos <[email protected]> | 2015-10-03 13:18:38 -0400 |
commit | 7323a7dd39c99671afd87bdd1c694704d9921170 (patch) | |
tree | 7199f46642a6e161acc4b5386a07e0c277146c96 /contrib | |
parent | 70c1492609db44144a0e7f08899563df6a214f56 (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.patch | 28 |
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 + + CC: [email protected] + 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); + } + } |