Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-05-15 21:15:46 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2015-05-15 22:43:24 +0300
commit32b6d31ef3abd45186cfc69607ffe66837588d53 (patch)
treec451692a55fd53bb951fd313be15b94fc107ed96 /libavcodec/vp9.c
parent5de142d316a6f806e8a5faee4599f49cd26af11e (diff)
vp9: don't allow compound references if error_resilience is enabled.
libvpx (probably accidentally) clears the bits if error_res is set, along with keyframe/intraonly. This probably wasn't the intention (since it's local data), but it's behaviour we have to copy...
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r--libavcodec/vp9.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index bc88bf9680..9540f3d812 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -648,8 +648,9 @@ static int decode_frame_header(AVCodecContext *ctx,
s->highprecisionmvs = get_bits1(&s->gb);
s->filtermode = get_bits1(&s->gb) ? FILTER_SWITCHABLE :
get_bits(&s->gb, 2);
- s->allowcompinter = s->signbias[0] != s->signbias[1] ||
- s->signbias[0] != s->signbias[2];
+ s->allowcompinter = !s->errorres &&
+ (s->signbias[0] != s->signbias[1] ||
+ s->signbias[0] != s->signbias[2]);
if (s->allowcompinter) {
if (s->signbias[0] == s->signbias[1]) {
s->fixcompref = 2;