X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fffv1dec_template.c;h=0b1d176ba12a47c6b8fb7c0e29275f55db60edc3;hb=420cedd49745b284c35d97b936b71ff79b43bdf7;hp=25032feda0bdbad2cfcd4d578c6e96c5685f9601;hpb=0c126431f9b290f5651ec62f45627632d94c51ea;p=ffmpeg diff --git a/libavcodec/ffv1dec_template.c b/libavcodec/ffv1dec_template.c index 25032feda0b..0b1d176ba12 100644 --- a/libavcodec/ffv1dec_template.c +++ b/libavcodec/ffv1dec_template.c @@ -86,6 +86,19 @@ static av_always_inline int RENAME(decode_line)(FFV1Context *s, int w, run_mode = 2; } } + if (sample[1][x - 1] == sample[0][x - 1]) { + while (run_count > 1 && w-x > 1) { + sample[1][x] = sample[0][x]; + x++; + run_count--; + } + } else { + while (run_count > 1 && w-x > 1) { + sample[1][x] = RENAME(predict)(sample[1] + x, sample[0] + x); + x++; + run_count--; + } + } run_count--; if (run_count < 0) { run_mode = 0;